(计算机软件与理论专业论文)基于π演算的web服务组合的建模与验证.pdf_第1页
(计算机软件与理论专业论文)基于π演算的web服务组合的建模与验证.pdf_第2页
(计算机软件与理论专业论文)基于π演算的web服务组合的建模与验证.pdf_第3页
(计算机软件与理论专业论文)基于π演算的web服务组合的建模与验证.pdf_第4页
(计算机软件与理论专业论文)基于π演算的web服务组合的建模与验证.pdf_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 w e b 服务组合是一种基于面向服务架构的技术,通过把功能单一的单个w e b 服务 组合起来,实现了服务的重用与增值,解决了互联网异构应用的集成和协作问题。w e b 服务组合的特点包括松耦合,行业支持,高度可集成等。 w e b 服务组合过程非常复杂,涉及多个w e b 服务的通信协作,导致对w e b 服务组 合的正确性验证将是十分困难的。但是服务组合的正确性问题决定了w e b 服务组合能 否被正确的实施,错误的实施则会给企业带来严重的损失,所以在w e b 服务组合被正 式实施以前对其进行正确性验证是必须的。目前描述w e b 服务组合的语言使用最为广 泛的是w s f l 、x l a n g 、w s c d l 、b p e l 等,它们有一个共同的缺点,缺乏形式化 的工具对其进行正确性验证。所以对w e b 服务组合如何进行形式化的建模,以及如何 验证模型的正确性成为w e b 服务组合研究领域的一个重要问题。 对形式化建模方法进行了大量研究后,本文提出了一种基于兀演算的w e b 服务组 合的建模方法,并对模型进行验证工作,研究成果包括以下三个方面: ( 1 ) 基于兀演算的b p e l 业务流程的建模 本文给出了b p e l 一系列关键元素到演算的建模方法,实现了演算对b p e l 的自动化建模。 ( 2 ) 基于兀演算的b p e l 业务流程模型验证 本文给出了对模型的死锁验证、活锁验证、可达性验证等模型正确性验证的算法, 实现了对w e b 服务组合的正确性验证。 ( 3 ) w m v 工具的设计与实现 本文设计并实现了对w e b 服务组合的兀演算的自动化建模验证的工具w m v 工 具。 关键字:兀演算,w e b 服务组合,b p e l ,建模,w m v 工具 a b s t r a c t w e bs e r v i c ec o m p o s i t i o ni sat e c h n o l o g yw h i c hi sb a s e do ns e r v i c e o r i e n t e da r c h i t e c t u r e i tr e a l i z e dt h er e u s ea n de n h a n c e m e n t so fs e r v i c e st h r o u g hc o m p o s i n gt h es i n 西ef u n c t i o na n d i n d i v i d u a lw e bs e r v i c e sw h i c hc a ns o l v es o m ep r o b l e m sa b o u ti n t e g r a t i o na n dc o l l a b o r a t i o n o ft h eh e t e r o g e n e o u sa p p l i c a t i o no ni n t e r n e t w e bs e r v i c ec o m p o s i t i o ni sav e r yc o m p l e xp r o c e s sw h i c hi n v o l v e sc o m m u n i c a t i o n c o l l a b o r a t i o no fm u l t i p l ew e bs e r v i c e s s ov e r i r y i n gt h ew e bs e r v i c ec o m p o s i t i o ni sv e r y d i f f i c u l t b u ti t sn e c e s s a r yt ov e r i f yt h ew e bs e r v i c e sc o m p o s i t i o n t h em o s tw i d e l yu s e d l a n g u a g et od e s c r i b et h ew e bs e r v i c ec o m p o s i t i o na r ew s f l ,x l a n g , w s c d l ,b p e l ,a n d s oo n t l l e yh a v eac o m m o nd r a w b a c kt h a ti st h e r ei s n tf o r m a lt o o lt os u p p o r tt h e i r v e r i f i c a t i o n s oh o wt of o r m a lm o d e l i n ga n dv e r i f yo ft h ew e bs e r v i c ec o m p o s i t i o ni sa n i m p o r t a n ti s s u e t h i sp a p e rp r e s e n t saw e bs e r v i c ec o m p o s i t i o nb a s e do n 兀一c a l c u l u sm o d e l i n gt h r o u g h al o to f r e s e a r c ha b o u tf o r m a l i z a t i o nm o d e l i n g ,r e s u l t si n c l u d et h ef o l l o w i n gt h r e ea s p e c t s : ( 1 ) b p e lb u s i n e s sp r o c e s sm o d e l i n gb a s e do n 一c a l c u l u s t h i sp a p e rp r e s e n t san u m b e ro fm o d e l i n gm e t h o d s a b o u tas e r i e so fk e ye l e m e n t so f b p e l ,a n da c h i e v e st h ea u t o m a t i o n - c a l c u l u sm o d e l i n ga b o u tb p e l ( 2 ) b p e lb u s i n e s sp r o c e s sm o d e lv e r i f i c a t i o nb a s e do n 兀一c a l c u l u s t h i sp a p e rp r e s e n t sc o r r e c t n e s sv e r i f i c a t i o na l g o r i t h mw h i c hi n c l u d e sd e a d l o c k ,l i v e l o c k , r e a c h a b i l i t yv e r i f i c a t i o n ( 3 ) d e s i g na n di m p l e m e n t a t i o no fw m v t 0 0 1 d e s i g na n di m p l e m e n t e da na u t o m a t e d - c a l c u l u sm o d e l i n ga n dv e r i f i c a t i o nt o o la b o u t w e bs e r v i c e sc o m p o s i t i o n - w m vt 0 0 1 k e y w o r d s :- c a l c u l u s ,w e bs e r v i c ec o m p o s i t i o n ,b p e l ,m o d e l i n g ,w m vt o o l 西北大学学位论文知识产权声明书 本人完全了解西北大学关于收集、保存、使用学位论文的规定。学校 有权保留并向国家有关部门或机构送交论文的复印件和电子版。本人允许 论文被查阅和借阅。本人授权西北大学可以将本学位论文的全部或部分内 容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存 和汇编本学位论文。同时授权中国科学技术信息研究所等机构将本学位论 文收录到中国学位论文全文数据库 保密论文待解密后适用本声明。 学位论文作者签名:圣! 蔓垦 h 咖年石月7 日 西北大学学位论文独创性声明 本人声明:所呈交的学位论文是本人在导师指导下进行的研究工作及 取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方外,本 论文不包含其他人已经发表或撰写过的研究成果,也不包含为获得西北大 学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对 本研究所做的任何贡献均己在论文中作了明确的说明并表示谢意。 学位论文作者签名:互惟 7 砀珲1 6 1 月7 e t 西北大学硕:1 :学位论文 第一章绪论 本章介绍本文的研究背景及意义,介绍目前w e b 服务组合建模与验证领域的国内 外研究现状,主要介绍了基于p e t r i 网、自动机理论和进程代数三方面的研究成果,最 后简单介绍本文的研究内容与组织结构。 1 1 研究背景及意义 s o a ( s e r v i c e - o r i e n t e d a i c h i t c e t u r e ) 是一种面向服务的体系架构,代表了软件开发 与分布式计算机的最新发展方向。s o a 的兴起、发展与成熟引导了软件行业的新一轮 发展浪潮,给软件产业带来了又一次的重大革命【l 】。 s o a 具有松耦合、与实现无关、开放性等特点。服务是s o a 的基本单位,是s o a 系统中的构建模块。不同组织提供并发布到互联网上的这些服务是由x m l 、s o a p 、 w s d l 以及u d d i 等技术组成的并通过网络实现彼此间的通信。s o a 与w 曲服务之间 是相辅相成的关系,s o a 促进了w e b 服务的兴起与发展,反过来w e b 服务技术逐渐的 发展与成熟起来又为实施和部署s o a 系统提供了良好的技术支持。 由于w e b 服务技术的目的就是在目前存在的各种异构平台上构筑一个可以通用的 与开发平台、开发语言等无关的技术层,异构平台上的应用可以利用这个技术层来实现 彼此的联系与集成【2 】。因此w e b 服务为我们提供的发展平台是开放式的,用户可以使用、 展开、连接和管理分布于全球的网络服务。随着w e b 服务技术越来越成熟,更多的稳 定并且易用的w e b 服务被部署在网络上供用户使用。这些w e b 服务之间是孤立分布的, 每个w e b 服务可以向用户提供某一功能,解决了异构平台间应用的整合问题,为跨企 业边界的自动化业务流程提供了技术基础,但是单个的w e b 服务提供的功能相对来说 还是比较单一的,无法构成一个完整的业务应用,依然不能满足客户的需要。为了解决 这个问题,w e b 服务组合技术应运而生。w e b 服务组合技术可以把部署在i n t e m e t 上的 由不同w e b 服务提供者提供的w e b 服务根据特定的需要组合成一个新的w e b 服务,组 合后的w e b 服务具有更为强大的功能,可以满足用户的需要。 随着w e b 服务组合技术的发展,描述w e b 服务组合的各种规范也被相继推出。其 中应用较为广发的规范包括w s f l ( w e bs e r v i c e sf l o wl a n g u a g e ) 、x l a n g 、w s c d l 、 b p e l ( w e bs e r v i c e b u s i n e s sp r o c e s se x e c u t i o nl a n g u a g e ,b p e l ) 等。其中b p e l 是一种 基于x m l 语言开发的协议,它支持面向业务流程的服务组合,结合w s f l 规范与 第一章绪论 x l a n g 规范的优点,抛弃比较繁琐的部分,形成了一种具有自身特色的自然的描述商 业活动的抽象语言。b p e l 规范制定了一系列的语法规则用来描述w e b 服务组合流程中 的控制流、数据流等。在b p e l 中参与组合的一系列服务的执行顺序被称为流程,参与 组合的服务、服务的合作者、服务之间信息的交换等操作被称为活动。b p e l 语言具有 很高的灵活性,支持嵌套的组合,用户还可以根据需要随时的对组合进行扩展。事实上 b p e l 是到目前为止,描述w e b 服务组合中的最为成熟与最被广泛支持的规范。本文所 研究的对w e b 服务组合的兀演算建模与验证工作第一步实现的就是对b p e l 所描述的 w 曲服务组合的建模与验证。 将众多的w e b 服务组合起来,其目的就是为了实现更为强大的功能,满足用户的 需求。但是如果一个服务组合的流程存死锁、活锁、不可达性等错误,就会导致整个 w 曲服务组合被错误的实施,这样也就无法正确的实现其强大功能。服务组合是一个非 常庞大和复杂的过程,如果我们在流程被错误实施后才发现存在错误,然后再去更改错 误,那将是一项非常困难并且耗时的工作,因此在组合服务流程实施以前对其进行正确 性验证是非常必要的。目前描述w e b 服务组合的各种规范,都是非形式化或者半形式 化的,缺少形式化的验证工具的支持,大多数验证只能采取手工验证的方法。众所周知, 手工验证是一种非常费时,并且出错率极高的验证方法,再加上w e b 服务组合本身的 庞大性及复杂性,所以采取手工验证方式对其进行正确性验证更是难上加难。因此寻找 一种对w e b 服务组合进行正确性验证的可行的形式化方法是目前亟待解决的问题,针 对w e b 服务组合的形式化验证已经成为w e b 服务技术的热点之一。 1 2 国内外研究现状 w 曲服务组合的形式化描述与验证已经成为w 曲服务组合的一个重要的研究方向, 目前主要存在两方面的问题:一方面验证工作非常困难,如前所述,手工验证方法不可 行,又缺少形式化的验证工具的支持;另一方面验证工作又必不可少,如果未加验证的 w e b 服务组合在实施以后才发现问题,那修复的工作量将是非常巨大的。解决这两方面 问题的方法就是要找到一种对w e b 服务组合的形式化的建模与验证的方法。 本文对国内外w e b 服务组合形式化的建模与验证方法进行了大量的研究工作,发 现多数研究集中于三个方面,分别是p e t r i 网、自动机理论和进程代数( p r o c e s s a l g e b r a ) 。 p e t r i 网的特点是具有直观的图形表示方式和丰富的形式化语义,可以自然地描述 一些系统特性,如并发性、同步性、资源竞争等【4 】,最重要的一点是它不但可以描述 2 西北大学硕十学位论文 w e b 服务的动态行为,而且还可以对w e b 服务的运行状态的进行验证,这也是p e t r i 网 做为一种形式化的描述w e b 服务组合的方式被广泛地应用于流程分析与验证领域的主 要原因。文献 5 】提出了用p e t r i 网对b p e i a w s 进行建模的思想,同时利用w o m b a t 4 w s 方法对建模后的模型进行了一致性的验证。文献 6 介绍了用p e r t r i 网对w 曲服务进行 建模的过程,用两个库所和一个变迁来表示一个w e b 服务。其中第一个库所表示接收 w e b 服务的输入信息;一个变迁表示制定w e b 服务的操作;第二个库所表示保存w e b 服务输出产生的结果。文献 7 采用一种基于着色p e t r i 网( c p n e t s ) 的方法对b p e l a w s 描述的w e b 服务组合进行了映射,定义了一系列的从b p e l a w s 到c p n e t s 的映射规则, 按照这些规则就可以把b p e l 业务流程建模为c p n 模型,然后再使用已有的c p n 工具 对建模后的模型进行了分析与验证,达到对b p e l 业务流程验证的目的。文献 8 ,9 ,1 0 则提出了一种基于p e t r i 网的w e b 服务组合代数,它采用的是直接将w e b 服务组合的各 种操作符映射到p e t r i 网结构的方法,用p e t r i 网的形式来表达服务组合操作符的形式语 义。任何以这种代数结构表示的w e b 服务组合都可以被转换成与之相对应的p e t r i 网的 描述方式。利用此方法还可以对转换后的服务组合进行验证,以确保w e b 服务组合的 正确性。文献 1 1 给出了w s b p e l 描述的w 曲服务组合的一系列活动到分层p e t r i 网的 建模方法,对w s b p e l 业务流程进行了建模,然后采用h p s i m 工具对建模后的模型 进行了性质分析与正确性的验证。 基于自动机理论的对w e b 服务组合进行建模与验证的许多研究也有值得我们关注 的方面。如文献 1 2 ,1 3 ,1 4 提出了一套包括g u a r d e da u t o m a t a 、p r o m e l a 语言、s p i n ( s i m p l e p r o m e l ai n t e p r e l e r ) 模型检测器的技术与工具,并且给出了分析与验证w e b 服务组合的 完整方法,利用这套技术、工具、验证方法可以对w e b 服务组合的正确性进行快速的 验证。文献 1 5 】提出了用卫式自动机( g u a r d e da u t o m a t o n ) 来描述w 曲服务的方法,给 出了b p e i a w s 的 活动、 活动、 活动、 活动、 活动到卫式自动机的转换规则。文献【1 6 则提出的是用一种基于扩展有限自动机的方法 来验证w e b 服务组合的正确性,实现了对w e b 服务组合的简化以及自动化的验证。验 证包含两个方面,一方面是验证服务组合有没有满足系统需求;另一方面是验证w e b 服务组合在运行的过程中存不存在逻辑错误。通过对基于自动机理论的w e b 服务组合 的建模与验证成果的研究我们可以发现,无论哪种研究成果都没有给出一整套的w e b 服务组合到自动机理论的建模规则,而且按照这些不完整的建模规则对w 曲服务组合 建模后的模型普遍存在状态空间爆炸的问题。 第一章绪论 基于进程代数理论对w e b 服务组合进行建模与验证的研究同样也有不俗的表现。 进程代数是一类使用代数方法来研究通信并发系统的理论的泛称【1 7 】,进程间是通过通信 来实现彼此之间的联系以及互相发生作用的。进程代数包括通信系统演算( c a l c u l u so f c o m m u n i c a t i n gs y s t e m s ,c c s ) 、通信顺序进程( c o m m u n i c a t i o ns e q u e n t i a lp r o c e s s ,c s p ) 和演算等。 文献 1 8 中m k o s h i n a 和f v a n b r e u g e l 提出了用c c s 对b p e l 4 w s 进行建模,用 c w b ( t h e c o n c u r r e n c yw o r k b e n c h ) m n c 来验证建模后模型的正确性。文献 1 9 仍是 用c c s 对b e p l 4 w s 进行建模,不过它用进程表达式的形式化模型分析了w e b 服务行 为,并对w e b 服务组合进行了包括可替换性与兼容性的性质验证。文献 2 0 提出了一套 进程代数到b p e l 4 w s 的映射规则以及b p e l 4 w s 到进程代数的映射规则,实现了进程 代数与b p e l 4 w s 的双向映射,同时用已有的进程代数验证工具对b p e l 4 w s 进行了性 质验证。文献 2 1 提出了一种将b p e l 业务流程转换为f s p ( f i n i t es t a t ep r o c e s s ) 进程的方 法,并利用l t s a ( t h el a b e l e dt r a n s i t i o ns y s t e ma n a l y z e r ) - f 具来对转化后的进程进行了 验证。这几种方法都是采用将w 曲服务组合流程描述语言转换成相应的进程代数的描 述方式,然后再利用已有的工具对其验证。由于这些工具支持的仅仅是模型检验,所以 只能实现对w e b 服务的验证,但并不适合对服务组合流程的正确性验证。文献【2 2 】提出 了用演算对w e b 服务组合进行建模,然后用m w b ( m o b i l i t yw o r k b e n c h ) 自动化工 具对建模后的模型进行了验证。m w b 2 3 ,2 4 1 是用s m l 语言开发的,运行在n e wj e r s e y s m l 的编译器下,用于分析和检验基于兀演算所描述的移动并发系统的工具, 兀一演算不但可以传递变量和值,而且可以传递通道名,这就使演算具备了一种 建立新通道的能力。这种能力对于用演算来描述分布式松耦合的并发系统特别适合, 而w e b 服务组合就属于这样的系统。并且对演算的验证也存在现有的m w b 工具, 可以验证并发系统是否存在死锁,还可以判断有穷的状态进程之间的互模拟性质等。丌 演算的这些优点决定了其作为对w e b 服务组合的形式化建模方式非常合适,这也是本 文选择用演算对w e b 服务组合进行建模的原因。本文采取的验证方法基于m w b 工 具的验证方法,对其进行了修改与提高,使建模后的模型无需人工操作就可以直接进行 验证工作,并且将验证模块嵌入到本文开发的州工具中,形成风格统一的界面。 1 3 本文研究内容 本文在前人研究的基础上,分析了各种形式化建模的优缺点,最后选择用兀演算 4 西北大学硕一l 学位论文 对w 曲服务行为以及各服务之间的交互行为进行建模。如1 2 节所述,演算在描述 服务组合流程上具有一定的优势,并且存在形式化的检验工具m w b ,所以本文主要研 究的是基于演算的w e b 服务组合的建模与验证,修改了m w b 工具的验证算法,使 修改后的验证模块与本文开发的w m v ( m o d e l i n ga n dv e r i f yt o o lo fw e bs e r v i c e c o m p o s i t i o n ) 工具相容,形成界面统一、并且无需手工操作的自动化建模与验证工具。 本文研究内容可以概括为以下四个方面: ( 1 ) 对w 曲服务、w e b 服务组合、b p e l 业务流程的基础知识进行介绍,为基于 一演算的w 曲服务组合的建模提供了理论基础和技术支持。 ( 2 ) 概述了兀演算的概念,介绍了兀演算的定义、操作语义、化简规则、等价 规则等,给出了b p e l 的一系列关键元素到的演算的建模方法。 ( 3 ) 在前面研究的理论基础上,设计并且实现了对w 曲服务组合进行建模与验证 的工具w m v 。 ( 4 ) 通过房屋贷款案例,显示了利用w m v 工具对其用b p e l 语言描述的w e b 服 务组合进行一演算建模、以及对建模后的模型进行验证的过程。 1 4 本文组织结构 全文共分为六章,组织结构图如图1 1 所示: 图1 1 论文组织结构 第一章绪论 本章介绍了本文的研究背景与意义,总结了目前w e b 服务组合建模与验证领域的 国内外研究现状,介绍了本文的研究内容以及本文的组织结构。 第一章绪论 第二章相关技术介绍 本章介绍了与本文研究内容相关的w e b 服务、w e b 服务组合、b p e l 等技术的基本 概念,简要描述了他们的起源,发展历程,核心技术,体系结构等。着重介绍了b p e l 的关键元素,各种活动,业务流程经历状态等,为后面的研究打下了坚实的理论基础。 第三章w e b 服务组合的演算的建模与验证 本章首先介绍了演算的基本概念,包括演算的语法、语义规则、化简规则、 等价规则等,然后给出了b p e l 的一系列关键元素到兀演算的建模方法,最后简单介 绍了w e b 服务组合需要进行正确性验证的三个基本性质。 第四章w m v 工具的设计与实现 本章给出了w m v 工具的总体功能分析以及各模块的功能分析,给出了验证模块的 主要算法,给出了工具实现的总体包图和类图,简单介绍了用户界面。 第五章w m v 工具的应用 本章以房屋贷款案例为例,显示了用w m vi 具对b p e l 描述的w 曲服务组合进 行演算建模、以及对建模后的模型进行验证的过程,通过这一案例显示了w m v 工 具的实用性及其在w e b 服务组合建模与验证方面的优越性。 第六章总结与展望 本章对全文进行了总结,同时指出了在研究中存在的问题以及将来的研究方向。 6 西北大学硕士学位论文 第二章相关技术介绍 本章简单介绍w e b 服务、w e b 服务组合的基础知识,了解他们的起源、定义、体 系结构以及特点等。重点介绍b p e l 语言,了解b p e l 的起源与发展历程,核心元素, 以及b p e l 业务流程经历状态。 2 1w 曲服务概述 2 1 1w e b 服务的定义 w e b 服务诞生于2 0 世纪末,在当时是一种新兴的w e b 应用模式。自它诞生以来对 它的定义可以说是众说纷纭,莫衷一是,人们从功能角度、语义角度、组成框架等各种 角度对w e b 服务进行了定义。2 0 0 4 年初,为了使人们对w e b 服务的认识统一起来,w 3 c ( w o d dw i d ew 曲c o n s o r t i u m ) 组织在w e b 服务体系结构( w 曲s e r v i c e sa r c h i t e c t u r e w s a ) 2 5 1 中对w e b 服务进行了概括性的定义:w e b 服务是一个由u r l 标识的软件系 统,其接口和绑定都可以通过x m l 来进行定义、描述,并且w e b 服务可以被发现。单 个w e b 服务是通过支持基于网络的协议和使用基于x m l 的消息来达到与其他w e b 服 务或其他软件应用直接交互的目的的。 2 1 2w e b 服务的体系架构及其特点 由于w e b 服务提供了一个在网络这种松耦合环境下完成应用程序间互操作和互集 成的技术框架,所以基于此技术框架产生的w e b 服务的体系结构与传统的分布式体系 结构有很大的区别。w e b 服务体系结构2 6 1 是基于服务注册中心、服务请求者、服务提 供者这三种角色之间的交互。对应于这三种角色的主要操作有服务查找、服务绑定以及 服务发布。这些角色以及与之对应的操作共同作用于w e b 服务构件、应用模块和w e b 描述。 服务提供者、服务请求者都是存在于网络上的应用实体。其中服务提供者定义w e b 服务的服务描述并将此服务描述发布给服务请求者或者服务注册中心,同时接收和响应 来自于服务请求者的消息,服务提供者在此过程中调用由u d d i ( 统一描述、发现和集 成协议) 技术来实现服务发布操作。服务请求者调用服务查找操作来从服务注册中心的 服务库中查找所需要的服务描述,然后调用服务绑定操作将此w e b 服务绑定后再调用 该w e b 服务。其中服务查找操作由u d d i 技术、w s d l ( 服务描述语言) 技术实现, 服务绑定操作由w s d l 技术和s o a p ( 简单对象访问协议) 技术实现。服务注册中心 7 第二章相关技术介绍 包含一个服务库,服务提供者调用服务发布操作在此发布服务,服务请求者调用服务查 找操作在此查询所需服务。在w e b 服务体系结构中,服务请求者与服务提供者之间存 在一种逻辑对等关系,既任何服务在一个流程中都可表现出两种角色特性,既可以扮演 服务提供者的角色,也可以扮演服务请求者的角色。w e b 服务的体系结构如图2 1 所示: 图2 1w e b 服务的体系结构图 通过w e b 服务的定义以及w e b 服务的体系架构,我们了解到以w e b 服务的外部使 用者的角度来看,w e b 服务其实就是一种部署在i n t e m e t 上的对象或者组件,它具有下 列特征: ( 1 ) 封装性:w e b 服务既然可以被看做是一种部署在网络上的对象,它自然就具有 对象的种种特性,其中就包括对象所具有的封装性。w e b 服务通过把接口与协议封装起 来,使服务请求者看到的只有服务提供者所提供服务的功能列表。 ( 2 ) 可复用性:w e b 服务的可复用性包括信息可复用与服务可复用。 ( 3 ) 松耦合性:w e b 服务通过服务接口自动生成w s d l 文件,这个w s d l 文件描 述了包括服务提供的操作及各种参数等与服务有关的所有信息。所以服务请求者在调用 所需服务时,只要服务接口不改变,那么所调用服务实现的任何变化对于它来说都是感 觉不到的。 ( 4 ) 标准性:与w e b 服务相关的所有协议基本上都是通过标准协议来进行描述、 传输、交换的。这些标准协议最终将由o a s i s ( o r g a n i z a t i o n gf o rt h ea d v a n c e m e n to f s t r u c t u r e d ) 2 7 1 、w 3 c 等权威机构作为最终版本的发布方和维护方。 2 1 3w e b 服务的关键技术 由2 1 2 所述可知w e b 服务所涉及到的关键技术包括x m l 、w s d l 、s o a p 和u d d i 。 其中x m l 是w s d l 、s o a p 、u d d i 的基础,是w e b 服务最为核心的技术;w s d l 是 w e b 服务的编程接口;s o a p 为应用程序与w e b 服务之间的交互提供了通信手段;u d d i 为w e b 服务及其他应用程序创建了一个可查找所需服务的服务注册中心。图2 2 显示了 w e b 服务涉及到的关键技术之间的关系: 8 西北大学硕士学位论文 i 蓁l 苫三i i i 一| | | | | | i 垂j ( 二二二二要蒌矍茎蜀1 | | 雪;| c 蒌( s o 匹a p ) l 厂弋厕丽丽 ( 1 ) x m l 可扩展标记语言( e x t e n s i b l em a r k u pl a n g u a g e ) ,由w 3 c 组织创建并发布用来创建 自描述标记的简单灵活的语言规范。在w e b 服务体系结构的模块内部以及模块之间, 消息都是以x m l 格式传递的。由于x m l 具有_ 瓦操作性、白描述性、平台无关性等特 点,因此x m l 能够扩展,共享数据、交换数据,保证统一的结构化数据。 ( 2 ) w s d l w 曲服务描述语言( w e bs e r v i c e sd e s c r i p t i o nl a n g u a g e ) ,是一种基于x m l 语言的 用来描述w e b 服务,w e b 服务所涉及的函数、参数,函数返回值以及w e b 服务间通信 情况的语言,可以自动的执行应用程序交互过程中包含的细节【2 8 】。它将w e b 服务定义 为一组进行信息交换的服务访问点的集合,客户端通过此集合对包含面向过程调用或者 面向文档信息的w e b 服务进行访问。表2 1 显示了w s d l 的组成元素及其作用。 表2 1w s d l 主要元素构成 分类名称作用 消息 抽象定义了在通信中使用的消息的数据结构 ( m e s s a g e s ) 类型( t y p e s ) 数据类型的容器,包含了所有在消息定义中需要的x m l 元素的 抽象 类型定义。 定义 端口类型定义了一种服务访问入口的类型,包含若干操作。 部分 ( p o r t t y p e ) 每个操作代表访问入口支持的一种类型调用,w s d l 支持包括单 操作向请求、单向响应、请求响应、响应请求四种访问入口调用模式。 ( o p e r r a t i o n ) 服务( s e r v i c e )描述的是一个具体的被部署的w e b 服务所提供的所有访问入口的 具体部署细节,一个服务可包含多个服务访问入口。 定义绑定定义某个端口类型的一个具体协议和数据格式规范的绑定。 部分 ( b i n g d i n g ) 端口( p o r t ) 描述服务访问入口的细节,包括地址、消息调用模式。 ( 3 ) s o a p 9 第二章相关技术介绍 简单对象访问协议( s i m p l eo b j e c ta c c e s sp r o t o c 0 1 ) 是一种基于x m l 语言的支持 信息交换、支持从消息系统到远程过程调用( r p c ) 的轻量级的简单协议,它在w e b 上 交换固化的和结构化的信息,实现了异构应用间的互操作性。s o a p 通过提供一个模块 化的包装模型以及重编码的数据模块来定义特定语义,它本身并不包含编程过程中涉及 的特定语义的实现【2 9 1 。表2 2 反映了s o a p 的结构。 表2 2s o a p 结构 组件作用 s o a p 封装定义了消息本身的一些消息,如消息内容,消息发送者,消 ( e n v e l o p ) 息接收者和响应方式。 s o a p 编码规则 定义了一种序列化的机制,用于交换应用程序定义的数据类 ( e n c o d i n g ) 型的实例。 s o a pr p c 定义了用丁表示远程调用和席答的协定要求。 s o a p 绑定定义了一个使用底层传输协议来完成:符点间交换s o a p 封 ( b i n d i n g ) 装的约定。 ( 4 ) u d d i 统一描述、发现和集成协议( u n i v e r s a ld e s c r i p t i o n ,d i s c o v e r ya n di n t e g r a t i o n ) 由 a r i b a ,i b m ,m i c r o s o f t 与其他3 3 家公司于2 0 0 0 年联合创立【3 0 1 。u d d i 是一套服务信 息与服务注册的标准,它提供了一组标准接口,定义了一个基于x m l 的说明w e b 服务 的信息模型。该信息模型包括信息提供者声明信息、绑定信息、商业服务信息、商业实 体信息、服务规范信息。图2 3 反映了u d d i 的信息模型。 或分。j 述信i i 有关服务入口 l 的技术信息 图2 3 u d d i 信息模型 通过u d d i ,服务的请求者可以指定调用由某个服务提供者发布的服务、何时发布 l o 西北大学硕士学位论文 的服务、服务实现的功能、在服务注册中心的服务库中查找所需要的服务的何种方式等 四个方面的问题。u d d i 提供了查询分发和重定向机制与数据复制与同步机制有效地保 证了注册中心查找操作和数据的一致性【3 1 1 。 2 2w e b 服务组合概述 随着w e b 服务技术的日益发展与成熟起来,越来越多的w e b 服务被发布到网络上, 如何使这些功能单一的孤立存在于网络上的w e b 服务组合成一个可以实现更为强大功 能的w e b 服务,已成为人们越来越关注的焦点。 2 2 1w e b 服务组合的定义 所谓w 曲服务组合就是指按照用户的需要从分布在互联网上的孤立存在的功能单 一的w e b 服务中挑选出合适的w e b 服务,并将这些w e b 服务组合成一个新服务的技术 【3 2 3 3 t 蚓。目前对w e b 服务组合的定义与w e b 服务一样还没有统一起来,研究人员对 w e b 服务组合的定义也是从各个角度出发的。有从企业功能角度定义的,如文献【3 5 】认 为,w e b 服务组合是企业将不同单位发布的w e b 服务按照需要整合起来为客户提供一 种具有增值服务的新的w e b 服务;有从执行角度定义的,如文献 3 6 认为,w e b 服务组 合是一个根据需要对事先定义好的业务流程进行查找操作并且将合适的w e b 服务与其 对应w 曲服务提供者进行绑定操作的过程。 虽然研究人员对w e b 服务组合的定义的角度不同,但他们都指出来w e b 服务在组 合过程中必须满足一定的要求:( 1 ) 要能动态地发现所需要的w 曲服务;( 2 ) 要能顺 利地将组合后的服务执行完成;( 3 ) 要能正确的对组合后的服务进行事务处理。 2 2 2w e b 服务的组合方式 互联网中分布的单个w e b 服务,大多数创建方式不同、实现语言不同、供应商不 同、运行平台不同。这些不同说明了w e b 服务之间存在很大的差异性,所以服务的请 求者必须根据一定的应用背景与需求对w e b 服务进行合理的组合。 w e b 服务组合可以按照以下几个方式进行分类: ( 1 ) 从组合的动态性程度上可以把w e b 服务组合的方式分为两大类:静态组合与 动态组合。静态组合是指服务的请求者在组合计划实施以前就要创建好一个抽象的过程 模型。模型包括w e b 服务提供者的地址信息以及端口信息等。动态组合是指服务的请 求者在组合运行的过程中根据需要动态的选择合适的服务进行绑定,而不必在w e b 服 第二章相关技术介绍 组合实施以前就指定好固定的w e b 服务。 ( 2 ) 从w e b 服务组合执行的角度上可以把w e b 服务组合的方式分为两种:服务编 制与服务编排。服务编制( o r c h e s t r a t i o n ) 指的是重用若干个w e b 服务内部的流程来构 建一个新的业务流程,由相关的引擎来执行这个新流程。而编排( c h o r e o g r a p h y ) 指的 是不同的w e b 服务之间通过相互协作从而形成一个新的业务流程。图2 4 说明了服务编 制与服务编排的过程,并显示了它们的区别。 服务编制过程;i服务编排过程 :。:一7 一。 、区别:编制有中研流程控制与协调所有参与7 、 的w e b j l l 曼务执行各自的操作,服务编排没有 ,。 中央流程,每个参与流程的w e b h 技务都清楚 自己什么时候该做怎样的操作,什么时候该 与哪个w e b 服务进行交互。 图2 4 服务编制与编排过程及区别 ( 3 ) 从w e b 服务组合方式的抽象层次上可以将w e b 服务组合从高到低分为四个层 次,依次为硬编码模式、基于组合定义语言的组合模式、基于b p 模型驱动的组合模式, 以及基于a i 规划的w e b 组合模式。表2 3 对四种模式进行了说明与比较。 表2 3w e b 服务组合四种模式比较 模式名称 特点 硬编码模式用硬编码的凡是实现服务组合,是服务组合灵活性最差、最原始的方 法,最终形成的服务组合适应性很差。 基于组合定义语用特定的w e b 服务组合语言( 如b p e l 语言) 来创建一个自动化的流 言的组合模式程,流程用来负责w e b 服务间的组合以及交互。 基于b p 模型驱分离组合逻辑与组合规范,用u m l 描述w e b 服务组合,是w e b 服 动的组合模式务组合在更抽象的层次上的模型化。 基于a i 规划的把w e b 服务作为趾的动作,用输入参数、输出参数、前提、结果等 w e b 组合模式描述w e b 服务,通过形式化的推理得出w e b 服务组合的序列,动态 地形成服务的组合方案。 1 2 西北大学硕士学位论文 2 2 3w e b 服务组合规范 i b m 是最早推出w e b 服务组合规范的公司,在2 0 0 1 年,i b m 公司推出了w e b 服 务流语言( w e bs e r v i c ef l o wl a n g u a g e ,w s f l ) ,紧接着,微软公司也推出了自己的规 范x l a n g ( e x c h a n g el a n g u a g e ) 。后来投入到w e b 服务组合研究中的学者、公司越来 越多,大家纷纷提出了自己的规范,这其中比较有影响力的规范包括b e a 系统、微软 公司、m m 共同开发的业务流程执行语言b p e l 4 w s ( b u s i n e s sp r o c e s se x e c u t i o n l a n g u a g ef o rw s ,b p e i a w s ) ,w 3 c 提出的w e b 服务编舞描述语言( w e bs e r v i c e s c h o r e o g r a p h yd e s c r i p t i o nl a n g u a g e ,w s - c d l ) 等。下面将对这几个w e b 服务组合规范 进行简单介绍。 ( 1 ) w s f l 是一种基于图论的过程建模方法,描述了如何对多个w e b 服务进行组 合,如何协调这些w e b 服务的调用,如何把w e b 服务组织成一个完整的业务流程。w s f l 支持服务组合的静态配置,也支持在服务注册中心动态地查找所需要的服务。 ( 2 ) x l a n g 是一种用来定义业务流程的语言,描述了流程中角色间收到与发送 消息的内容,这些消息传递的顺序,以及整个流程中角色之间相互交互的情况。它提供 了一种比较全面和灵活的模型来支持流程之间的相互嵌套以及服务组合的静态配置。 ( 3 ) w s c d l 是一种基于x m l 的非可执行语言,描述了w e b 服务组合过程中参 与服务间消息交互的各种协议,从中立与全局的角度描述了服务间的交互。 ( 4 ) b p e i a w s ,简写为b p e l ,描述的是基于w e b 服务的业务流程中w 曲服务 之间的交互行为。b p e l 将w s f l 基于图论的描述业务流程的优点与x l a n g 基于结构 化的过程构造的优点结合了起来,形成了一个支持以自然的方式实现各类业务流程的结 合性的软件包。b p e l 提供了抽象流程与可执行流程两

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论