论文部分内容阅读
[摘要]对当今的大热门Web服务进行一个简单的综述。
[关键词]Web服务 定义 架构
中图分类号:TP3文献标识码:A文章编号:1671-7597 (2008) 0110020-01
一、Web服务定义
Web服务是一种技术标准,开发人员利用它封装现有业务过程,作为服务发布这些业务过程,搜索和预订其他服务以及在企业内部与外部交换信息,从而将各种不同系统灵活地连接在一起。
(一)Web服务是可复用的软件模块
Web服务是对软件开发中面向对象设计的发展和升华。基于组件的模型允许开发者复用其他人创建的代码模块,组装或扩展它们,形成新的软件。
(二)软件模块是松散藕合的
传统的应用软件设计模式要求各个单元之间紧密连接,这种连接的复杂性在于要求开发者必须对连接的两端元素有完全的理解和控制能力,并且一端的执行机制发生变化,另一端便会崩溃。而松耦合的系统只需要很简单的协调和配置,任何应用都可以调用对应的接口连接到系统中来,方式灵活,简单快速,真正实现了“即插即用”。
(三)Web服务封装了离散的功能
一个Web服务就是一个自包含的“小程序”,完成单个任务。被封装成Web服务的模块使用其他软件可以理解的方式描述输入和输出,其他软件知道它能做什么,如何调用它的功能以及会返回什么样的结果。
(四)Web服务可以在程序中访问
不同于Web网站或桌面程序,Web服务不是为直接与人类交互设计的,它们不需要有图像化的用户界面。Web服务在代码级工作,并被其他软件调用,同时与其它软件交换数据。不过Web服务最终目的还是形成一个能够与用户交互的应用软件。
(五)Web服务是在Internet上发布的
Web服务使用现有的并广泛使用的Web内容传输协议。因此,不需要调整现有的Internet架构,就可以通过防火墙进行通信。
二、Web服务特征
(一)完好的封装性
Web服务既然是一种部署在Web上的对象,自然具备对象的良好封装性,对于使用者而言,能且仅能看到该对象提供的功能列表。
(二)松散耦合性
这一特征也是源于对象/组件技术,当一个Web服务的实现发生变更的时候,调用者是不会感到这一点的,对于调用者来说,只要Web服务的调用界面不变,Web服务实现的任何变更对他们来说都是透明的,甚至是当Web服务的实现平台从J2EE迁移到了。NET或者是相反的迁移流程,用户都可以对此一无所知。
(三)使用协约的规范性
这一特征从对象而来,但相比一般对象,其界面规范更加规范化和易于机器理解。
(四)使用标准协议规范
作为Web服务,其所有公共的协约完全需要使用开放的标准协议进行描述、传输和交换。这些标准协议具有完全免费的规范,以便由任意方进行实现。
(五)高度可集成能力
由于Web服务采取简单的、易理解的标准Web协议作为组件界面描述和协同描述规范,完全屏蔽了不同软件平台的差异,无论是CORBA、DCOM还是EJB都可以通过这一种标准的协议进行互操作,实现了在当前环境下最高的可集成性。
三、Web服务体系架构
Web服务技术是为解决在Internet环境下,松散耦合的Web服务之间进行相互调用、互相集成而设计的技术框架。以XML/SOAP(简单对象访问协议)/WSDL(Web服务描述语言)/UDDI(统一描述,发现和集成协议)为主干的Web服务技术赋予了Web服务一个与传统对象调用技术相似又不太相同的体系架构如图Web服务体系架构所示。
Web服务的三角形设计模式被称为面向服务的架构SOA(Service-OrientedArchitecture),它包括三个清晰的角色定义和三种功能操作。
(一)角色
1.服务提供者(Service Provider)
负责使用WSDL来描述和定义那些可以通过网络来访问的应用程序的功能,在服务代理(即UDDI商业注册中心)中发布这些服务的信息。使其可以被其他应用访问、接收和处理Web请求者的调用。
2.服务请求者(Service Requestor)
负责通过一个或者多个服务代理寻找他们所需的Web服务后,下载定义服务的WSDL文档,并且根据服务定义来绑定(Bind)和调用(Invoke)服务提供者提供的Web服务。
3.服务注册中心(Service Broker)
负责宣传服务提供者发布的Web服务和允许服务请求者查询发布在此服务代理中的服务定义。服务代理扮演一个服务提供者和服务请求者媒介的角色,作用与电话簿的黄页相同。
(二)功能操作
1.发布(Publish)
提供Web服务注册或者宣传的功能,是服务提供者与服务注册中心之间交互的操作。发布的具体细节取决于服务注册中心是如何被实施的。
2.查找(Find)
和发布相对的功能,是服务请求者与服务注册中心之间交互的操作。服务请求者描述诸如服务类型、服务质量等搜索规范,服务注册中心从自己发布的Web服务中寻找与搜索规范相匹配的Web服务。
3.绑定(Bind)
决定服务请求者和服务提供者运行时的关系。服务请求者向Web服务提供者发出请求消息,Web服务提供者返回响应消息。
发布和发现操作都涉及到服务注册中心(UDDI),UDDI解决了企业遇到的大量问题。首先,它能帮助拓展企业与企业(B2B)交互的范围并能简化交互的过程。对于那些需要与不同用户建立许多种关系的厂家来说,每家都有自己的一套标准与协议,UDDI支持一种适应性极强的服务描述,几乎可以使用任何接口。UDDI提供一种能实现这一目标的方法。规范企业在注册中心所提供的服务,这样发现企业及服务就变得高效而简单了。
四、Web服务的应用研究
综合当今的Web应用以及Web服务的特点,Web服务实施的领域可以分为四类:
(一)面向商务的Web服务
该类服务针对的是那些面向商务应用的服务,包括企业内部的ERP系统,企业间的SCM/CRM等系统。
(二)面向消费者的Web服务
此类服务针对的是那些原先的B2C的网站的改造,为这些Browser-Oriented的Web应用增加(注意是增加)了Web服务的应用界面,使得第三方的桌面工具或其自身提供的增值的桌面工具能够利用更优秀的用户界面提供跨越多个B2C服务的桌面服务。
(三)面向设备的Web服务
此类服务的使用终端一般是手持设备和日用家电。
(四)面向系统的Web服务
一些传统意义上的系统服务,比如用户权限认证,系统监控等,如果被迁移到全球范围的Internet上,或者企业内部的Intranet上,其作用范围将从单个系统或局部网络拓展到整个企业网络或整个Internet。
[关键词]Web服务 定义 架构
中图分类号:TP3文献标识码:A文章编号:1671-7597 (2008) 0110020-01
一、Web服务定义
Web服务是一种技术标准,开发人员利用它封装现有业务过程,作为服务发布这些业务过程,搜索和预订其他服务以及在企业内部与外部交换信息,从而将各种不同系统灵活地连接在一起。
(一)Web服务是可复用的软件模块
Web服务是对软件开发中面向对象设计的发展和升华。基于组件的模型允许开发者复用其他人创建的代码模块,组装或扩展它们,形成新的软件。
(二)软件模块是松散藕合的
传统的应用软件设计模式要求各个单元之间紧密连接,这种连接的复杂性在于要求开发者必须对连接的两端元素有完全的理解和控制能力,并且一端的执行机制发生变化,另一端便会崩溃。而松耦合的系统只需要很简单的协调和配置,任何应用都可以调用对应的接口连接到系统中来,方式灵活,简单快速,真正实现了“即插即用”。
(三)Web服务封装了离散的功能
一个Web服务就是一个自包含的“小程序”,完成单个任务。被封装成Web服务的模块使用其他软件可以理解的方式描述输入和输出,其他软件知道它能做什么,如何调用它的功能以及会返回什么样的结果。
(四)Web服务可以在程序中访问
不同于Web网站或桌面程序,Web服务不是为直接与人类交互设计的,它们不需要有图像化的用户界面。Web服务在代码级工作,并被其他软件调用,同时与其它软件交换数据。不过Web服务最终目的还是形成一个能够与用户交互的应用软件。
(五)Web服务是在Internet上发布的
Web服务使用现有的并广泛使用的Web内容传输协议。因此,不需要调整现有的Internet架构,就可以通过防火墙进行通信。
二、Web服务特征
(一)完好的封装性
Web服务既然是一种部署在Web上的对象,自然具备对象的良好封装性,对于使用者而言,能且仅能看到该对象提供的功能列表。
(二)松散耦合性
这一特征也是源于对象/组件技术,当一个Web服务的实现发生变更的时候,调用者是不会感到这一点的,对于调用者来说,只要Web服务的调用界面不变,Web服务实现的任何变更对他们来说都是透明的,甚至是当Web服务的实现平台从J2EE迁移到了。NET或者是相反的迁移流程,用户都可以对此一无所知。
(三)使用协约的规范性
这一特征从对象而来,但相比一般对象,其界面规范更加规范化和易于机器理解。
(四)使用标准协议规范
作为Web服务,其所有公共的协约完全需要使用开放的标准协议进行描述、传输和交换。这些标准协议具有完全免费的规范,以便由任意方进行实现。
(五)高度可集成能力
由于Web服务采取简单的、易理解的标准Web协议作为组件界面描述和协同描述规范,完全屏蔽了不同软件平台的差异,无论是CORBA、DCOM还是EJB都可以通过这一种标准的协议进行互操作,实现了在当前环境下最高的可集成性。
三、Web服务体系架构
Web服务技术是为解决在Internet环境下,松散耦合的Web服务之间进行相互调用、互相集成而设计的技术框架。以XML/SOAP(简单对象访问协议)/WSDL(Web服务描述语言)/UDDI(统一描述,发现和集成协议)为主干的Web服务技术赋予了Web服务一个与传统对象调用技术相似又不太相同的体系架构如图Web服务体系架构所示。
Web服务的三角形设计模式被称为面向服务的架构SOA(Service-OrientedArchitecture),它包括三个清晰的角色定义和三种功能操作。
(一)角色
1.服务提供者(Service Provider)
负责使用WSDL来描述和定义那些可以通过网络来访问的应用程序的功能,在服务代理(即UDDI商业注册中心)中发布这些服务的信息。使其可以被其他应用访问、接收和处理Web请求者的调用。
2.服务请求者(Service Requestor)
负责通过一个或者多个服务代理寻找他们所需的Web服务后,下载定义服务的WSDL文档,并且根据服务定义来绑定(Bind)和调用(Invoke)服务提供者提供的Web服务。
3.服务注册中心(Service Broker)
负责宣传服务提供者发布的Web服务和允许服务请求者查询发布在此服务代理中的服务定义。服务代理扮演一个服务提供者和服务请求者媒介的角色,作用与电话簿的黄页相同。
(二)功能操作
1.发布(Publish)
提供Web服务注册或者宣传的功能,是服务提供者与服务注册中心之间交互的操作。发布的具体细节取决于服务注册中心是如何被实施的。
2.查找(Find)
和发布相对的功能,是服务请求者与服务注册中心之间交互的操作。服务请求者描述诸如服务类型、服务质量等搜索规范,服务注册中心从自己发布的Web服务中寻找与搜索规范相匹配的Web服务。
3.绑定(Bind)
决定服务请求者和服务提供者运行时的关系。服务请求者向Web服务提供者发出请求消息,Web服务提供者返回响应消息。
发布和发现操作都涉及到服务注册中心(UDDI),UDDI解决了企业遇到的大量问题。首先,它能帮助拓展企业与企业(B2B)交互的范围并能简化交互的过程。对于那些需要与不同用户建立许多种关系的厂家来说,每家都有自己的一套标准与协议,UDDI支持一种适应性极强的服务描述,几乎可以使用任何接口。UDDI提供一种能实现这一目标的方法。规范企业在注册中心所提供的服务,这样发现企业及服务就变得高效而简单了。
四、Web服务的应用研究
综合当今的Web应用以及Web服务的特点,Web服务实施的领域可以分为四类:
(一)面向商务的Web服务
该类服务针对的是那些面向商务应用的服务,包括企业内部的ERP系统,企业间的SCM/CRM等系统。
(二)面向消费者的Web服务
此类服务针对的是那些原先的B2C的网站的改造,为这些Browser-Oriented的Web应用增加(注意是增加)了Web服务的应用界面,使得第三方的桌面工具或其自身提供的增值的桌面工具能够利用更优秀的用户界面提供跨越多个B2C服务的桌面服务。
(三)面向设备的Web服务
此类服务的使用终端一般是手持设备和日用家电。
(四)面向系统的Web服务
一些传统意义上的系统服务,比如用户权限认证,系统监控等,如果被迁移到全球范围的Internet上,或者企业内部的Intranet上,其作用范围将从单个系统或局部网络拓展到整个企业网络或整个Internet。