代码之家  ›  专栏  ›  技术社区  ›  cretzel

在纯Java环境中,Web服务和RMI的优缺点是什么?

  •  11
  • cretzel  · 技术社区  · 18 年前

    5 回复  |  直到 18 年前
        1
  •  9
  •   Thorsten79    18 年前

    您是否只想将应用程序的一部分(请注意单数)分散到多个服务器上?然后使用RMI,您就不必离开Java世界,就可以让所有东西紧密耦合在一起工作。

        2
  •  6
  •   Vilmantas Baranauskas    18 年前

    我会选择WS。

    • WS/RMI不太可能成为您的瓶颈。
    • 如果客户端/服务器上的类版本不同步,RMI可能会出现问题。

    和我很可能会选择休息服务。

        3
  •  2
  •   davetron5000    18 年前

    如果您不需要它(与非Java的互操作),而且您可能不需要,那么RMI将会更好;更少的代码,更少的配置,更少的带宽开销。

    如果你害怕需要它,可以选择使用EJB3;它使用RMI,非常容易设置和部署,但也允许您在需要时轻松地将调用转换为Web服务。

    无论你做什么,都要做 不 创造你自己的东西;坚持一个标准。

        4
  •  1
  •   Timour    18 年前

    我的选择是:

    标准java序列化-优点:imho提供了最高的性能,易于实现(我使用Spring将本地接口公开为远程接口);缺点:序列化在不同的jvm版本之间不起作用

    二进制序列化(例如来自jetty的hessian)-优点:与java序列化的性能相同,可以在不同的jvm版本之间工作

        5
  •  1
  •   skaffman    18 年前

    RMI是一种非常快速开发的传输工具,但我建议不要在生产环境中使用它。序列化兼容性问题会让事情变得棘手,您必须非常小心地协调部署。

    是的,Web服务是低效的,但只是通过它的硬件。或者,在HTTP上使用简单、轻量级的XML,而不是全脂SOAP/WSDL。