Web Services
WebService是基于网络的、分布式的模块化组件,它执行特定的任务,遵守具体的技术规范,这些规范使得WebService能与其他兼容的组件进行互操作。InternetInter-OrbProtocol(IIOP)都已经发布了很长时间了,但是这些模型都依赖于特殊对象模型协议,而WebServices利用SOAP和XML对这些模型在通讯方面作了进一步的扩展以消除特殊对象模型的障碍。WebServices主要利用HTTP和SOAP协议使商业数据在Web上传输,SOAP通过HTTP调用商业对象执行远程功能调用,Web用户能够使用SOAP和HTTP通过Web调用的方法来调用远程对象。
1、简介
WebServices是一种构建应用程序的普通模型,并能在所有支持Internet通讯的操作系统上实施运行。WebServices令基于组件的开发和Web的结合达到最佳,基于组件的对象模型,如:DistributedComponentObjectModel(DCOM)、RemoteMethodInvocation(RMI),InternetInter-OrbProtocol(IIOP)都已经发布了很长时间了,但是这些模型都依赖于特殊对象模型协议,而WebServices利用SOAP和XML
对这些模型在通讯方面作了进一步的扩展以消除特殊对象模型的障碍。
WebServices主要利用HTTP和SOAP协议是商业数据在Web上传输,SOAP通过HTTP调用商业对象执行远程功能调用,Web用户能够使用SOAP和HTTP通过Web调用的方法来调用远程对象.
2、结构
客户根据WSDL描述文档,会生成一个SOAP请求消息。WebServices都是放在Web服务器(如IIS)后面,客户生成的SOAP请求会被嵌入在一个HTTPPOST请求中,发送到Web服务器来。Web服务器再把这些请求转发给WebServices请求处理器。请求处理器的作用在于,解析收到的SOAP请求,调用WebServices,
然后再生成相应的SOAP应答。Web服务器得到SOAP应答后,会再通过HTTP应答的方式把信息送回到客户端。
3、体系
WebServices体系主要包括以下几个方面:
①WebServices组件。包括3种组件:
服务提供者:提供服务,进行注册以使服务可用;
服务代理:服务交换所,服务提供者和服务请求者之间的媒体;
服务请求者:向服务代理请求服务,调用这些服务创建应用程序。
②WebServices操作。包括3种操作:
发布/不发布(Publish/Unpublish):提供者向代理发布(注册)服务或不发布(移
去)这些服务的注册;
发现(Find):由服务请求者向服务代理执行find操作,服务请求者描述要找的
服务,服务代理分发匹配的结果;
绑定(Bind):在服务请求者和服务提供者之间绑定,这两部分协商以使请求者
可以访问和调用提供者的服务。
③UDDI——通用发现、描述和整合。
这是一个WebServices的信息注册规范,基于UDDI的WebServices注册可以被发现UDDI的发现方法是:在Web上有一种分布的注册服务,商务和服务以一种通用的XML格式描述,XML中的结构化数据易于发现、分析和操作。
④WSDL——Web服务描述语言。
Web服务描述言语(WSDL)是一种XML语法,为服务提供者提供了描述构建在不同协议或编码方式之上的WebServices请求基本格式的方法。WSDL用来描述一个WebServices能做什么,它的位置在哪里,如何调用它等。在假定以SOAP/HTTP/MIME作为远程对象调用机制的情况下,WSDL会发挥最大作用。UDDI注册描述了WebServices绝大多数方面,包括服务的绑定细节。WSDL可以看作是UDDI服务描述的子集。
WSDL将服务定义为一个网络端点的集合,或者说端口的集合。在WSDL里面,端点及消息的抽象定义与它们具体的网络实现和数据格式绑定是分离的。这样就可以重用这些抽象定义:消息,需要交换的数据的抽象描述;端口类型,操作的抽象集合。针对一个特定端口类型的具体协议和数据格式规范构成一个可重用的绑定。一个端口定义成网络地址和可重用的绑定的连接,端口的集合定义为服务。因此一个WSDL文档在定义网络服务的时候使用如下的元素:
类型——使用某种的类型系统(如XSD)定义数据类型的容器;
消息——通讯数据抽象的有类型的定义;
操作——服务支持动作的抽象描述;
端口类型——一个操作的抽象集合,该操作由一个或多个端点支持;
绑定——针对一个特定端口类型的具体协议规范和数据格式规范;
端口——一个单一的端点,定义成一个绑定和一个网络地址的链接;
服务——相关端点的集合。
所以不难看出,WSDL给客户提供了一个模板,方便客户描述和绑定服务