Web Services

W3C

什么是Web Services?

  • Web Services 是应用程序组件
  • Web Services 使用开放协议进行通信
  • Web Services 是独立的(self-contained)并可自我描述
  • Web Services 可通过使用UDDI来发现
  • Web Services 可被其他应用程序使用
  • XML 是 Web Services 的基础

RPC

远程过程调用英语Remote Procedure Call,缩写为 RPC)是一个计算机通信协议。该协议允许运行于一台计算机的程序调用另一台计算机的子程序,而程序员无需额外地为这个交互作用编程。如果涉及的软件采用面向对象编程,那么远程过程调用亦可称作远程调用远程方法调用,例:Java RMI

历史起源

有关RPC的想法至少可以追溯到1976年以“信使报”(Courier)的名义使用。RPC首次在UNIX平台上普及的执行工具程序是SUN公司的RPC(现在叫ONC RPC)。它被用作SUN的NFC的主要部件。ONC RPC今天仍在服务器上被广泛使用。 另一个早期UNIX平台的工具是“阿波罗”计算机网络计算系统(NCS),它很快就用做OSF的分布计算环境(DCE)中的DCE/RPC的基础,并补充了DCOM

消息传递:

远程过程调用是一个分布式计算客户端-服务器(Client/Server)的例子,它简单而又广受欢迎。远程过程调用总是由客户端服务器发出一个执行若干过程请求,并用客户端提供的参数。执行结果将返回给客户端。由于存在各式各样的变体和细节差异,对应地派生了各式远程过程调用协议,而且它们并不互相兼容。

标准化的沟通机制:

为了允许不同的客户端均能访问服务器,许多标准化的 RPC 系统应运而生了。其中大部分采用接口描述语言(Interface Description Language,IDL),方便跨平台的远程过程调用。

XML-RPC

扫描二维码关注公众号,回复: 484119 查看本文章

XML-RPC是一個远程过程调用遠端程序呼叫)(remote procedure call,RPC)的分布式计算協議,通过XML将调用函数封装,並使用HTTP协议作为传送机制。

历史

XML-RPC發表於1998年,由UserLand SoftwareUserLand Software)的Dave WinerMicrosoft共同發表[2]。後來在新的功能不斷被引入下,這個標準慢慢演變成為今日的SOAP協定。

XML-RPC協定是已登記的專利項目,由Phillip Merrick、Stewart Allen及Joseph Lapp共同持有,於1998年3月提出申請,指其將用於一個構想中的應用程式,並於2006年4月獲得接納。現時這個專利由位於美國維珍尼亞州費爾法克斯webMethods使用[3]

JAX-RPC

定义

通过使用JAX-RPC(Java API for XML-based RPC),已有的Java类或Java应用都能够被重新包装,并以Web Services的形式发布。JAX-RPC提供了将RPC参数(in/out)编码和解码的API,使开发人员可以方便地使用SOAP消息来完成RPC调用。同样,对于那些使用EJB(Enterprise JavaBeans)的商业应用而言,同样可以使用JAX-RPC来包装成Web服务,而这个Web Service的WSDL界面是与原先的EJB的方法是对应一致的。JAX-RPC为用户包装了Web服务的部署和实现,对Web服务的开发人员而言,SOAP/WSDL变得透明,这有利于加速Web服务的开发周期。

发展

JAX-RPC(基于 可扩展标记语言XML的 远程过程调用的Java 应用程序接口)是Java Web服务开发包(WSDP)的应用程序接口(API),WSDP能使Java开发者在Web服务或其他的Web应用程序中包括远程过程调用(RPC)。JAX-RPC致力于要使应用程序或Web服务调用其他应用程序或Web服务变得更加容易。
JAX-RPC为基于SOAP( 简单对象访问协议)的应用程序的开发提供了一个编程模型。JAX-RPC编程模型通过抽象SOAP协议层的运行机制与提供Java和Web服务描述语言(WSDL)间的映射服务来简化开发。

JAX-RPCJava API for XML-based RPC简称JAX-RPC)允许Java应用程序可以通过已知的描述信息调用一个基于Java的Web服务,描述信息与Web服务的WSDL(Web服务描述语言)描述相一致. JAX-RPC可以被看作是Java RMI在Web服务协议上的实现。JAX-RPC 2.0被更名为JAX-WS 2.0 (Java API for XML Web Services).

JAX-RPC的工作方式如下:

  1. Java程序通过调用 (表示远程服务的本地对象)调用方法
  2. 桩对象调用JAX-RPC运行时刻系统
  3. 运行时刻系统将方法调用转换为SOAP消息
  4. 运行时刻系统将消息作为HTTP请求发送

这种方法的好处是允许在服务端使用ServletEJB容器实现Web服务。这样Servlet或EJB的应用程序可以通过Web服务发布出来。

参考文档:

http://baike.baidu.com/link?url=xvmIhERE5joaXBFyaummllnACtRJfBl5cij72IZMNCMUUvkAPtQixhdwGw_VdJRO2KoWMHwiNuQFV8w7l_3jc_

http://zh.wikipedia.org/zh-cn/RPC

http://zh.wikipedia.org/wiki/XML-RPC

http://zh.wikipedia.org/wiki/JAX-RPC

http://www.cnblogs.com/dkblog/archive/2010/12/20/1980677.html

http://www.ibm.com/developerworks/cn/webservices/ws-tip-jaxwsrpc.html

http://baike.baidu.com/link?url=oH-pNOnLhQnsfY8s8RvqNF5b2xW8-UlxwIKIp1IFmAXamHz8LYbHh0s0dFzVxOSwo47PslBc7HmnGcJUOr9QHK

http://zh.wikipedia.org/zh/Web%E6%9C%8D%E5%8A%A1

http://zh.wikipedia.org/wiki/%E6%9C%8D%E5%8B%99%E5%B0%8E%E5%90%91%E6%9E%B6%E6%A7%8B

http://blog.sina.com.cn/s/blog_4cc16fc50100b29f.html

http://www.ibm.com/developerworks/cn/webservices/ws-jaxrpc/part1/

http://blog.csdn.net/cendy_69576750/article/details/7986033

猜你喜欢

转载自cao-hengqiang.iteye.com/blog/2207934