论文部分内容阅读
[摘要]一般意义上的SOAP是一种用XML封装信息的机制,因此它可以用来实现消息系统。从SOAP、WSDL、UDDI三个方面论述Web服务的核心技术。
[关键词]Web服务 SOAP WSDL UDDI
中图分类号:TP3文献标识码:A文章编号:1671-7597 (2008) 0110041-01
一、SOAP调用Web服务的工具
(一)SOAP的产生
单独使用HTTP的问题是它主要是一个服务器到客户端传输文件的机制。为了创建更好的Web服务,你需要扩展HTTP。SOAP更好满足了这个要求:它加入了一套HTTP标题和一个丰富XML,能够在Internet实现复杂的应用和应用的通讯。
(二)SOAP概述
SOAP是Web服务交换XML消息的标准协议。一般意义上的SOAP是一种用XML封装信息的机制,因此它可以用来实现消息系统。对于Web服务来说,SOAP主要用来通过XML文档传递方法参数,进行Web调用。SOAP具有和远程过程调用(RPC)协议相同的目的,即把本地计算机上的信息发送到远程计算机上,远程计算机执行远程方法,然后返回结果。
1.SOAP由以下四部分组成:SOAP信封:它构造定义了一个整体的SOAP消息表示框架,可用于表示消息中的内容是什么,是谁发送的,谁应当接受并处理它,以及这些处理操作是可选的还是必须的等。
2.SOAP编码规则:它构造定义了一个整体的SOAP消息表示框架,可用于表示消息中的内容是什么,是谁发送的,谁应当接受并处理它,以及这些处理操作是可选的还是必须的等。
3.SOAP PRC表示:定义了一个用于表示远端过程调用和响应的约定,例如如何使用HTTP或SMTP协议与SOAP绑定,如何传输过程调用,在具体传输协议的哪个部分传输过程响应,如我们可以在HTTP的响应的时候传递过程响应。
4.SOAP绑定:它定义了一个使用底层传输协议来完成在结点间交换SOAP信封的约定。
(三)SOAP消息
SOAP消息包括以下三部分:Envelope:Envelope元素是SOAP消息的最上层元素。Header:可选元素,它提供了一种扩展机制,除Body元素传输的消息语义外,允许任何类型的信息存在,WS Security的元素便是放在SOAP Header中。Body: Body元素用于包含SOAP请求或应答。
(四)SOAP工作机理
SOAP简单地理解,就是这样的一个开放协议SOAP=RPC+HTTP+XML:采用HTTP作为底层通讯协议,RPC作为一致性的调用途径,XML作为数据传送的格式,允许服务提供者和服务客户经过防火墙在Internet上进行通讯交互。RPC的描述可能不大准确,因为SOAP一开始构思就是要实现平台与环境的无关性和独立性,每一个通过网络的远程调用都可以通过SOAP封装起来,包括DCE(Distributed Computing Environment),RPC CALLS,COM/DCOM CALLS,CORBA CALLS,JAVA CALLS等。
SOAP使用HTTP传送XML,尽管HTTP不是有效率的通讯协议,而且XML还需要额外的文件解析(parse),两者使得交易的速度大大低于其它方案。但是XML是一个开放、健全、有语义的讯息机制,而HTTP是一个广泛又能避免许多关
于防火墙的问题,从而使SOAP得到了广泛的应用。
二、WSDLWeb服务的接口
(一)概述
WSDL是描述Web服务的语法规范,它使用XML语法规定了用户调用Web服务所应了解的一切,包括位置、参数信息和支持的协议。客户端的Web服务代理能依据WSDL准确地产生格式适当的消息,并能无误地理解响应。简单地说,可以把WSDL理解为Web服务的接口定义,它是用户调用Web服务所需了解的一切。
(二)组成
一个WSDL文档是包含在一对标记中的一段XML文档。它可以包含一个types元素,多个message,portType, binding和service元素。元素后通常紧跟着以下属性声明:name:用来说明服务的目的。targetNamespace:关于服务信息的逻辑名称空间定义。xmlnsaoap和xmlns:xsd:指定特定的SOAP的信息和数据类型的标准命名空间的定义。xmlns:默认的WSDL文档的命名空间。
元素中通常包含以下元素:types元素:用来定义服务所使用的任何复杂数据类型。message元素:通信消息的数据结构的抽象类型化定义。使用types所定义的类型来定义整个消息的数据结构。PortType元素:对于某个访问入口点类型所支持的操作的抽象集合,其中的operation元素定义了一个特定的输入/输出消息序列。Binding元素:特定端口类型的具体协议和数据格式规范的绑定。Service元素:定义了一个端口集合,描述服务位于哪里。
三、UDDIWeb服务的注册表
(一)概述
统一描述、发现和集成(Universal Description,Discovery,and IntegrationUDDI)相当于Web Service的一个公共注册表,通俗点说它就是电子商务应用与服务的“网络黄页”。它旨在以一种结构化的方式来保存有关各公司及其服务的信息。通过UDDI,人们可以发布和发现有关某个公司及其Web服务的信息,然后就可以根据这些发布在UDDI的信息,通过统一的调用方法来享受这些服务了。UDDI技术的功能包括两方面:注册和查询。
(二)商业注册中心
UDDI计划的核心是UDDI商业注册,它使用一个XML文档来描述企业及其提供的Web服务。UDDI注册所提供的信息包括三个部分:
“白页”包括了地址、联系方法和己知的企业标识;“黄页”包括了基于标准分类法的行业类别;“绿页”则包括了关于该企业所提供的Web服务的技术信息,其形式可能是一些指向文件或URL的指针,而这些文件或指针是为发现机制服务的。
(三)UDDI信息模型
UDDI共定义了5种主要数据类型:商业实体信息、商业服务信息、绑定模板信息、技术规范信息和发布者声明信息。
(四)UDDI程序员API
其实UDDI本身就是一个Web服务,它的调用接口包含查询API和发布API。这些API实际上是用WSDL来进行描述的,用户只需根据这些描述,向UDDI发送API描述中相应的参数和命令,就可以享受这些服务(如查询、插入、删除等)。
(五)UDDI工作原理
以下是通过UDDI来发现服务并调用服务的过程。通过这些过程描述,我们能更清楚地了解UDDI的工作原理。
基于Web服务在bindingTemplate的tModel中提供的调用规范的相关信息,程序员可以按照该Web服务的调用规范编写程序。在运行时,程序可以按需要使用己保存下来的bindingTemplate的信息来调用Web服务。
[关键词]Web服务 SOAP WSDL UDDI
中图分类号:TP3文献标识码:A文章编号:1671-7597 (2008) 0110041-01
一、SOAP调用Web服务的工具
(一)SOAP的产生
单独使用HTTP的问题是它主要是一个服务器到客户端传输文件的机制。为了创建更好的Web服务,你需要扩展HTTP。SOAP更好满足了这个要求:它加入了一套HTTP标题和一个丰富XML,能够在Internet实现复杂的应用和应用的通讯。
(二)SOAP概述
SOAP是Web服务交换XML消息的标准协议。一般意义上的SOAP是一种用XML封装信息的机制,因此它可以用来实现消息系统。对于Web服务来说,SOAP主要用来通过XML文档传递方法参数,进行Web调用。SOAP具有和远程过程调用(RPC)协议相同的目的,即把本地计算机上的信息发送到远程计算机上,远程计算机执行远程方法,然后返回结果。
1.SOAP由以下四部分组成:SOAP信封:它构造定义了一个整体的SOAP消息表示框架,可用于表示消息中的内容是什么,是谁发送的,谁应当接受并处理它,以及这些处理操作是可选的还是必须的等。
2.SOAP编码规则:它构造定义了一个整体的SOAP消息表示框架,可用于表示消息中的内容是什么,是谁发送的,谁应当接受并处理它,以及这些处理操作是可选的还是必须的等。
3.SOAP PRC表示:定义了一个用于表示远端过程调用和响应的约定,例如如何使用HTTP或SMTP协议与SOAP绑定,如何传输过程调用,在具体传输协议的哪个部分传输过程响应,如我们可以在HTTP的响应的时候传递过程响应。
4.SOAP绑定:它定义了一个使用底层传输协议来完成在结点间交换SOAP信封的约定。
(三)SOAP消息
SOAP消息包括以下三部分:Envelope:Envelope元素是SOAP消息的最上层元素。Header:可选元素,它提供了一种扩展机制,除Body元素传输的消息语义外,允许任何类型的信息存在,WS Security的元素便是放在SOAP Header中。Body: Body元素用于包含SOAP请求或应答。
(四)SOAP工作机理
SOAP简单地理解,就是这样的一个开放协议SOAP=RPC+HTTP+XML:采用HTTP作为底层通讯协议,RPC作为一致性的调用途径,XML作为数据传送的格式,允许服务提供者和服务客户经过防火墙在Internet上进行通讯交互。RPC的描述可能不大准确,因为SOAP一开始构思就是要实现平台与环境的无关性和独立性,每一个通过网络的远程调用都可以通过SOAP封装起来,包括DCE(Distributed Computing Environment),RPC CALLS,COM/DCOM CALLS,CORBA CALLS,JAVA CALLS等。
SOAP使用HTTP传送XML,尽管HTTP不是有效率的通讯协议,而且XML还需要额外的文件解析(parse),两者使得交易的速度大大低于其它方案。但是XML是一个开放、健全、有语义的讯息机制,而HTTP是一个广泛又能避免许多关
于防火墙的问题,从而使SOAP得到了广泛的应用。
二、WSDLWeb服务的接口
(一)概述
WSDL是描述Web服务的语法规范,它使用XML语法规定了用户调用Web服务所应了解的一切,包括位置、参数信息和支持的协议。客户端的Web服务代理能依据WSDL准确地产生格式适当的消息,并能无误地理解响应。简单地说,可以把WSDL理解为Web服务的接口定义,它是用户调用Web服务所需了解的一切。
(二)组成
一个WSDL文档是包含在一对
三、UDDIWeb服务的注册表
(一)概述
统一描述、发现和集成(Universal Description,Discovery,and IntegrationUDDI)相当于Web Service的一个公共注册表,通俗点说它就是电子商务应用与服务的“网络黄页”。它旨在以一种结构化的方式来保存有关各公司及其服务的信息。通过UDDI,人们可以发布和发现有关某个公司及其Web服务的信息,然后就可以根据这些发布在UDDI的信息,通过统一的调用方法来享受这些服务了。UDDI技术的功能包括两方面:注册和查询。
(二)商业注册中心
UDDI计划的核心是UDDI商业注册,它使用一个XML文档来描述企业及其提供的Web服务。UDDI注册所提供的信息包括三个部分:
“白页”包括了地址、联系方法和己知的企业标识;“黄页”包括了基于标准分类法的行业类别;“绿页”则包括了关于该企业所提供的Web服务的技术信息,其形式可能是一些指向文件或URL的指针,而这些文件或指针是为发现机制服务的。
(三)UDDI信息模型
UDDI共定义了5种主要数据类型:商业实体信息、商业服务信息、绑定模板信息、技术规范信息和发布者声明信息。
(四)UDDI程序员API
其实UDDI本身就是一个Web服务,它的调用接口包含查询API和发布API。这些API实际上是用WSDL来进行描述的,用户只需根据这些描述,向UDDI发送API描述中相应的参数和命令,就可以享受这些服务(如查询、插入、删除等)。
(五)UDDI工作原理
以下是通过UDDI来发现服务并调用服务的过程。通过这些过程描述,我们能更清楚地了解UDDI的工作原理。
基于Web服务在bindingTemplate的tModel中提供的调用规范的相关信息,程序员可以按照该Web服务的调用规范编写程序。在运行时,程序可以按需要使用己保存下来的bindingTemplate的信息来调用Web服务。