首页 > 范文大全 > 正文

Web服务组合方法研究综述

开篇:润墨网以专业的文秘视角,为您筛选了一篇Web服务组合方法研究综述范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:web服务组合旨在实现不同功能Web服务的有机合成以形成功能更加强大的大粒度服务,成为当前服务计算领域的研究热点。文章阐述了服务组合的概念、框架和分类,分析了几种常用的Web服务组合方法,并对这几种组合方法作了比较,最后,对Web服务组合方法进行了总结和展望。

关键词:面向服务的计算;Web服务;Web服务组合;工作流

中图分类号:TP301 文献标示码:A文章编号:1009-3044(2010)07-1585-03

Survey on Web Services Composition Methods

YUAN Qing-tao1,2, CHEN Yan-ping2

(1.School of Computer Science & Technology,XiDian University, Xi'an 710071, China; 2.School of Computer Science & Technology, Xi'an University of Posts & Telecommunications, Xi'an 710121, China)

Abstract: Web Services Compostion (WSC) is aiming to compose a more powerful and large-grained service with diffirent services. WSC has become a research hotspot in Server Oriented Coputing (SOC) area. In this paper, we discussed the concept, framework and classifcation of WSC, and analysed several commonly used methods of WSC. Then, we evaluated those methods mentioned in this paper. At last, we also gave a final summary and prospects to WSC.

Key words: server oriented computing(SOC); Web services; Web services composition

近年来,Web服务技术作为服务计算(Server Oriented Computing,SOC)和面向服务架构(Server Oriented Architecutre,SOA)的主要实现技术,已经得到广泛应用,工业界和学术界分别从不同的角度对Web服务的相关技术展开研究。随着Web服务标准的持续完善和支持Web服务的企业级软件平台的不断成熟,越来越多的企业和商业组织参与到软件服务化(Software as a Services,SaaS)的行列中来,纷纷将其业务功能和组件包装成标准的Web服务出去,实现快速便捷地寻求合作伙伴,挖掘潜在的客户和达到业务增值的目的。然而,目前网络上的服务大多数都存在结构简单、功能单一的缺陷,无法满足企业复杂应用的需求。如何有效地组合分布于网络中的各种服务,实现服务之间的无缝集成,形成功能强大的企业级服务流程以完成企业的商业目标,已经成为Web服务发展过程中的一个重要步骤,也是SOC与SOA能否成功应用和实施的关键[1]。

1 Web服务组合概述

Web服务组合源于软件重用,其基本思想是使用现有的Web服务,通过它们一定顺序的组合或组合顺序的改变,创建出新的或更高质量的服务满足用户的需求。

1.1 认识Web服务组合

目前对Web服务组合尚无统一的定义,很多研究者从不同的角度和侧重点对Web服务组合给出了不同的定义。

根据Pires对Web服务组合的定义(Pires,2002),“Web服务组合是通过组合基本Web服务提供增值服务的能力,这些基本Web服务可能由别的组织提供”。上述定义比较抽象,没有涉及“组合”的具体含义,也没有讨论基本Web服务的定义,但该定义提供了三点重要的信息:首先,服务组合需要使用其他的服务;其次,组合后形成的是一个具有新功能的服务;再次,服务组合使用的基本服务可以是组织外部的[2]。

文献[3]把Web服务组合从两个不同的研究角度进行了总结,认为Web服务组合的定义可归纳为两个方面[3]:1)基于过程模型:从Web服务组合内在因素的角度,将其定义为一个依赖于特定控制流和数据流结合起来的、能够完成一定任务的Web服务集合。2)基于构件单元:从构件的角度,将Web服务组合定义为一个由自治且能相互协作的自描述单元所组成的系统。

综合已有的各种定义,我们对Web服务组合提出一个更为通用和完整的定义:利用现有的分散的、小粒度的原子服务,根据服务请求者的需求,在某一特定的Web服务组合框架下,自动地选择满足需要的若干服务,并使它们按照一定的组合规则协同工作完成服务请求。Web服务组合可以利用较小的、较简单的、且易于执行的轻量级服务来创建功能更为丰富、更易于用户定制的复杂服务[4] ,从而能够将松散耦合的、分散在Internet上的各类相关Web服务有机地组织成一个更为可用的系统,支持企业内、外部的企业应用集成EAI和电子商务等网络应用。

1.2 Web服务组合问题的提出

随着Web服务技术的日益成熟,越来越多的稳定易用的Web服务共享在网络上。但是,一方面,单个的Web服务能够提供的功能有限,为了更加充分地利用共享的Web服务,有必要将共享的Web服务组合起来,提供更为强大的服务功能,加快系统开发的速度,快速满足用户需求;另一方面,运行在不同平台之上的各种Web服务可能是以不同的方式创建、不同的语言实现、不同的开发商提供的,服务的使用者需要根据特定的应用场景和特定的需求按照一定的粒度对现有服务进行合理的组合。

2 Web服务组合实现框架

因为Web服务组合的实现技术很多,很难提出一种统一的实现框架。文献[3]从Web服务组合的原理抽象出了一种典型的Web服务组合的实现框架,是对Web服务组合技术的较好概括。该实现框架包含2种角色(服务请求者和服务提供者)和5个部件(翻译器、组合管理器、执行引擎、服务匹配器和服务库)来协同完成Web服务的组合工作,图中的本题库作为可选部件,为服务描述提供本体定义和推理支持[3],如图1所示。

Web服务组合的执行流程如下:

1)首先由服务提供者提供服务,通过图1中的服务注册中心服务器进行服务注册,这是进行服务组合的先决条件。

2)服务请求者要使用服务,需要提交自然语言的需求描述,该描述经过翻译器翻译后,从自然语言转换成计算机能够识别的语义信息,传递给组合服务管理器。

3)服务组合管理器根据服务请求者提交的描述,进行服务的组合,最后把生成的组合方案传递给执行引擎。

4)执行引擎把上一步服务组合管理器提交的组合方案进一步传递给服务匹配器,服务匹配器查询服务注册中心服务器中现有Web服务的描述信息,如Qos描述信息等,进行和需求信息的匹配,最终选定合适的Web服务,并将选定的结果反馈回执行引擎。