第二章 Web 服务组合技术概述
本章主要介绍与 Web 服务组合相关的一些基本理论知识。首先给出 Web 服务和面向服务的体系结构的相关概念与理论基础,并简要介绍 Web 服务技术的基本理念及其技术架构,然后阐述 Web 服务组合的相关定义以及描述方法,最后详细介绍业务流程执行语言 BPEL 的基本概念与模型结构。
2.1 Web 服务与 SOA
所谓 Web 服务是指一种基于网络的自描述、自包含的软件构件,具有松耦合、独立性强等特点。它以 SOAP、WSDL 以及 UDDI 等标准协议为核心,采用面向服务的体系结构,通过服务发布、查找以及绑定等基本操作,实现分布式环境中动态、开放的互操作以及跨平台应用。随着互联网和网络技术的快速发展,Web 服务技术的研究与应用已成为学术界与工业界关注的热点。作为一种具有强大发展潜力的集成技术,Web 服务技术已成为面向服务的体系结构最成功、最流行的实现方式。Web 服务技术成功的关键在于定义和使用了一系列标准化的协议和语言,能实现跨平台、跨组合的服务间的集成和互操作。这些标准几乎涵盖了面向服务软件开发的所有方面,如业务数据的表示和交换、服务功能属性和非功能属性的描述以及多服务的协作、聚合和管理等。
Web 服务的关键概念是面向服务的体系结构(SOA)。SOA 是一个设计软件系统的逻辑方式,它通过发布和发现接口,既可向用户提供服务,也可向分布在网络上的其它服务提供所需服务[49]。在 SOA 的架构风格中,服务是最核心的抽象手段,业务被划分为一系列粗粒度的业务服务和业务流程,其中,业务服务相对独立、自包含、可重用,由一个或者多个分布的系统所实现,而业务流程则由服务组装而来。SOA 的主要目的就是使得已有的技术间具有通用的互操作性,并使得未来的应用以及体系结构具有可扩展性。使用 SOA 可将孤立的静态系统转化为模块化的、灵活的构件,而该构件代表了可通过业界的标准协议进行访问的、基于消息的以及可与外部应用进行交互的服务。一般而言,基本的 SOA 将软件代理之间的交互定义为服务请求者和服务提供者之间的消息交换。
2.2 Web 服务组合
所谓 Web 服务组合是指将若干服务按照一定的业务逻辑进行组装形成组合服务,并通过执行该组合服务而达到业务目标的过程。Web 服务组合可以利用较小的、简单的、且易于执行的轻量级 Web 服务来创建功能更为丰富、更易于用户定制的复杂 Web 服务,从而能够将松散耦合的、分布在网络上的各类相关服务构件有机地组织成一个更为可用的系统,促进服务的复用,支持企业之间及企业内部的应用集成和动态电子商务等网络应用。如图 2-3 所示,从服务执行的角度来看,Web 服务组合大致可分为两类[54,55]:编制(Orchestration)和编排(Choregraphy)。其中,编制是指存在一个中心服务,它负责控制整个流程,由该中心服务决定何时调用哪个服务,直到它认为流程已经结束为止。这个中心服务了解编制的总体目标、涉及的操作与操作的调用顺序以及在出现错误和异常时如何进行补偿等;与编制相反,编排不存在这样的中心控制者,它刻画多个参与者为实现多组织业务功能而进行的交互,也就是说编排主要描述的是不同流程之间的交互情况,是从一个全局或中立的角度来定义每个参与者之间的协作。当进行消息交换以及满足共同商定的排序规则时,Web 服务参与者之间通常是对等协作关系。
第三章 形式化技术概述......................................14
3.1 形式化方法..................................14
3.2 模型检测技术.......................................15
3.3 本章小结................................................19
第四章 数据和时间感知的 Web 服务....................20
4.1 问题描述..................................................20
4.2 数据和时间感知的 Web 服务组合........................23
4.3 实例分析...................................................26
4.4 本章小结...............................................28
第五章 数据和时间感知的 Web 服务..............................29
5.1 Web 服务组合静态验证研究.................................29
5.2 Web 服务组合模型检测 .................................31
5.3 实例分析...............................................35
5.4 本章小结.......................................................37
第六章 数据和时间感知的 Web 服务......................................38
6.1 Web 服务组合动态验证研究.........................................38
6.2 基于诊断模型的 Web 服务组合..............................40
第七章 总结与展望
7.1 本文工作总结
近年来,“面向服务”成为计算机科学与技术领域的主流思想之一,面向服务的计算(SOC)和面向服务的体系结构(SOA)也逐步成为软件开发技术和分布式系统发展的一个新的里程碑。SOC 倡导以服务及其组合为基础构造 Web 应用的开发模式,而 SOA 作为一种面向服务计算平台的核心,通过 Web 服务来促进面向服务架构理念的发展。目前,以 Web 服务为主流实现技术的各类服务在 Internet 中的数量呈快速增长态势,通过服务组合的方式,灵活、快速构建的网络应用也已发展到社会的各个领域,然而如何保证 Web 服务组合的质量问题,也已成为目前业界的关注热点。Web 服务组合建模与验证技术的研究对于提高 Web 服务组合的可信性,促进服务的复用,推动面向服务概念的发展具有重要作用。本文围绕服务组合研究领域所涉及的三个核心科学问题:Web 服务组合的建模、静态验证及运行时动态验证展开具体研究,本文主要工作如下:
(1) 分析并建立了一个可以有效刻画数据及时间等信息的 Web 服务组合形式化模型。用有限自动机来建模 Web 服务的交互动作,用时间自动机中的时钟来表达时间信息,用消息数据来表达数据信息,基于此,建立了数据和时间感知的 Web 服务模型 DTSM,并以此为基础,建立了多个 DTSM 模型的 Web 服务组合模型以及常见的基本组合模型。
(2) 提出了一种能够对 Web 服务组合的行为属性、时间属性以及数据属性等进行有效验证的理论方法。以模型检测技术为基本思想,从 Web 服务组合规约出发,建立了 BPEL 至 DTSM 模型以及 DTSM 模型至 UPPAAL 规约的映射规则,并采用计算树逻辑公式 CTL 对 Web 服务组合属性进行形式化规约,利用模型检测工具UPPAAL 实现了 Web 服务组合相关属性的验证和分析。
参考文献
[4] Lei LH, Duan ZH. Modeling and Verifying Composite Web Services Based onSemantic Annotated Petri Nets[J]. Journal of Frontiers of Computer Science andTechnology, 2009, 3(2): 173-187.
[5] Xu CX, Qu WL, Wang HP. A Petri Net-Based Method for Data Validation of WebServices Composition[C]. In: Proc. of the 34th Int’l Conf. on Computer Softwareand Applications (COMPSAC’10), Seoul, Korea, 2010: 468-476.
[6] Wulanmu A, Tian B, Zhang DZ. Modeling and Optimization of Web ServiceProcess Based on Petri Net[C]. In: Proc. of the 2nd Int’l Conf. on InformationScience and Engineering (ICISE’10), Hangzhou, China, 2010: 6712-6715.
[7] Yu B, Li DL. Verifying Web Services of OWL-S with Petri Net[C]. In: Proc. of the5th Int’l Conf. on Computer Science and Education (ICCSE’10), Hefei, China,2010: 891-896.
[8] Li SH. Modeling the WorkUnit of WS-CDL Based on Process Algebra[C]. In: Proc.of Int’l Conf. on Research Challenges in Computer Science (ICRCCS’09),Shanghai, China, 2009: 149-152.
[9] Gu JK, Han L, Wang B. Algebra Process Approach for Accessing ControlCompatibility Analysis of Web Service[C]. In: Proc. of the 4th Int’l Conf. onIntelligent Computation Technology and Automation (ICICTA’11), Changsha,China, 2011: 755-758.
[10] Li LX, Jin Z, Li G. A Process Algebra for Environment-based Specification of WebServices[C]. In: Proc. of the 6th Int’l Symposium on Service Oriented SystemEngineering (SOSE’11), Irvine, CA, USA, 2011: 286-296.