在开发由同一家公司编写的Java分布式应用程序时,您会选择Web服务还是RMI?从性能、松耦合、易用性等角度来看,它们各自有什么利弊?是否有人会选择WS?您可以使用RMI构建面向服务的体系结构吗?
在开发由同一家公司编写的Java分布式应用程序时,您会选择Web服务还是RMI?从性能、松耦合、易用性等角度来看,它们各自有什么利弊?是否有人会选择WS?您可以使用RMI构建面向服务的体系结构吗?
我会选择WS。
并且...我最可能选择REST服务。
我的选择是:
标准的Java序列化 - 优点:在我看来,提供了最高的性能,实现简单(我使用Spring将本地接口公开为远程接口);缺点:序列化在不同的JVM版本之间无法工作。
二进制序列化(例如Jetty的Hessian)- 优点:与Java序列化具有相同的性能,并且可以在不同的JVM版本之间工作。
WS:仅在需要在不同平台之间进行互操作性时才使用Java + .net,否则它太重了。
RMI 是一种快速开发的传输协议,但我建议不要在生产环境中使用它。序列化兼容性问题可能会导致麻烦,您需要非常小心地协调部署。
WebServices 效率低下,是的,但可以通过增加硬件来解决。或者,使用纯粹、轻量级的 XML-over-HTTP,而不是完整的 SOAP/WSDL。