【问题标题】:Spring remoting/webservice technologiesSpring 远程处理/Web 服务技术
【发布时间】:2012-03-19 17:15:06
【问题描述】:

Spring Framework 为应用程序通过 HTTP 相互通信提供了许多技术。

  • HTTP 调用程序
  • RESTful MVC 控制器
  • JAX-WS
  • 弹簧-WS

它们之间有什么区别?什么标准决定了选择哪一个?

【问题讨论】:

    标签: web-services spring remoting


    【解决方案1】:

    JAX-WS 是由 JCP(Java 社区进程)维护的标准,每个功能齐全的应用程序服务器都实现了它(或至少提供了一个实现)。它易于使用(您只需要在服务类端点中添加一些注释)并且您无需担心实现(并且您的应用程序将在其中包含更少的依赖项)。

    当 JAX-WS 处于开发阶段(或从未存在过)时,Spring-WS 很普遍。它实现了与 JAX-WS 相同的功能,但更麻烦一些。根据我的经验,后者正在失去高手。

    基于 HTTP 的服务(如 HTTP 调用程序和 REST)声称比 JAX-WS 更轻量级(因为端点不需要处理 SOAP 信封),但不像基于 WSDL 的服务那样强类型。

    当我必须选择时,如果没有充分理由采用基于 REST 的方法,我通常会选择 JAX-WS。我一点也不喜欢 HTTP Invoker,因为它是安全问题(即使在谈论 Intranet 时),但我认为这是一种个人选择。

    【讨论】:

      【解决方案2】:

      如果您正在集成自己的应用程序并且您对应用程序客户端和线路(例如公司内部网)有严格的控制,那么请使用 HTTP Invoker - 它对应用程序非常透明且易于设置。具有不可靠客户端身份验证(没有 PKI 身份验证)的 Internet 上的 Http 调用程序可能不是一个好主意,调用程序中使用了带有 java 序列化的 security problems

      如果调用程序不适合您,而且它是您自己的应用程序,那么请考虑 REST。

      我认为基于 WSDL 的服务有利于外部集成 - 您可以使用严格的规则定义协议。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-01-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-28
        • 2023-03-26
        相关资源
        最近更新 更多