我们仍在尝试在实现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. Redirect_URI Android REST客户端
- 8. 的Android REST客户端
- 9. WCF webservice的restlet客户端
- 10. flex webservice客户端
- 11. 最大重用:Webservice,Android客户端,Web客户端,如何?
- 12. Spring RestTemplate与Jersey Rest客户端与RestEasy客户端
- 13. 泽西REST客户端与Apache HTTP客户端4.5与改造
- 14. Webservice客户端调用webservice客户端 - java
- 15. Axis2 webservice客户端weblogic webservice客户端jar confilct
- 16. JSON RPC客户端转到
- 17. Flume RPC客户端异步?
- 18. Json RPC Python客户端
- 19. C#客户端使用Google App Engine RESTful Webservice(rpc XML)
- 20. Spring从RPC编码的Webservice客户端获取IP地址
- 21. PHP webservice文件上传与下载逻辑与Android客户端
- 22. JBoss6与REST客户端(新泽西客户端)
- 23. REST客户端JAVA
- 24. IObservable REST客户端
- 25. REST JavaScript客户端
- 26. PHP REST客户端
- 27. Parasoft REST客户端
- 28. GET REST客户端上的Android REST客户端未填充文本字段
- 29. 超时webservice客户端
- 30. SOAPUI客户端测试webService