Web 服务已经出现很久了。首先是 SOAP,但 SOAP 仅描述消息的情况,然后是 WSDL,WSDL 并不会告诉您如何使用 Java 编写 Web 服务。在这种情况下,JAX-RPC 1.0 应运而生。经过数月使用之后,编写此规范的 Java Community Process (JCP) 人员认识到需要对其进行一些调整,调整的结果就是 JAX-RPC 1.1。该规范使用大约一年之后,JCP 人员希望构建一个更好的版本:JAX-RPC 2.0。其主要目标是与行业方向保持一致,但行业中不仅只使用 RPC Web 服务,还使用面向消息的 Web 服务。因此从名称中去掉了“RPC”,取而代之的是“WS”(当然表示的是 Web 服务)。因此 JAX-RPC 1.1 的后续版本是 JAX-WS 2.0——Java API for XML-based Web services。
哪些内容保持不变?
在列出 JAX-RPC 1.1 和 JAX-WS 2.0 的差异前,我们应该首先讨论一下二者的相同之处。
JAX-WS 仍然支持 SOAP 1.1 over HTTP 1.1,因此互操作性将不会受到影响,仍然可以在网上传递相同的消息。
JAX-WS 仍然支持 WSDL 1.1,因此您所学到的有关该规范的知识仍然有用。WSDL 2.0 规范已经接近完成,但在 JAX-WS 2.0 相关工作结束时其工作仍在进行中。
区别何在?
SOAP 1.2
JAX-RPC 和 JAX-WS 都支持 SOAP 1.1。JAX-WS 还支持 SOAP 1.2。
XML/HTTP
WSDL 1.1 规范在 HTTP 绑定中定义,这意味着利用此规范可以在不使用 SOAP 的情况下通过 HTTP 发送 XML 消息。JAX-RPC 忽略了 HTTP 绑定。而 JAX-WS 添加了对其的支持。
1.rpc
RPC的全称叫远程过程调用,在过去一般传输的数据是二进制的,数据的传输形式相对轻量和简单,传输过程相对来说也要高效一些。直到后面XML-RPC的出现,RPC的传输形式相对来说要丰富一些,数据结构的传输也可以传输较为复杂的情况。
RPC不要求可以通过web的方式进行查看。
2.web service
web service的出现,可以说是在rpc发展的基础之上。web service是运行在web上的一个服务。他实现了 不同系统不同平台,不同开发语言和开发技术实现的软件系统之间的通讯。它的数据传输形式显得更加的丰富,除了以SOAP为代表的xml传输形式,还可以是JSON、protocol buffer等传输形式。web service可以通过web的方式进行查看。web service可以是B/S或者是C/S的架构。
3.应用
web service现在移动互联网的手机和平台以及平台和平台之间的通信使用极为广泛,RPC在一些后台的接口操作(推送、同步、命令操作)和系统间通信仍然在广泛的使用。