Web Service 编程详解

一,Web Service的原理及概念

   Web Service组件是一种不同与其他组件(如EJB)的根本之处在于Web Service采用了一种标准传输协议SOAP. 开发服务组件的目的就是要让客户端能够调用其服务. 所谓Web Service就是定义了一套标准的调用过程:

   * 服务器端首先用一套标准的方法向外界描述它所提供的服务的内容,这属于WSDL;

   *客户端需要以一种标准的协议来调用此服务,这属于SOAP;

   *服务提供者将服务内容放在一个公共的网址上让大家来查询,这属于UDDI;

1,WSDL(Web Service Description Language),是一种基于XML格式的关于Web服务的描述语言,其主要目的在于Web Service的 提供者将自己的Web服务的所有相关内容,如所提供的服务的传输方式,服务方法接口,接口参数,服务路径等,生成相应的完全文档发布给使用者。使用者可以通过这个WSDL文档,创建相应的SOAP请求(request)消息,通过HTTP传递给Web Service提供者;Web服务在完成服务请求后,将SOAP返回(response)消息传回请求者,服务请求者再根据WSDL文档将SOAP返回消息解析成自己能够理解的内容。

WSDL的目的就是要告诉外界自己能够提供什么样的服务。

   WSDL包含三个部分:

    服务内容:包括接口名称(portType),接口操作(operation),输入和输出消息(input message output message),输入和输出变量(types).

    绑定类型,传输协议:包括绑定名称(wsdl:binding)指向响应的接口名称,绑定方式(soap:binding,通过Transport定义传输协议,通过Stly 定义绑定类型),每个接口操作的每个输入和输出消息的绑定类型(input message output message).

    服务地址:包括wsdl:port指向绑定,address指定服务位置。

2,SOAP (Simple Object Application Propotol) web service 的标准通信协议.是一种标准化的传输消息的XML消息格式,以便大家都用同一种格式来讲话,大家可以相互理解.SOAP请求(request)消息将客户端的服务请求消息发给服务器,如需要调用什么样的服务接口,以及接口参数值等.SOAP答复(response)消息是从服务器返回给客户端的消息,如服务接口实现后的结果返回值或者调用服务时的错误信息等.定义WSDL是最重要的,一旦WSDL定义好,再依据WSDL的输入变量和输出变量的结构就可以知道SOAP的请求消息和响应的格式了.

SOA 本质上是一种标准化的消息协议.所谓消息协议,就是客户端送给服务器希望调用的类和方法的一种消息格式(也包括服务器端返回的消息格式).只有大家都遵守一套消息格式的标准,相互之间才能明白对方要干什么.

3,UDDI(Universal Description,Discovery and Integeration) 是一种创建注册表服务的规范,以便大家将自己的Web Service进行注册发布供使用者查找。 然而当服务提供者想将自己的Web Service向全世界公布,以便外部找到其服务时,那么提供者可以将自己的Web Service 注册到相应的UDDI商用网站。因为WSDI文件中已经给定了Web Service的地址URI,外部可以直接通过WSDL提供的URI进行相应的Web Service 调用。所以UDDI并不是一个必需的Web Service组件,服务方完全可以不进行UDDI的注册。

猜你喜欢

转载自liuyun073.iteye.com/blog/1133770