我正在开发一个服务器-客户端应用程序。这是一项应该被成千上万的用户使用的服务,因此它应该可以很好地扩展。服务器端是在 Spring + JPA(Hibernate) 中完成的,它提供了大约 80 个 API 方法。将有多个客户端——GWT webapp、移动设备客户端(iOS、Android、Windows)+一个简单的桌面客户端(Eclipse RCP/待定)。
我正在考虑连接到服务器端的各种方法。我的想法是(也许还有其他更好的方法):
- 使用 SOAP Webservices 向所有客户端公开服务器 API
- SOAP WS 被认为很慢,我不知道它可以处理所有的通信
- Android 不正式支持 SOAP WS(但有一些 3rd 方库)
- 使用 RESTfull WS 处理通信
- 性能优于 SOAP
- 所有移动设备上的官方支持
- 可能难以从非 Web 桌面客户端访问 RESTfull WS
- 将 REST WS 用于移动设备,将 GWT 请求工厂用于 webapp
- Request Factory 是与 GWT 客户端通信的推荐方式(至少它是在 2009 Google I/O 上)。我想它应该比 Web 服务执行得更好?
哪种解决方案(上面列出或没有列出)性能最好并且对开发人员来说最有效率?
如果您从事过类似的项目,我很想知道您的意见:)