基于实际用例的JAX-RPC与JAX-WS和JAX-RS Web服务之间的区别

时间:2012-04-25 07:41:17

标签: web-services java-ee

我知道网上有很多文件,主要描述技术差异。

但是我很想知道你更喜欢某种特定类型而不是其他原因的常见用例是什么?

这些首选项是因为集成模式/产品支持特定类型吗?

3 个答案:

答案 0 :(得分:11)

谢谢你的回答。但实际用例差异何时使用什么。 JAX-WS和JAX-RS都有标准实现。我想出了以下不同之处:

RESTful服务(主要是网络集成,手机应用)

  • 通过REST轻松实现Web集成。广泛用于AJAX调用。
  • 不像SOAP服务那么冗长,因此需要更少的带宽,因此可以很好地用于移动应用程序。
  • Web服务完全是无状态的,因此只适用于无状态服务。

JAX-WS和JAX-RPC是基于SOAP的服务。 (企业网络服务)

JAX-WS Java EE更高版本支持此版本,标准仍在不断发展。   - 基于SOAP的服务不适用于移动应用程序通信,因为与休息相比,有效负载较重。   - 更适合需要互操作性,交易,消息传递和可靠性的企业Web服务。

答案 1 :(得分:8)

JAX-RPC忘了这个。它是Java Web Services的旧的过时标准

基于SOAP的基于Web服务的

JAX-WS新标准(也作为参考实现提供)

REST

JAX-RS堆栈 - 完整的网络服务

答案 2 :(得分:1)

我想在@Arjan Tijms的答案中添加点数

JAX-WS使用Java 5.0,J2EE5.0的异步功能 JAX-RPC主要使用J2EE 1.4中的功能,并且在J2EE 5.0中也受支持。

JAX-RPC有自己的数据映射模型,它涵盖了许多未涵盖的映射到javax.xml.soap.SOAPElement。

JAX-WS的数据映射模型是JAXB,它承诺所有XML模式的映射,它具有许多优点,例如可以与XSD一起使用并使用没有XSD的注释,它对于大型复杂的XML非常有用,也很少有限制。

根据Web服务规范存在一些差异,因为规范在JAX-RPC之后已经改变和改进,因此Jax-WS获得了更多功能。

有一点很常见的是,在将它们与J2EE 5.0,JavaEE 6.x一起使用时,两者都令人困惑。 对于新的实施和重新设计,Jax-RS或Jersey更好。或者您可以继续使用JAX-RPC或JAX-WS。

JavaEE7.0承诺为RESTful Web服务提供新的轻量级,开发人员和测试人员友好的方法。

用于XML绑定的Java体系结构(JAXB)是一种XML到Java的绑定技术,它通过在模式和Java对象之间以及XML实例文档和Java对象实例之间实现转换来简化Web服务的开发