2012-03-19 109 views
1

Spring Framework提供了许多应用程序通过HTTP彼此通信的技术。Spring远程处理/ web服务技术

  • HTTP调用
  • REST风格的MVC控制器
  • JAX-WS
  • 春-WS

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

回答

1

JAX-WS是由JCP(Java社区进程)维护的标准和每个全功能的应用服务器实现它(或,至少提供了一个实施的话)。它很容易使用(你只需要在你的服务类端点上注释一些注释),而且你不需要担心实现(并且你的应用程序将会在它内部减少依赖)。

春-WS是普遍的,当JAX-WS是一个工作正在进行(或没有存在过)。它达到了与JAX-WS相同的程度,但它更麻烦一些。从我的经验来看,它失去了后者的利益。基于HTTP的服务(作为HTTP调用者和REST)声称比JAX-WS更轻量级(因为端点不需要处理SOAP信封),但不像基于WSDL的强类型。

如果我必须选择我通常决定JAX-WS如果没有对基于REST方法一个强有力的理由。我不喜欢HTTP Invoker的一个,因为这是安全问题(即使在谈论内部网时),但我认为这是一种个人选择。

1

如果要整合自己的应用程序,你必须在应用程序客户端和导线(e.g.corporate内联网),然后使用HTTP调用的严格控制 - 这是真正透明的应用程序,易于安装。 Http invoker通过Internet与非可靠的客户端身份验证(无PKI身份验证)可能不是好主意,有security problems与调用程序中使用的Java序列化。

如果调用者不适合你很好,这是你自己的应用程序 - 再考虑REST。

我认为基于WSDL服务是良好的外部整合 - 你可以用严格的规则定义的协议。