Web服务组合的相容性技术概述
2013-12-29卢红梅
摘要:Web服务的出现为商业流程的自动化提供了有利的条件。该文分析了Web服务组合的相容性技术,包括Web服务组合技术、QoS感知的服务组合方法、以及基于服务行为的替换技术。希望本文的研究能为相关领域的发展带来一定的启示和作用。
关键词:Web;服务组合;技术
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2013)12-2780-02
1 Web服务组合技术
Web服务组合是通过增值服务的方式向客户提供相对比较完善的商业功能体系。Web服务组合的业务逻辑一般来自于实际操作的商业逻辑内容,其中服务组合的每一个Web服务组件完成每一个相应的服务任务。所以,Web服务组合的实现一般包含Web服务描述、Web服务发现和Web服务匹配,以及Web服务执行控制等方面的内容。
1.1 Web服务描述与匹配
Web服务是对一定的业务逻辑进行封装、完成一定功能的处理单元服务。在Web服务平台上会出现一些异构的平台,想要让这些平台上的服务来共同完成任务,就需要各个服务之间进行协作,以及服务信息进行交换,服务提供者需要以标准的方式描述服务的多个侧面信息:服务功能,服务性能(服务质量),服务的语义和服务行为。
关于服务功能的描述语言,WSDL以一种实现语言无关的抽象方式将Web服务定义为一组服务访问点,利用这些访问点,应用客户端可以实现对服务的访问。WSDL支持SOAP/HTTP或MIME/SMTP等传输协议的绑定方式。
关于服务质量的描述语言,虽然W3C于2003年提出了关于Web服务的QoS需求,但迄今为止,实际的标准并没有出现。工业界和学术界的研究也在进行中,HP公司提出的WSMF C Web Services Management Framework),IBM提出的W SLA语言 (Web Service Level Agreement language),WSOL(Web Services Offer Language),WS-Policy,D'Ambrogio提出的Q-WSDL CQoS-enabled WSDL) 以及胡建强提出的QWSDL(QoS-baseded WSDL)。
关于服务语义的描述语言,DAML-S, OWL和WSDL是近年来国际标准化组织提出的语义Web服务的描述规范。在学术,界DAML-S语言获得了大多数学者的认可,DAML-S是由BBN、斯坦福大学、以及卡耐基梅隆大学等机构在DAML+OIL基础上进行研究的,它是对Web服务的本体进行定义。
1.2 服务发现与匹配机制
为了提高Web服务的利用率,降低开发成本,基于Web应用的企业逐渐把已有的应用包装成Web服务的形式,提供给客户。这些服务可能具有不同的功能,分布于不同的地点,负责组合服务的客户要能够从其中找到想要的服务,这就是Web服务发现。因为,Web服务发现是服务组合中的一个重要技术,它也是Web服务系统架构中的一个重要组成部分。
1)基于关键词的Web服务发现
在早期的研究中,主要是针对基于关键词(keyword的Web服务发现与匹配方法,通过在服务查找中包含服务属性的关键词,与服务的描述进行匹配来发现符合要求的服务。如UDDI C Universal Description, Discovery and Integration)就是把服务提供方发布的服务描述映射为UDDI数据模型后保存起来,服务使用方以查询关键词的方式来获取服务描述。但此种方式只能实现语法层次上的匹配,不能发现需要语义匹配的服务,使得服务召回率很低。于是,出现了基于语义的服务发现方法。
2)基于语义的Web服务发现
基于语义的Web服务匹配可以通过两种方法来实现。一种方法是通过本体概念之间的逻辑关系(等价、包含等)来实现服务匹配,主要应用于单个本体环境;另一种方法则是以本体概念之间的相似性为基础,通过计算服务描述之间的相似性来实现。相对于第一种方法,后者多应用于多本体环境。
3)基于网络拓扑的Web服务发现
Web服务发现系统是服务请求者和服务提供者联系的纽带,由一个或多个注册节点连接成一定的系统拓扑来存储和维护发布的服务描述信息。根据注册节点的连接关系,Web服务发现系统可以分为集中式Web服务发现系统和分布式Web服务发现系统。由于集中式拓扑(如UDDI存在可扩展性差和单点失效的问题,因此,构造可扩展和灵活的分布式系统是学术界普遍关注的热点问题。
1.3 服务的执行控制模式
Web组合服务的执行是按照预先定义好的顺序调用组件服务的过程,这个过程的实现模式可分为集中(orchestration与点对点(choreograp)控制两种。
1)集中控制
集中控制是通过集中的服务协同引擎的控制,参与服务组合的各成员服务实例之间实现的控制流和数据流传输。由集中的服务协同引擎负责每个成员服务的调用,在服务完成后,都会将执行结果返回给服务协同引擎,接下来再由引擎决定下一个调用的服务。此外,服务协同引擎还负责与终端用户交互、流程的监控和异常处理等工作。
2)点对点控制
相对集中式的运行模式而言,点对点的运行模式可以有效地提高组合服务的运行效率,同时也能较好地避开潜在的流程引擎瓶颈和可能存在的安全问题。在点对点运行模式下,流程的控制流与数据流可以在不流经流程引擎的情况下,在成员服务间直接地传递。于是,点对点的控制模式要求每个服务节点都要有一个协调器,负责服务运行前的初始化、运行过程中消息的处理(如中止服务和向后续服务发送通知)和运行完成后的收尾工作(如向后续服务发起调用、传递相关参数)。
1.4 服务组合方法
目前针对服务组合问题的研究已经非常广泛,广义上可以分为静态组合、半自动组合和动态组合。静态服务组合,是指在设计或编译阶段,根据应用需求列出所有功能,然后根据功能列表,按照一定的策略,从预先建立的服务组件库中选择出合适的服务组件来提供相应的功能。由静态服务组合产生的服务,在提供给请求者后就不再变化。但Web服务的动态性,其服务质量或行为的变化,或服务与网络连通性的变化,都会使组合服务的空间随时发生变化。因此,静态组合方式不能适应Web服务的动态性。半自动组合方式能适应部分的动态性,它根据固定的过程或流程,自动地从服务集合中选择合适的服务来完成给定的目标。流程的固定性和执行流程中服务的可变化性体现了半自动的特点。静态与半自动组合方式主要包括基于业务流程服务组合方法。而动态组合方式能够全面地适应Web服务的动态性,它根据系统运行过程中的需求来自动创建服务组合流程模型的过程。所以,动态组合要能够支持自动发现、自动选择和自动绑定Web服务,展现出整个Web服务生命周期的动态性。与静态组合方式相比,动态服务组合更能够充分地利用网络资源,实时地为服务请求者提供满足其需求的Web服务。根据描述方法的不同,动态组合又可以分为基于规划和图搜索的方法。
2 QoS感知的服务组合方法
基于QoS的服务选择可以分为全局优化策略局部优化策略。
首先是基于QoS的全局优化策略,需要在满足用户提出的全局QoS约束条件下,考虑所有活动的候选服务集,而且每个服务通常对应着包含多属性的QoS向量。所以,QoS感知的服务组合全局优化策略求解是一个NP难题。基于QoS的全局优化策略包括三种类型,它们是随机演化策略、精确求解策略、以及启发式方法。基于QoS的全局优化策略在进行计算时没有很高的计算效率,在计算的过程中往往是通过脱机离线的方法才能进行服务的计算。如果选择精确求解策略进行服务的计算时,通常情况下要通过规划工具包进行合理的计算,并且基于QoS的的服务组合所具有的的规模大小,以及进行备选的服务集合程度对计算的效率起着重要的作用。如果有数量巨大的动态实时情景状态下,eBhZQ22OHZ5nOSRIx9LeeQ==选择精确求解策略进行服务的计算效率不高。如果需要对不确定的目标组合服务进行计算时,可以通过遗传算法等方法进行求解计算,但是通过这种方法的收敛速度通常情况下不是很高,它比较适用于具有较大规模的非线性组合优化模型的离线计算。
启发式方法是一个基于经验构造的算法,可使问题在可接受的代价下得出可行解。但产生可行解的启发式规则通常针对于具体问题,不具有通用性。而且方法的求解效率、求得解与最优解的偏离程度都依赖于该启发式规则。Yu等人把问题建模为MMKP问题(multidimension multichoice 0-1 knapsack problem)和MCOPC multi-constraint optimal path problem)问题,引入启发式信息后可使问题在多项式时间内获得近似最优解。
其次是局部优化策略,它是根据活动作为粒度进行成员服务的选择,一般情况下应用的是多属性决策(Multiple Criteria Decision Making, MCDM ) 方法,或者是通过对相似函数的情况进行计算和整理来对候选服务进行一定的序列排列,局部优化策略是有针对性的对每一个活动进行搜索服务集,为每一个活动选择一个最合算的服务组合方式。局部优化策略对各个活动的选择过程彼此独立,局部最优并不能保证全局最优。所以,局部策略不能很好地解决针对组合服务的QoS约束问题。
3 基于服务行为的替换技术
针对网络上越来越多的Web服务,通过组合方式实现服务增值一直是服务计算领域内研究的一个重要方面,Web服务替换是与Web服务组合密切相关的一个问题,“是一个硬币的两面”。在Web服务组合系统中,当某个成员服务实例由于自身软硬件故障或网络威胁等原因,无法继续提供服务时,会导致整个组合服务无法正确执行。此时,需要选取新的服务来替换,而替换是否成功则取决于替换之后的组合服务是否仍是正确的。
(下转第2794页)
(上接第2781页)
基于行为的服务组合正确性分析与验证,是目前研究的一个热点问题。服务组合的正确性可以通过分析参与组合的各成员服务间的相容性来进行验证。现有的一些描述服务组合流程的规范,如BPEL, BPEL4Chor, WSCI, WS-CDL等,都基于XML格式,复杂且缺乏对有效理论及分析方法的支持,不适用于服务行为的分析。而形式化方法,能够去除复杂的干扰因素,通过抽象的模型来简化问题,使关注点集中于问题的本质,还可以结合其准确的表述方式与强大的数学理论基础,能够实现对问题的有效分析与验证。
对组合服务相容性的验证大多需要对整个组合服务的流程进行分析,已有研究表明,Web服务组合验证所花费的代价随着参与组合的服务数量的增加而快速增长。若替换频繁发生,不断重复的服务组合验证必然会影响系统的运行效率。因此,服务替换须是上下文无关的,即在不需要验证组合服务流程的情况下就能判断选取的服务是否能正确地替换。
4 小结
Web服务组合为商业流程的自动化提供了有利的条件。该文分析了Web服务组合的相容性技术,包括Web服务组合技术、QoS感知的服务组合方法、以及基于服务行为的替换技术。希望本文的研究能为Web服务组合的发展和进步起到一定的推动作用。
参考文献:
[1] 胡建强,邹鹏,王怀民,周斌.Web服务描述语言QWSDL和服务匹配模型研究[J].计算机学报.2011, 28(4):505-513.
[2] 刘志忠,王怀民,郭艳玲.基于语义的服务发现技术研究综述[J].计算机上程与科学.2011,29(9):12-15,52.
[3] 刘必欣.动态Web服务组合关键技术研究[D].长沙:国防科学技术大学,2011.
[4] 刘荣胜,黄邵,高春鸣.基于类型化Pi-演算的Web服务组合相容性检测[J].计算机工程与应用, 2007,43(7):120-124.
[5] 冯兴智,姚学斌,吴泉源,等. 一种动态服务组合中的相容性模型[J]. 计算机研究与发展, 2008,45(z1):426-432.
[6] 陈营,李绪蓉,谢强.模型驱动的Web服务组合的QoS属性的研究[J]. 计算机与数字工程, 2013,41(1):76-78,100.
[7] 汪浩,黄明和,龙浩.基于G/G/1-FCFS、M/G/1-PS和M/G/∞排队网络的Web服务组合性能分析[J].计算机学报, 2013,36(1):22-38.