RMI与REST服务

Far*_*arm 13 java rest rmi

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

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

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

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

你有什么选择REST或RMI?

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

sha*_*8me 7

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

  • 您也可以通过HTTP进行RMI. (4认同)
  • 如果您将软件出售给公司,这可能是一个大问题 - 他们不喜欢为RMI打开端口,但是,他们会让你通过HTTP(S)隧道传输任何东西! (2认同)

Kal*_*Kal 5

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

如果您的前端可能会从 JSF 更改为 ASP,那么您就会遇到麻烦。

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

  • 如果您的意思是使用 EJB Enterprise Java Bean,那么我不同意,如果您只需要 RMI,那么执行任何与 EJB 相关的操作将是巨大的开销。 (7认同)