1、服务组合研究摘要 本文介绍了 Web 服务组合的技术基础语义 Web 服务的主要描述方法,讨论了 Web 服务组合的关键问题,并分析了当前主要 Web 服务组合方法的特点,指出为保证服务组合的性能和质量,必须基于服务质量描述 Web 服务。 关键词 Web Services 服务组合 QOS 一、引言 Web 服务结合了面向组件的方法和 Web 技术的优势,利用标准网络协议和 XML 数据格式进行通信,能实现不同平台上各种语言编写的服务之间的交互电子商务的迅速发展,对跨企业的应用集成以及企业内部应用的集成提出了需求。而 Web 服务的出现正好为这些应用的集成提供了一个很好的解决方案,使企业内和
2、企业之间应用的集成成为可能,而且使应用的集成更加快捷和方便。因此,Web 服务在企业的电子商务系统中得到了广泛的运用。 单个 Web 服务通常只提供惟一的调用函数完成单一的功能,Web 服务组合能够利用 Internet 上分布的易于执行的轻量级服务创建功能丰富易于用户定制的复杂服务, 将松散耦合的相关 Web 服务有机组织成更为可用的系统。 二、Web 服务技术 Web 服务组合问题涉及领域包括:Web 服务技术领域,流程管理领域和人工智能领域。 1.Web 服务技术 根据 W3C 的定义,Web 服务是由 URI 标识的软件应用程序,通过 XML构件进行定义、描述和发现其接口和绑定。Web
3、 服务支持因特网的协议并能够与其他基于 XML 消息的应用程序直接交互。Web 服务技术允许不同软件语言开发、分布在 Internet 不同地域的应用进行有效的发现和通讯,基于 Web 服务的应用程序集成在协议栈中较高层发生,注重服务语义,实现了业务的松散耦合集成。Web 服务提供了一致化编程模型和一整套Internet 规范,主要包括 XML,基于 XML 的 Web 服务描述语言 WSDL,由技术和商业领域的领导者共同开发的统一描述、发现与集成协议标准UDDI,用于描述服务合成过程的控制流和信息流的流描述语言 BPEL4WS等。便于企业利用现有语言、平台和已有的应用程序,以增量方式集成和应
4、用 Web 服务。Web 服务提供了一种支持电子商务的革命性的方式,最重要的价值在于以统一的语言完成所有的部件之间的沟通,从而达到整体效率的提高,促进了新型电子商务应用以及动态服务集成的迅速发展,激发了第三方增值服务市场的出现。 虽然在基础层面上 Web 服务是一种非常好的集成工具,但在工作流和业务过程自动化方面仍然不够完善。要实现基于 Web 的服务的应用集成系统需要一系列构件、应用之间互相协作,只有根据业务需求制定动态的业务流程才能解决具体、多变的商务问题。同时,服务的动态组合,服务质量的评价等问题还值得进一步深入研究。 2.语义 Web 服务研究 标准的 Web 服务缺乏必要的语义信息,
5、导致 Web 服务功能得不到准确的描述,无法消除服务语义的模糊、理解的歧义性等问题,并影响了Web 服务的自动发现、匹配和组装。语义 Web 服务将语义 Web 概念和 Web服务研究相结合, 利用语义本体对 Web 服务建模,在语义层面对服务接口、服务消息、服务结构、服务交互等进行描述,结合语义推理技术支持 Web 服务自动发现、组装、调用和监控等关键过程。语义 Web 服务具影响力的代表性工作包括: (1)OWL-S (Web Ontology Language for Services):前身为 DAML-S,基于可判定的描述逻辑,将 Web 服务的本体分成三个上层本体,目前在语义 We
6、b 服务领域最具影响力; (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 服务组合
7、 1.Web 服务组合关键问题 服务组合作为一个满足业务需求的流程规划,涉及到基本服务和复合构件服务的协同,Web 服务组合需要解决以下几个主要问题: (1)采用怎样的 Web 服务组合模型作为组合研究的框架基础; (2)在可替换的服务中如何根据 QoS 要求进行质量驱动的服务选择; (3)建立怎样的代价模型以评估 Web 服务组合的代价; (4)怎样定义各个组成部分之间的关系; (5)如何在多个层面上提供更为精确和通用的语义信息的支持; (6)怎样验证和测试组合 Web 服务; (7)如何对 QoS 或其他行为进行监控,保证在满足需要的同时,能够高效的利用资源。从软件工程的角度看,以上问题涉
8、及服务组合的设计、开发、运行和管理等的软件生命周期。从相关技术看,涉及了对形式化方法、语义学和运筹规划等领域知识,使其成为一个跨学科的研究领域。 2.Web 服务组合方法 围绕服务组合问题,已经有大量的研究者进行了相当广泛和深入的研究。当前解决服务组合的问题主要有基于工作流(workflow)的方法、基于 AI Planning 的方法和基于软件工程的方法。 (1)基于 AI Planning 方法:主要有基于逻辑程序设计语言 Golog 方法、基于适合过程模型的分层任务网络 SHOP2 方法和使用基于规则的专家系统构建复合服务的开发工具 SWORD 方法。目前,利用 AI 规划技术求解语义
9、Web 服务的自动组合问题不能够对组合服务中各种动态关系,特别是并发关系进行刻画; (2)基于工作流方法:主要包括基于 Web 服务业务流程执行语言BPEL4WS/BPEL 方法、基于业务流程建模语言 BPML 方法和基于 Web 服务编排定义语言 WS-CDL 方法。基于工作流相关方法往往需要大量人工操作去事先定义该商业进程,不是真正意义上动态的自动的服务组合; (3)基于软件工程的方法,主要方法为借鉴软件工程中的原则的 Web构件组合方法。 3.Web 服务质量属性 为保证服务组合的性能和质量,必须基于服务质量(QOS)描述 Web 服务。质量属性之间具有高度内连性,需要从系统论的角度深入
10、分析移动环境下 Web 服务质量属性特点及矛盾协调。服务质量属性可以分为客观的和主观的服务质量属性。主观服务质量属性主要是用户对服务质量的全面感觉,用户关于服务是否满意的观点,由于用户感知的质量经常是被表达,非技术性的,很难客观评价。在客观服务质量属性评价中,质量标准受到交互目标的影响,理想的服务质量属性评价应根据任务执行而不同。 四、小结 综上所述,服务组合的基础是 Web 服务的形式化描述,Web 服务组合是 Web 服务研究领域中的一个重要的研究分支,具有重要的理论意义和实用价值。利用与平台无关的 Web 服务应用能够将商业智能功能整合到企业应用程序当中,在海量的组合方案中,快速灵活地为
11、用户选择出满足用户 QoS 需求的服务组合方案,为决策提供必要的商务智能信息服务,辅助达到更高层次的决策支持。 参考文献: 1IBM Corporation. Web Services: Web Services architect, Part I: An Introduction to Dynamic E-business, 2001,http:/ 2BEA, IBM, Microsoft (2003), Business Process Execution Language for WebServices (BPEL4WS).http:/xml.coverpages.org/bpel4ws.html 3IBM.WS-Bpel.http:/ 4岳昆王晓玲周傲英:Web 服务核心支撑技术:研究综述J.软件学报 ,2004,15(3):438-440