RMI与REST服务

时间:2011-07-15 03:32:12

标签: java rest rmi

我们正在为使用JSF开发的门户/ Web客户端开发服务。我的建议是将服务公开为REST,但另一个团队成员表示要使用RMI实现,因为从开发和测试的角度来看,它更容易处理java对象。

我的论点是开发和测试工作几乎相同,但我们将获得REST Web服务的所有优点。

仅供参考:我们已经安装了REST,因此框架支持不会产生额外费用。此服务适用于使用REST API的智能手机客户端。

最后我们的经理决定采用RMI方式,但我仍然认为REST会更聪明。

您选择REST或RMI是什么?

注意:我的团队成员或经理只是想在这里学习。

3 个答案:

答案 0 :(得分:6)

如果客户端和服务器之间存在防火墙,则可能会阻止RMI流量。 HTTP流量在大多数防火墙上都是开放的,REST应该没有问题。

答案 1 :(得分:4)

反对RMI和REST / SOAP等的最大争议是客户端不必是Java。

如果您的前端可以改变从JSF到ASP的道路,那么您将遇到一些麻烦。

除此之外,RMI还有很长的路要走。一个更好的方法是EJB(它是RMI之上的一个层)具有额外的优势 - 许多供应商已经实现了EJB规范,您可以获得对象池,事务管理等的优势。

答案 2 :(得分:2)

客户端是Java,使用RMI。但那是简单的想法。因为它只是一种点对点协议。

REST作为范例很有意思,如果你有例如许多读取并喜欢使用HTTP技术进行缓存等。接下来你可以轻松实现“分页游标”,这样你就可以将数据作为一个小页面发送,并添加如何检索下一页的信息。

你的问题基本上就像是技术问题一样。哪种方法不对。你不应该关心技术而是关于系统架构。整个软件系统,其功能,性能,扩展,配置和维护完全不同,具体取决于您对RMI或REST的使用。