我们仍在尝试在实现REST web服务与使用RPC之间做出决定。 Googles eclipse插件使创建RPC服务变得非常容易,这是RPC方式的主要吸引力。 但是,REST服务似乎更容易修改,恕我直言,并且还会允许未来的iOS客户端进行很少或不需要返工的连接。 我可能会担心的一个问题,也许这是RPC的问题,或者实际上任何客户端 - 服务器模型都是如何修改现有服务并允许旧客户端继续工作,同时允许新客户端使用新功能。 我的意思是,您可以指向我在修改Web服务时应该注意的任何事情,以免破坏现有客户端或强制他们升级。你有任何链接,将涵盖这一点,将不胜感激REST webservice与Android客户端vs RPC
0
A
回答
0
这里几个想法。首先,正如我在类似的问题中指出的那样,比较REST和RPC并没有什么意义。 REST是一组可以强加在接口上的约束来实现一组特定的目标,并且RPC接口实际上可以是RESTful。有关更多信息,请参阅this博客文章。
对于第二部分的问题,你是正确的,在一个自定义的RPC接口中,客户端必须知道它调用的是什么方法,这意味着API会破坏对所公开的过程的更改,从而推出一个新的该服务的版本更具挑战性(而在RESTful接口中,法律行为通常全部由服务器控制)。我链接的博客文章也对此进行了详细介绍。
并行推出多个服务版本的一种方法是在生产多租户中滚动服务版本,并根据任意客户端元数据将请求分派到正确的服务版本。例如,如果您的服务通过一个Servlet暴露的RPC网络API,你可以:
- 引导在Tomcat中并排的RPC服务端与Class Loader分离的多个版本。
- 让客户端通过一些上下文信息(例如查询字符串)来传递它期望的RPC服务版本。
- 创建一个Servlet Mapping,根据参数路由到您的服务的正确版本。
在大多数客户机/服务器方案的客户端的多个版本将在野外随时存在,因此无需服务器控制法律行动最好的解决方案是,同时旧版本的服务器上并行运行多个版本客户端已被弃用。
相关问题
- 1. xmlrpc vs json/rest on java谷歌appengine与android客户端
- 2. 多客户端RPC
- 3. Wakanda RPC客户端
- 4. Rest客户端Android与亚马逊EC2
- 5. XML-RPC vs REST
- 6. GWT客户端端rest API
- 7. WCF webservice的restlet客户端
- 8. flex webservice客户端
- 9. 泽西REST客户端与Apache HTTP客户端4.5与改造
- 10. Axis2 webservice客户端weblogic webservice客户端jar confilct
- 11. Json RPC Python客户端
- 12. JSON RPC客户端转到
- 13. C#客户端使用Google App Engine RESTful Webservice(rpc XML)
- 14. Spring从RPC编码的Webservice客户端获取IP地址
- 15. PHP webservice文件上传与下载逻辑与Android客户端
- 16. JBoss6与REST客户端(新泽西客户端)
- 17. Parasoft REST客户端
- 18. REST客户端JAVA
- 19. IObservable REST客户端
- 20. 超时webservice客户端
- 21. Java休息webservice客户端
- 22. SOAPUI客户端测试webService
- 23. webservice客户端的配置
- 24. Android客户端 - 服务器体系结构:GCM与webservice
- 25. Android中的REST客户端吞吐量
- 26. android rest客户端,SDK问题
- 27. REST客户端与Wildfly10问题
- 28. Android Web服务客户端KSOAP vs WSDL2Java
- 29. Webservice客户端创建方法
- 30. Webservice无法调用客户端