我正在用 java 企业和 glassfish 构建一个应用程序。客户端和服务器之间的信息通常是少量数据,但有时客户端需要获取更大的资源(通常为 1-20 MB)。我还在规划系统的架构,我需要一些关于如何将服务器上的资源暴露给多个客户端的建议。
最初我只打算在 javaws 和 glassfish 提供的 ACC 中运行一个桌面客户端应用程序。我将远程接口放在一个单独的 jar 中,并计划通过调用通过这些接口公开的 EJB 方法来完成所有客户端服务器接口。对于 java 桌面客户端来说,这一切都很好。对于 android 客户端来说,它甚至应该很容易。但我认为这对 ios 来说不会那么容易。
有什么方法可以从在 iphone 或 ipad 中运行的 Objective-c 调用我的 EJB?我当然希望如此。
我预计该解决方案是一个 RESTful Web 服务。据我了解,这是一种通过以通用 XML 或 JSON 形式传递数据来松散耦合客户端和服务器应用程序的方法。
抱歉,如果我遗漏了一些非常明显的东西,但似乎从这里有两条路线:
保留我的 EJB 业务接口并为通用客户端(iOS 和以后可能出现的其他任何东西)实现一个重复的 restful 接口。
为所有客户端创建一个宁静的界面。
2 号似乎是一个更简洁的设计,但这意味着我必须放弃已经完成的工作并学习休息。有更多经验的人可以提供一些建议吗?我会非常感激。