[摘要] 本文介绍了web服务组合的技术基础语义web服务的主要描述方法,讨论了web服务组合的关键问题,并分析了当前主要web服务组合方法的特点,指出为保证服务组合的性能和质量,必须基于服务质量描述web服务。
[关键词] web services 服务组合 qos
一、引言
web服务结合了面向组件的方法和web技术的优势,利用标准网络协议和xml数据格式进行通信,能实现不同平台上各种语言编写的服务之间的交互电子商务的迅速发展,对跨企业的应用集成以及企业内部应用的集成提出了需求。而web服务的出现正好为这些应用的集成提供了一个很好的解决方案,使企业内和企业之间应用的集成成为可能,而且使应用的集成更加快捷和方便。因此,web服务在企业的电子商务系统中得到了广泛的运用。
单个web服务通常只提供惟一的调用函数完成单一的功能,web服务组合能够利用internet上分布的易于执行的轻量级服务创建功能丰富易于用户定制的复杂服务, 将松散耦合的相关web服务有机组织成更为可用的系统。
二、web服务技术
web服务组合问题涉及领域包括:web服务技术领域,流程管理领域和人工智能领域。
1.web服务技术
根据w3c的定义,web服务是由uri标识的软件应用程序,通过xml构件进行定义、描述和发现其接口和绑定。web服务支持因特网的协议并能够与其他基于xml消息的应用程序直接交互。web服务技术允许不同软件语言开发、分布在internet不同地域的应用进行有效的发现和通讯,基于web服务的应用程序集成在协议栈中较高层发生,注重服务语义,实现了业务的松散耦合集成。Www.133229.COmweb服务提供了一致化编程模型和一整套internet规范,主要包括xml,基于xml的web服务描述语言wsdl,由技术和商业领域的领导者共同开发的统一描述、发现与集成协议标准uddi,用于描述服务合成过程的控制流和信息流的流描述语言bpel4ws等。便于企业利用现有语言、平台和已有的应用程序,以增量方式集成和应用web服务。web服务提供了一种支持电子商务的革命性的方式,最重要的价值在于以统一的语言完成所有的部件之间的沟通,从而达到整体效率的提高,促进了新型电子商务应用以及动态服务集成的迅速发展,激发了第三方增值服务市场的出现。
虽然在基础层面上web服务是一种非常好的集成工具,但在工作流和业务过程自动化方面仍然不够完善。要实现基于web的服务的应用集成系统需要一系列构件、应用之间互相协作,只有根据业务需求制定动态的业务流程才能解决具体、多变的商务问题。同时,服务的动态组合,服务质量的评价等问题还值得进一步深入研究。
2.语义web服务研究
标准的web服务缺乏必要的语义信息,导致web服务功能得不到准确的描述,无法消除服务语义的模糊、理解的歧义性等问题,并影响了web服务的自动发现、匹配和组装。语义web服务将语义web概念和web服务研究相结合, 利用语义本体对web服务建模,在语义层面对服务接口、服务消息、服务结构、服务交互等进行描述,结合语义推理技术支持web服务自动发现、组装、调用和监控等关键过程。语义web服务具影响力的代表性工作包括:
(1)owl-s (web ontology language for services):前身为daml-s,基于可判定的描述逻辑,将web服务的本体分成三个上层本体,目前在语义web服务领域最具影响力;
(2)wsmo/wsml(web service modeling ontology):基于框架逻辑,从四个方面描述语义web服务:ontology, web service, goal和mediator;
(3)swso/swsl(semantic web serviceontology):基于一阶逻辑,充分吸收了owl-s和wsmo/wsml的优点;
(4)wsdl-s:独立于语义表达语言,允许开发人员选择本体语言,如owl或者uml。与其他工作相比,wsdl-s基于标准wsdl扩展,与已有的工具平台有更好的适应性。
三、web服务组合
1.web服务组合关键问题
服务组合作为一个满足业务需求的流程规划,涉及到基本服务和复合构件服务的协同,web服务组合需要解决以下几个主要问题:
(1)采用怎样的web服务组合模型作为组合研究的框架基础;
(2)在可替换的服务中如何根据qos要求进行质量驱动的服务选择;
(3)建立怎样的代价模型以评估web服务组合的代价;
(4)怎样定义各个组成部分之间的关系;
(5)如何在多个层面上提供更为精确和通用的语义信息的支持;
(6)怎样验证和测试组合web服务;
(7)如何对qos或其他行为进行监控,保证在满足需要的同时,能够高效的利用资源。从软件工程的角度看,以上问题涉及服务组合的设计、开发、运行和管理等的软件生命周期。从相关技术看,涉及了对形式化方法、语义学和运筹规划等领域知识,使其成为一个跨学科的研究领域。
2.web服务组合方法
围绕服务组合问题,已经有大量的研究者进行了相当广泛和深入的研究。当前解决服务组合的问题主要有基于工作流(workflow)的方法、基于ai planning的方法和基于软件工程的方法。
(1)基于ai planning方法:主要有基于逻辑程序设计语言golog方法、基于适合过程模型的分层任务网络shop2方法和使用基于规则的专家系统构建复合服务的开发工具sword方法。目前,利用ai规划技术求解语义web服务的自动组合问题不能够对组合服务中各种动态关系,特别是并发关系进行刻画;
(2)基于工作流方法:主要包括基于web服务业务流程执行语言bpel4ws/bpel方法、基于业务流程建模语言bpml方法和基于web服务编排定义语言ws-cdl方法。基于工作流相关方法往往需要大量人工操作去事先定义该商业进程,不是真正意义上动态的自动的服务组合;
(3)基于软件工程的方法,主要方法为借鉴软件工程中的原则的web构件组合方法。
3.web服务质量属性
为保证服务组合的性能和质量,必须基于服务质量(qos)描述web服务。质量属性之间具有高度内连性,需要从系统论的角度深入分析移动环境下web服务质量属性特点及矛盾协调。服务质量属性可以分为客观的和主观的服务质量属性。主观服务质量属性主要是用户对服务质量的全面感觉,用户关于服务是否满意的观点,由于用户感知的质量经常是被表达,非技术性的,很难客观评价。在客观服务质量属性评价中,质量标准受到交互目标的影响,理想的服务质量属性评价应根据任务执行而不同。
四、小结
综上所述,服务组合的基础是web服务的形式化描述,web服务组合是web服务研究领域中的一个重要的研究分支,具有重要的理论意义和实用价值。利用与平台无关的web服务应用能够将商业智能功能整合到企业应用程序当中,在海量的组合方案中,快速灵活地为用户选择出满足用户qos需求的服务组合方案,为决策提供必要的商务智能信息服务,辅助达到更高层次的决策支持。
参考文献:
[1]ibm corporation. web services: web services architect, part i: an introduction to dynamic e-business, 2001,/developerworks/webservices/
[2]bea, ibm, microsoft (2003), business process execution language for webservices (bpel4ws).http://xml.coverpages.org/bpel4ws.html
[3]ibm.ws-bpel./developerworks/cn/webservices/ws-bpel_spec/index_eng.shtml
[4]岳昆王晓玲周傲英:web服务核心支撑技术:研究综述[j].《软件学报》,2004,15(3):438-440