五、简单对象访问协议SOAP
SOAP是一种基于XML的不依赖传输协议的表示层协议,用来在应用程序之间方便地以对象的形式交换数据。在SOAP的下层,可以是HTTP/HTTP,也可以是SMTP/POP3,还可以是为一些应用而专门设计的特殊的通信协议。
SOAP以XML形式提供了一个简单、轻量的用于在分散或分布环境中交换结构化和类型信息的机制。SOAP本身并没有定义任何应用程序语义,如编程模型或特定语义的实现;实际上,它通过提供一个有标准组件的包模型和在模块中进行数据编码的机制,定义了一个简单的表示应用程序语义的机制,这使SOAP能够用于从消息传递到RPC的各种系统。
SOAP包括三个部分:
1.SOAP封装结构:
定义了一个整体框架,以表示消息中包含什么内容,谁来处理这些内容以及这些内容是可选的或是必需的。
2.SOAP编码规则:
定义了用以交换应用程序定义的数据类型的实例的一系列机制。
3.SOAP RPC表示:
定义了一个用来表示远程过程调用和应答的协定。
在SOAP封装、SOAP编码规则和SOAP RPC协定之外,这个规范还定义了两个协议的绑定,描述了在有或没有HTTP扩展框架的情况下,SOAP消息如何包含在HTTP消息中被传送。
六、统一描述、发现和集成协议UDDI
UDDI是一套基于Web的、分布式的、为Web Service提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的Web Service注册,以使别的企业能够发现的访问协议的实现标准。
UDDI的核心组件是UDDI商业注册,它使用一个XML文档来描述企业及其提供的Web Service。从概念上来说,UDDI商业注册所提供的信息包含三个部分:
1.白页(White Page):
包括了地址、联系方法和已知的企业标识。
2.黄页(Yellow page):
包括了基于标准分类法的行业类别。
3.绿页(Green Page):
包括了关于该企业所提供的Web Service的技术信息,其形式可能是一些指向文件或URL的指针,而这些文件或URL是为服务发现机制服务的。
有的UDDI商业注册信息都存储在UDDI商业注册中心。通过使用UDDI的发现服务,企业可以单独注册那些希望被别的企业发现的自身提供的Web Service。企业可以通过UDDI商业注册中心的Web界面,或使用实现了"UDDI Programmer's API标准所描述的编程接口的工具,将信息加入到UDDI的商业注册中心。UDDI商业注册中心在逻辑上是集中的,在物理上是分布式的,由多个根节点组成,相互之间按一定规则进行数据同步。当一个企业在UDDI商业注册中心的一个实例中实施注册后,其注册信息会被自动复制到其他UDDI 根节点,于是就能被任何希望发现这些Web Service的人所发现。
七、Web服务描述语言WSDL
随着通信协议和消息格式在Web中的标准化,以某种格式化的方法描述通信变得越来越重要,其实现的可能性也越来越大。用WSDL定义的一套XML语法描述的网络服务方式满足了这种需求。WSDL把网络服务定义成一个能交换消息的通信端点集。WSDL服务为分布式系统提供了帮助文档,同时该服务也可作为自动实现应用间通信的解决方案。
一个WSDL文档将服务定义为一个网络端点的集合,或者端口的集合。在WSDL里,端点及消息的抽象定义与它们具体的网络实现和数据格式绑定是分离的。这样就可以重用这些抽象定义:消息,需要交换的数据的抽象描述;端口类型,操作的抽象集合。针对一个特定端口类型的具体协议和数据格式规范构成一个可重用的绑定。一个端口定义成网络地址和可重用的绑定的联接,端口的集合定义为服务。因此,一个WSDL文档在定义网络服务时使用如下的元素:
1.类型:
使用某种类型系统(如XSD)定义数据类型。
2.消息:
通信数据抽象的有类型的定义。
3.操作:
服务支持的动作的抽象描述。
4.端口类型:
一个操作的抽象集合,该操作由一个或多个端点支持。
5.绑定:
针对一个特定端口类型的具体的协议规范和数据格式规范。
6.端口:
一个单一的端点,定义成一个绑定和一个网络地址的联接。
7.服务:
相关的端点的集合。
八、利用Sybase应用服务器和PowerBuilder、PowerJ开发SOAP应用
安装 SOAP
从Apache 站点下载SOAP:
http://xml.apache.org/dist/soap/version-2.2/soap-bin-2.2.zip
将soap-bin-2.2.zip解压缩到c:\soap目录。
www.Sybase.com上有一篇文章可以帮助一步一步的帮助你如何将Apache SOAP 2.2安装到Sybase EAServer 3.6.1 或4.0。
http://my.sybase.com/detail?id=1013352