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

(计算机软件与理论专业论文)基于分层petri网的web服务组合建模与验证.pdf.pdf 免费下载

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

文档简介

摘要 w 曲服务的出现代表了分布式计算的最新要求。随着应用需要的不断提升,w e b 服务技术已从基础设施构建与概念推广阶段向大规模商业应用阶段快速发展,从而 推动了支持b 2 b ( b u s i n e s s t o - b u s i n e s s ) 和e a i ( e n t e r p r i s ea p p l i c a t i o ni n t e g r a t i o n ) 的 w e b 服务组合研究。 本文通过剖析现有w e b 服务组合描述语言的结构组成,针对现有描述语言在形 式化方面建模和验证的不足,利用分层p e t r i 网作为形式化工具,对由w s b p e l ( w e b s e r v i c e sb 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 e ) 描述的w e b 服务组合进行建模和验证。 首先分析研究总结了常见的w e b 服务组合语言,对w s b p e l 结构和结构元素进 行分类。在此基础上,给出了一个完整的利用分层p e t r i 网对由w s 。b p e l 描述的w e b 服务组合进行建模的方法和过程。分层p e t r i 网具有严密的数学基础,提供了一种有 效的手段去模拟、分析和验证w s b p e l 流程,可以帮助对所生成的网模型进行验证。 同时,在利用分层p e t r i 网建模过程中采用巴克斯范式对w s b p e l 结构元素描述,总 结提出了行之有效的化简规则、方法,便于简化模型。文章还对相应辅助工具的设 计开发进行了介绍,以帮助上述建模过程的自动生成。 关键词:w e b 服务w s b p e lp e t r i 网巴克斯范式 h i e r a r c h i c a lp e t r in e tb a s e dm o d e l i n ga n dv e r i f i c a t i o no f w 曲s e r v i c ec o m p o s i t i o n a b s t r a c t w e bs e r v i c er e p r e s e n t st h el a t e s tr e q u e s to fd i s t r i b u t e dc o m p u t a t i o n ,a n dt h e c o n c e p to fw e bs e r v i c eh a sb e c o m ev e r yp o p u l a rr e c e n t l y w i t ht h ed e v e l o p m e n to ft h e a p p l i c a t i o nc o n n e c t i n g w i t hi t , t h ew e bs e r v i c et e e h n o l o g yh a s s p r e a df r o mt h e i n f r a s t r u c t u r ec o n s t r u c t i o na n dc o n c e p ts t a g et ol a r g e - s c a l ec o m m e r c i a la p p l i c a t i o na n d d e v e l o p m e n tc o n t i n u a l l y , s o 毫st os u p p o r tf o rt h er e s e a r c ha b o u tc o m p o s i t i o no fw e b s e r v i c e ss u c ha s b 2 b ( b u s i n e s s - t o b u s i n e s s ) a n de a i ( e n t e r p r i s ea p p l i c a t i o n i n t e g r a t i o n ) 。 i nt h i sp a p e r , b ya n a t o m i z i n gt h eb a s i cs t r u c t u r e so fa c t i v i t i e si nt h ee x i s t i n gw e b s e r v i c ec o m b i n a t i o nd e s c r i p t i o nl a n g u a g e s ,a n da g a i n s tt h ed e f e c t0 nm o d e l i n g a n d , v e r i f y i n go ft h e m ,w es e l e c tt h eh i e r a r c h i c a lp e t r in e ta sat o o lt om o d e lt h ew e b s e r v i c e c o m p o s i t i o nd e s c r i b e db yw s - b p e l ( w e bs e r v i c e sb u s i n e s sp r o c e s s e x e c u t i o n l a n g u a g e ) a n dv e r i f yt h e m a tf r i r s t , a n a l y s i sa n ds u m m a r i z et h ew e bs e r v i e ec o m p o s i t i o nl a n g u a g e ,c l a s s i f y t h es t r u c t u r e sa n de l e m e n t so ft h ew s - b p e l ,a sw e l la st h em o d e l i n gm e t h o da b o u tw e b s e r v i c ec o m p o s i t i o nd e s c r i b e db yw s - b p e li sa d d r e s s e db a s e do i lh i e r a r c h i c a lp e t r in e t s h i e r a r c h i c a lp e t r in e th a ss t r i c tm a t h e m a t i c a lb a s i sa n dp r o v i d e sa l le f f e c t i v em e a n st o s i m u l a t i o n ,a n a l y s i st h ew s b p e l p r o c e s s ,i ti sh e l t , f u lt ov a l i d a t et h em o d d st o o ,a tt h e s a m et i m e ,t h eb n f ( b a c k u s - n a u rf o r m ) i su s e f u lt od e s c r i b et h em o d e ld u r i n gt h e p r o c e s sa n das e to fe f f e c t i v er u l e so rm e a n sc o m ef r o mi t , w h i c hc a l ls i m p l i f yt h e s t r u c t u r ea n dt h ep r o c e s s a tl a s t ,t h ed e s i g na n dd e v e l o p m e n ta b o u tac o r r e s p o n d i n gt o o l i si n t r o d u c e d ,w h i c hc a nh e l pt h em o d e l i n ga n dv a l i d a t i n ga b o v e k e y w o r d s :w e bs e r v i c e s ,w s b p e l , p e t r in e t ,b n f ( b a c k u s - n a u rf o r m ) 西北大学学位论文知识产权声明书 本人完全了解西北大学关于收集、保存、使用学位论文的规定。 学校有权保留并向国家有关部门或机构送交论文的复印件和电子版。 本人允许论文被查阅和借阅。本人授权西北大学可以将本学位论文的 全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫 描等复制手段保存和汇编本学位论文。同时授权中国科学技术信息研 究所等机构将本学位论文收录到中国学位论文全文数据库或其它 相关数据库。 保密论文待解密后适用本声明。 易f 易 学位论文作者签名:盔i 丕& 指导教师签名:,纠堕 d g 年石月,宫日p 萨# 多月1 8 日 西北大学学位论文独创性声明 本人声明:所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研 究成果据我所知,除了文中特别加以标注和致谢的地方外,本论文不包含其他人已 经发表或撰写过的研究成果,也不包含为获得西北大学或其它教育机构的学位或证书 而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 学位论文作者签名:力广角凡 以年多月1 8 日 1 1 引言 第一章绪论 在网络经济时代,企业和i t 机构面临的一个基本问题是如何集成独立开发的位 于不同计算机上的应用程序,并且能在各种硬件平台上运行这些程序。传统的分布 式对象模型已不适用于极端异构的互联网环境【1 】【2 7 】。这就需要提出一种新的体系结 构,要求包含一组通用标准协议用于接口定义、方法调用、基于互联网的构建以及 各种应用的实现,解决异构并面向w e b 的分布式计算。 w 曲服务把面向构件方法和w e b 技术的优势相结合,利用标准网络协议和x m l 数据格式进行通信,具有良好的普适性和灵活性。w 曲服务突破了传统的分布式计 算模型在通信、应用范围等方面的限制,允许企业和个人快速、廉价地建立和部署 全球性应用。 而w e b 服务组合的出现是由于单一w 曲服务不能够满足客户或者客户代理的需 要,而是需要去组合一些已有服务合成新的w 曲服务来完成【5 1 。w e b 服务的合成,是 在形式化工具与商业逻辑提供的精确语义支持和约束下的一种新的基于w e b 的软件 自动化生成技术,克服了组件技术在接口统一定义与自动查找等方面的不足,并为 解决上述阻碍软件发展的根本性问题提供了一个新的方案【1 1 。 目前w e b 服务及其组合的形式化描述和验证是语义w e b 服务中一个重要的研 究方向,许多w e b 服务及其组合描述语言未经过形式化处理,容易出错和不容易检 测,需要有形式化的方法来验证w e b 服务组合模型。模型的正确性是指模型结构上 的正确性,即安全、有界、无死锁等。p e t r i 网作为一种基于状态的形式化建模方法, 具有直观、形象且有严格语义和数学分析之优点,是理想的数据和控制流的抽象、 形式化建模方法【2 1 1 。 1 2 课题研究目的意义 w e b 服务技术已从基础设施的构建与概念推广阶段向大规模商业应用阶段快速 发展。在w e b 服务组合过程中,客户或客户代理不能只从单个的w e b 服务方面得到 满足,还需要结合其他已有的w 曲服务,这可能需要单个个体服务之间交曩,例如 相置联系和信息交流,以期望完成客户的任务。这就要求w e b 服务组台引入w e b 服 务构建之间的并发、同步和交赢等问题。 在w e b 服务组合领域,目前有两个方向来解决这个问题:一是w e b 服务组合 被规格并描述为工作流;二是侧重于语义w e b 方面有关w e b 资源本体的界定。两 种方法都需要有适当的形式化模型描述,核对及核实w 曲服务组合,保证w e b 服 务组合的正确性( 5 】。 形式化方法是基于严密的、数学上的形式机制的系统研发方法。从广义上讲, 形式化方法是软件开发过程中规格、设计及实现的系统工程方法。狭义地,是软件 规格和验证方法,通过数学符号对系统及行为进行精确、简洁描述。 许多现有w 西服务及其维台描述语富,倒如w s - b p e l ( w e bs e r v i c e sb u s i n e s s p r o c e s se x e c u t i o nl a n g u a g e ,业务流程执行语言) 是半形式化的,不易检测验证, 也没有相应形式化工具支持,这使得w 曲服务组合妁正确性难以保证,其流程也无 法在较抽象的层次上跟踪。在这种背景下利用分层p e t r i 网的传统进程代数优势和图 形外观表示,可用于建模动态变化的系统以及检测死锁、同步,使得用分层p e t r i 网 来描述w e b 服务及其组合不但理论上完全可行,实际上也具有之前方法所不具有的 优势。 这种方法的使用对于优化使用w e b 服务及其组合,将从基础上得到高效、合理 的w e b 服务组合,提高资源使用率,减少重复设计。 3 研究内容 w 曲服务是语义网的一个关键应用研究领域,w e b 服务的激增和语义阿技术的 发展,为多样的w e b 服务组合提供了便利,而且多种服务组合和描述语言应声而落, 其中w s b p e l 是一种从工业界诞生的标准,并围绕w s - b p e l 展开了多方面的理论 与鹿用研究。本文因此选择w s - b p e l ,利用分层p e t r i 网对其描述的w c b 服务和w e b 服务组合进行分析和研究。 1 3 1 研究现状 该领域的研究已经提供了一些形式化的方法,总结如下: 1 w s f l ( w e bs e r v i c e sf l o wl a n g u a g e ) 是i b m 所制订出,作为叙述网络服 务流程的语言,其包括流程模型( f l o wm o d e l s ) 和总体模型 ( g l o b a lm o d e l s ) 。流程模型说明了如何使用网络服务所提供的功能,并 叙述商业交易流程。而总体模型则详细说明所有交易伙伴的交易情形,即 网络服务如何与其它网络服务进行交谈。w s f l 是一种来源于工作流语言 的面向网( n e t o r i e n o 的语言,可认为是有色p e t r i 网【5 1 。 2 南京大学钱柱中,陆桑璐,谢立【6 1 根据w e b 服务中消息和行为的关系,给 出了面向消息的w e b 服务基于行为p e t r i 网模型,定义了服务组合系统和服 务的协同;给出了服务自动组合规则,并证明了其有效性和完备性。 3 h a m a d i 和b e n a t a l l a t n l 提出了基于p e t r i 网的w 曲服务组合代数理论:将组 合操作的形式化语义表示结合了p e t r i 网内容,提供了一个有向图,将每个 操作影射为p e t r i 网结构;这样,任何使用代数结构的服务表示可以转化为 p e t r i 网形式。 4 a a l s t 和h o f s t e d e 1 5 】建立了一个基于p e t f i 网的工作流分析器,可以对p e t r i 网建模的工作流进行自动分析、验证。 5 r a oj i n 。g h a 8 1 利用线性逻辑对自动语义w e b j 艮务提供了一种解决的方法。在 这种方法中,w 曲服务和客户的需求都由d a m l - ss e r v i c e p r o f i l e 来说明。 6 郭小群和郝克刚【2 8 】、廖军,谭浩,刘锦德【3 l 】还有l u m p 1 5 】各自利用p i 演算 发展了一个针对组合的形式化方法,l u m p 定义了一个基于j a v a 的组合系 统。 7 g ux i w u 和l uz h e n g - d i n g 利用c s p 对w 曲服务组合进行建模,并提供了一 系列将w s b p e l 的组合体转换为c s p 元素的规则,同时介绍了相关的模型 检测、验证和模型仿真的内容【5 】。 8 孙健和陶晓峰针【4 6 1 对b p e l 4 w s 建立了针对结构框架元素部分的p e t r i 网模 拟与验证。 在以上各位学者都从自己的研究角度和领域着手,利用形式化方法对w e b 服务 3 或对w s b p e l ( 及其前身b p e i a w s ) 进行了建模和验证,为本文的写作提供了极 大帮助,作者在本文的写作过程中从他们的文章中获益匪浅。然而由于关注的角度 的限制,上述研究未给出w s b p e l 完整建模方法,所以,本文就在阅读分析前述学 者研究成果基础上,对w s b p e l 挂i 述的w e b 服务及组合进行较全面的建模、验证, 为w e b 服务的发展提供理论保障。 1 3 2 论文主要工作与剑新点 在2 k c 于w s - b p e l 2 。0 f 2 j 割拆、研究基础上,结合文献【2 】【5 】f 8 】【l o 】【l l 】【2 1 】中针对 w s b p e l 的介绍和研究,分析w s b p e l 中活动( a c t i v i t y ) 信息,提取w s - b p e l 中活动 特征,总结w s b p e l 中活动分类,对w s - b p e l 的活动结构进行归纳。在此基础主: 结合分层p e t r i 网的内容,对w s b p e l 中活动信息按照不同的分类进行基于分层p e t r i 鼹豹描述,将南x m l 为载体韵用于描述w e b 服务流程韵w s - b p e l 3 档转化为具有严 密数学基础和图形显示的分层p e t r i 网表示,并利用分层p e t r i 网来完成对服务流程的 检验和验证。 本文主要研究成果整理如下几点: 1 对w s b p e l 活动结构信息进行剖析、归纳和分类; 2 利用分层p e t r i 网对基于w s b p e l 的w c b 服务建模:在分析w s - b p e l 活动 结构并进行分类的基础上,按照基本活动( b a s i ca c t i v i t i e s ) 、结构活动 ( s t r u c t u r e da c t i v i t i e s ) 、并发活动( c o n c u r r e n ta c t i v i t i e s ) 和补偿活动 ( c o m p e n s a t i o i la c t i v i t i e s ) 利用分层p e t r i 网进行建模和描述,给出了将由 w s - b p e l 描述的w 曲服务组合转化为分层p e t r i 网描述的一般方法; 3 利用分层p e t r i 网对基于w s b p e l 的w 曲服务进行验证:利用分层p e t r i 网的 可达树验证方法,对出w s b p e l 转换为分层p e t r i 网描述的w 曲服务进行验 证,并给出一个分层p e t r i 网模型生成算法; 4 对分层p e t r i 网描述的基于w s b p e l 雏j w 曲服务进幸亍他筒:根据巴克斯范式 的表述,对结构活动和并发活动所包含的活动进行化简,总结之间的关联, 便于今后对该方法的推广和使磁。 5 在开源工具h p s i m 基础上,设计开发了一个相应的工具h p n 4 w s ( h i e r a r c h i c a lp e t r i n e tf o rw 曲s e r v i c e s ) ,帮助对w 曲服务组合的建模。 4 1 4 内容组织 本文共分为六章,其中: 第一章绪论部分,阐述本文的研究背景,概括主要工作、创新点和研究现状。 第二章介绍基于分层p e t r i 网和w s b p e l 的w e b 服务组合描述与验证中涉及的 有关w e b 服务,w e b 服务组合及分层p e t r i 网的相关基础内容。 第三章分析总结w s b p e l 活动性能基础上,将其所包含的活动结构进行分类 归纳,按照不同的活动归属,利用分层p e t r i 网对其进行描述,形成较全面的利用分 层p e t r i 网对w s b p e l 的活动结构的转换方法。 第四章在之前的工作基础上,利用分层p e t r i 进行对w s b p e l 描述的w e b 服务 进行组合,同时利用巴克斯范式表述部分内容进行化简,减少中间多余部分环节, 提高实际使用效率。 第五章利用p e t r i 网可达树的概念,对由分层p e t r i 网向w s ,b p e l 活动( a c t i v i t y ) 的转换验证,给出了一个基于开源工具并与之匹配的工具的设计与实现。 第六章总结展望,总结全文并对下一步工作展望。 2 1 引言 第二章w e b 服务组合与分层p e t r i 网基础 w e b 服务技术是当今i t 业界的焦点所在,它的主要目标是在现有的各种异构 平台的基础上构建一个通用的与平台无关、语言无关的技术层,各种不同平台之上 的应用依靠这个技术层来实现彼此连接、集成。而将w e b 服务与适当形式化方法结 合,对这层技术层进行监督和管理,可以最大可能的提高服务程序的有效性。本文 采用分层p e t r i 网作为形式化工具与w e b 服务结合来达成这一目标。 p e t r i 网是一种适合于并发、异步、分布式软件系统规格与分析的形式化方法。 它既有严格的数学定义,又有直观的图形表示,既有丰富的系统描述手段和系统行 为分析技术,为计算机科学理论与应用领域提供坚实的基础。其中分层p e t r i 网是对 经典p e t r i 网的一种发展,适用于面向对象等复杂系统建模过程。 本章主要介绍分层p e t r i 网、w e b 服务及其组合和w s b p e l 的一些基本概念, 为下文需要探讨的有关利用分层p e t r i 网进行描述与验证提供基础必备知识。 2 2w e b 服务及其组合基础 2 2 1w e b 服务基础 w e b 服务至今尚未有统一的定义。广义上,可以把它理解为通过w e b 进行数据 及功能共享的方式;狭义上,可以把它理解为一种通过w 曲及标准接口进行调用的 软构件,类似c o r b a 或e j b ,w 3 c 最近把w e b 服务定义为一种软件应用【2 引,其应用 领域包括电子商务、电信、网格计算、电子政务等。也可以将w e b 服务看作是基于 网络的、分布式的、自描述的、模块化的组件,它执行特定的任务,遵循一定的技 术规范,提供了面向i n t e m e t 应用的统一服务注册、发现、绑定和集成机制,成为广 域环境下实现互操作的一种主要机制【2 9 】。 w e b 服务体系结构由三种角色和三种基本操作构成。 1 w 曲服务三种角色 6 1 ) 服务使用者。它是一个应用程序,一个软件模块或需要服务的另一种服 务。它发起对注册中心中服务的查询,通过传输绑定服务,并执行服务 功能,服务使用者根据接口契约来执行服务。 2 ) 服务提供者。它是一个可通过网络寻址的实体,接收和执行来自使用者 的请求。将自己的服务和接口契约发布到服务注册中心,以便服务使用 者发现和访问该服务。 3 ) 服务注册中心。它是服务发现的支持者,包含一个可用服务的存储库, 并允许感兴趣的服务使用者查找服务提供者接口。 2 w 曲服务基本操作 w e b 服务体系结构中的每个实体都扮演着服务提供者、使用者和注册中心这三 种角色中的某一种( 或多种) 。w e b 服务体系结构中的三种操作包括: 1 ) 发布:为了使服务可访问,需要发布服务描述以帮助服务使用者发现和 调用它。 2 ) 发现:服务请求者定位服务,查询服务注册中心来找到满足其需求的服 务。 3 ) 绑定和调用:对服务描述检索结束之后,服务使用者根据服务描述信息 来调用服务。 w e b 服务体系使用一组标准和协议实现相关的功能。使用w s d l ( w e bs e r v i c e s d e s c r i p t i o nl a n g u a g e ) 来描述服务,使用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 d i n t e g r a t i o n ) 来发布、查找服务,使用s o a p ( s i m p l eo b j e c ta c c e s sp r o t o c 0 1 ) 来调 用服务1 2 9 1 。 w e b 服务是部署在网络上的应用程序,能够通过基于x m l 的协议规范进行描 述、查找和调用。目前越来越多的组织或企业已经开始向客户提供w e b 服务。w e b 服务集成是常见的w e b 服务应用,它把多个w e b 服务集成为一个系统,以实现更复 杂的功能或服务。通常被集成的w e b 服务的关系反映了提供w e b 服务的企业或组织 之间的业务流程,这种流程被称为w e b b 艮务流程( w e bs e r v i c ef l o w ) 。w e b 服务流程 模型的描述一般由w e b 服务集成语言描述,这是一种基于x m l 的语言,既可以用于 描述w e b 服务流程模型,也可以作为一种可执行语言供w e b 服务流程解析引擎执行, 如w s b p e l 、w s c l 等。 7 2 2 2w e b 服务组合基础 随着w e b 服务技术的日益成熟,更多稳定、易用的w e b 服务被共享。但是单个 的w e b 服务能够提供的功能有限,为了更加充分地利用共享的w e b 服务,因此有必 要将共享的w e b 服务组合起来,提供更为强大的服务功能,加快系统开发的速度, 更好满足用户需求【2 9 1 。 w e b 服务组合没有明确定义【l 】,各研究者都从各自研究分析角度给出了w e b 服 务组合定义:文献【4 1 从结构与技术角度,强调服务组合是将相对简单的服务合成 为一个更为复杂服务的技术。文献 4 2 i n 从动态过程的角度强调,服务组合是通过 动态发现、集成,并按特定的顺序执行已存在的服务来创建新的客户服务,满足客 户需求的过程。文献1 4 3 1 从工作流的角度强调,服务组合是根据一个明确的过程模 型,将不同企业提供的w e b 服务相互连接来实现商务协作的活动。文献 4 4 】从企业 功能的角度认为,w e b 服务组合是企业将来源于不同单位的基本服务集成起来为客 户提供一个增值服务的能力。文献 4 5 1 从服务组合计划的角度强调,服务合成是指 对于给定的一些服务以及需要达到的目标或任务,如何发现一个合成的服务来实现 这一目标【1 1 。 本文采用如下定义:w e b 服务组合是指由各个小粒度的w e b 服务相互之间通信 和协作来实现大粒度的服务功能,通过有效地联合各种不同功能的w e b 服务,服务 开发者可以借此解决较为复杂的问题而实现增值功能【3 l 】。w e b 服务组合更为通俗的 表述为:指通过i n t e m e t 将分布在不同环境、平台或公司间已存在的w e b 服务,按照 一定的规则动态地发现并组装成为一个增值的、更大粒度的服务或是系统,以满足 用户的复杂需求,并提高软件生产率的过程。 w e b 服务组合方法从组合方案生成方式来分有两大类【1 】:静态组合和动态组 合。静态组合表示请求者应在组合计划实施之前创建一个抽象过程模型。抽象过程 模型包括任务集合以及任务间的数据依赖关系,每个任务包含一个查询的子句,用 来查找完成任务的真正的w e b 服务。动态组合不仅可以自动地选择、绑定w e b 服务, 同时更重要的是自动地创建过程模型。 现有的服务组合方法可分为四个层次【2 9 】:硬编码模式、用特定的服务组合定义 语言定义组合服务模式、模型驱动模式、根据目标推理服务组合方案模式如图2 1 所示。其中硬编码模式将服务组合以硬编码的方式来实现,是组合服务最原始的方 法,也最不灵活,形成的组合服务适应性差。w e b 服务是动态变化且自治的,当某 一服务组件产生错误时,需要修改,导致组合服务工作量大,另一方面该方法也不 适用于应用需求的动态变化。w s b p e l 是专为整合w e b 服务而制定的一项规范标 准,在用特定语言定义组合服务的基础上,提出用模型驱动的方法来开发、管理动 态服务组合,该方法最大的特点是将组合逻辑与组合规范分离开,使用u m l 描述服 务组合,使得能在更抽象的层次将w e b 服务组合模型化,该组合定义随后可自动地 映射到特定的规范如b p e l 4 w s 上,进而再关联到实际具体的w e b 服务上。 图2 - 1 :w e b 服务组合方法【2 9 】 目前通常将w e b , 服务合成划分为4 种合成策略【9 】【2 4 】:基于框架( f r a m e w o r k ) 的静 态组合策略、基于工作流( w o r k f l o w ) 的动态组合策略、基于语义网络( s e m a n t i cw e b ) 的自动服务匹配与组合策略以及基于软件体系结构生命周期的综合服务组合策略。 w e b 服务合成应该具有以下一些特点【1 1 。 1 层次性和可扩展性:w 曲服务的合成通过重用并组装已有的w 曲服务来生 成一个更大粒度的服务,使得合成的w 曲服务具有层次性和可扩展性。 2 动态与自适应性:w 曲服务合成是一个动态、自适应的过程,它在标准协 议的基础上,根据客户的需求,对封装特定功能的现有服务进行动态地发 现、组装和管理。 3 提高合成与交易过程的自动化程度:w 曲服务合成通过动态的语义分析与 服务的自动化匹配,减少了不必要的人工干预过程,易于动态电子商务交 易流程的自动化。 4 提高了软件生产率:通过重用已有的服务,自动化生成新的服务或系统, 极大提高了软件的生产效率。 9 w e b l r 务集成语言的缺点是不能够以图形化的方式直观表达出w e b 服务流程 模型,不利于业务人员参与w e b 服务流程模型的建立,此外由于缺乏形式化语义, 难以对利用其建立的模型进行分析。而这些问题可以通过利用p e t r i 网来解决,为分 层p e t r i 网的使用提供了广阔的平台。 2 2 3w e b 服务组合语言 目前,一些新的服务合成语言和规范正在不断涌现,许多w e b 服务描述语言针 对w e b 应用程序提供了一个结构框架式的视角。一般而言,这些工作建立在可扩展 标记语言( x m l ) 技术上。以下给出部分语言的介绍。 1 w s b p e l w s b p e l ( w e bs e r v i c e sb 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 ,业务流程执行 语言) 【2 】【1 0 】【2 6 】【3 5 】【3 7 1 是一种从工业界诞生的标准,受业界主流服务及技术提供商的拥 护和推崇,成为w e b 服务编排领域事实上的标准,现在已经围绕b p e l 展开了多方面 的理论与应用研究。 w s b p e l 的前身是m i c r o s o f t 的x l a n g t 3 3 】和i b m 的w s f l 3 4 1 。w s b p e l 是为组 合w 曲服务而制定的一项规范,是由i b m 、m i c r o s o r 共同推出的w 曲服务业务流程执 行语言b p e i a w s 演变而来,b p e i a w s 于2 0 0 3 年4 月6 日交由o a s i s 组织审查,正式 公布1 0 版本,并且成立b p e i a w s 技术委员会,决定未来规范的发展方向。该委员 会致力于产生一种用于编写w 曲服务控制逻辑的、独立于平台的、基于x m l 的编程 语言。2 0 0 3 年5 月3 日,由b e a 、i b m 、m i c r o s o f t 、s a p 及s i e b e ls y s t e m s 五家公司完 成b p e i a w s l 1 版本。随后,在此基础上推出w e b 服务业务流程执行语言2 0 规范草 案,把b p e i a w s 语言改称为w s b p e l ( w 曲s e r v i c e sb 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 e ) ,增加了对人员任务( w s b p e le x t e n s i o nf o rp e o p l e ) 、j a v a 语言和子业 务流程( w s b p e l2 0 :e x t e n s i o n sf o rs u b p r o c e s s e s ) 等的扩展支持。目前w s b p e l 是该领域最为成熟和被广泛支持的技术【2 6 1 。 x l a n g 是基于弘演算理论的流程语言,易于编程,提出了类似编程语言的元 素,而w s f l 是基于p e t r i 网理论的流程语言,在结构上是有向图的方式。w s b p e l 中的主要概念元素来自x l a n g ,但是 元素及相关的部分概念来自w s f l 。 b p e l l l x l a n g 和w s f l 更加高级,它支持流程变量和全局的事件处理。w s - b p e l 1 0 在w e b 服务交互方面定义了明确的方向,匕k , x l a n g 和w s f l 更加清晰 2 6 1 。 w s b p e l 的主要概念如图2 2 【2 6 】所示,具体概念介绍参见本文第三章。 图2 2w s b p e l 核心概念【2 6 】 2 w s d l w s d l 3 8 ( 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 ,w e b 服务描述语言) 是采用x m l 语言来描述w e b 服务的属性,w s d l 源于微软的简单对象访问协议( s o a p ) 和m m 的网络可访问服务规范语言( n a s s l ) 。 w s d l 将w e b 服务描述定义为一组服务访问点,客户端通过这些服务访问点 对包含面向文档信息或面向过程调用的服务进行访问。w s d l 首先对访问的操作和 访问时使用的请求响应消息进行抽象描述,然后将其绑定到具体的传输协议和消息 格式上,以最终定义具体部署的服务访问点。 w s d l 是微软、i b m 和a r i b a 公司率先提出的u d d i 倡议的基石。w s d l 文档 将w e b 服务定义为服务访问点或端口的集合。在w s d l 中,由于服务访问点和消 息的抽象定义已从具体的服务部署或数据格式绑定中分离出来,因此可以对抽象定 义进行再次使用: 一个w s d l 文档通常包含7 个重要的元素,即t y p e s 、i m p o r t , m e s s a g e 、p o r t t y p e 、 o p e r a t i o n 、b i n d i n g 、s e r v i c e 元素。这些元素嵌套在d e f i n i t i o n s 元素中,d e f i n i t i o n s 是 w s d l 文档的根元素。 w s d l 替代了n a s s l 和s o a p ,作为在u d d i 注册中表达商业服务的手段。 但是,w s d l 只能确定一个w e b 服务的有限的信息,例如函数功能模块名称和有限 的输入、输出信息。 3 w s f l w s f l t l 4 】【3 4 l ( w e bs e r v i c e sf l o wl a n g u a g e ,w e b 服务流程语言) 用来描述w e b 服 务组合的x m l 语言。是描述商业流的一个相对成熟的标准。在w s f l 中有两个不同 的组合机制,分别通过流模型和全局模型来描述。流模型描述了几个服务是怎样组 合成一个流,以及流是如何转换成一个新的服务的。而全局模型描述了这些服务之 问的交互。 w s f l 为服务的递归组合提供了广泛的支持:每个w e b 服务组合( 包括流模型和 全局模型) 本身就是一个新的w e b 服务,并能作为一个组件运用于其他组合中。 w s f l 的一个特点就是跨越组织边界为商业过程建模。而且由于其对服务的递 归使用,可以将整个流程定义为一个w e b 服务,从而被其它的商业流程调用,实现 服务的递归组合。 w s f l 用来描述服务的组合和交互,以及为实现商业目标的使用模式,帮助区 分该引入、调用哪些不同的服务,但是不能用来判断在一个工作流中一个特定的服 务会不会发挥正确的交互作用【3 4 】。 4 d a m l s d a m l s t 3 8 ( d a r p aa g e n tm a r k u pl a n g u a g ef o rs e i c e s ) 是对l 和r d f ( r e s o u r c ed e s c r i p t i o nf r a m e w o r k ) 的扩展,通过提供一系列的概念来创建可被机器阅 读的本体和标记信息。d a m l s 是服务本体,能完成服务自动发现、调用、组合等 操作和监督。 d a m l s 的o n t o l o g y 结构包括3 部分:s e r v i c ep r o f i l e 、p r o c e s sm o d e l 和s e r v i c e g r o u n d i n g 。其中: s e r v i c ep r o f i l e 描述了w e b 服务的性能和服务提供者信息; p r o c e s sm o d e l 规定了w e b 服务所完成的所有任务、执行任务的顺序以及完成 1 2 各个任务的结果; s e r v i c eg r o u n d i n g 规定了客户端程序或代理如何访问w e b 服务。 图2 3 是使用d a m l s 的w e b 服务构架。d a m l - s 结合已有的w e b 服务构架 ( s o a p 、w s d l 、u d d i ) 来实现w e b 服务的发现、执行和组合自动化。 图2 - 3 使用d a m l s 的w e b 服务构架 5 w s c l w s c l ( w e bs e r v i c e sc o n v e r s a t i o nl a n g u a g e w e b ,服务会话语言) 是作为对 w s d l 的补充而发展起来的:后者规定了如何给服务发送消息但并未说明发送这些 消息的先后次序。这个问题在w s c l 中得以标注来确定w e b 服务中间合法的消息 文档的交换。 6 w s c i w s c i ( w e bs e r v i c e sc h o r e o g r a p h yi n t e r f a c e ) 是一个基于x m l 的语言,用于描 述在协同的商务流程或工作流中由w e b 服务发出的消息交换。 w s c i 通过一个标志w e b 服务定义一个消息交换的流,同时用来描述一个与其 他w e b 服务通过确定的时间和逻辑依赖关系进行消息传递交换来交互的服务。 w s c i 的不足在于没有确定w e b 服务或流程的内部行为活动。 2 2 4w e b 服务组合验证 基于s o a 的w e b 服务体系结构提供了一个与技术无关服务集成方式,对服务合 成的验证不再是一个纯技术的问题,而是如何保持语义信息,并在服务合成与业务 流程配置之前对服务的状态变迁、局部的行为以及标识进行验证,以确保服务合成 执行结果的正确性。 般地,服务组合验证包含两个层次:操作层验证与服务层验证【1 1 1 2 5 1 。在操作 层方面,要保证实现交互的w e b 服务之间的接口以及输入与输出消息的匹配;在服 务层角度,要保证合成服务的执行顺序必须有效,即需要提供服务的可达性、活性 以及死锁解除能力的有效性验证。如何通过有效的方式对复杂的服务合成过程进行 模拟与验证,仍然是目前的重要研究内容。 本文采用分层p e t r i 对w s b p e l 进行建模,在验证的过程中使用p e t r i 网的验 证方法进行验证,本文后续的工作是希望在验证的自动工具的实现方面能有所突破。 2 3 分层p e t r i 网基础 2 3 1p e t r i 网 p e t r i 网最初是由德国人c a r la d a mp e t r i 在2 0 世纪6 0 年代提出来的,在其博士论 文用自动机通信中首次使用网结构模拟通信系统,这种系统模型后来以p e t r i 网 为名流传,现在,p e t r i 网一词既指这种模型,又指以这种模型为基础发展起来的理 论【18 1 。 此后p e t r i 网在各个领域方面得到很大的发展,并被应用到了众多的领域。好的 系统模型不仅要有充分的模拟能力和丰富的分析方法,还应该便于使用,已证明p e t r i 网的模拟能力与图灵机( t u r i n gm a c h i n e ) 等价【1 引。 p e t r i 网是一种图形化表示的组合模型,具有直观、易懂和易用的优点,尤其对 描述和分析并发现象有独到地方。p e t r i 网是一种可用图形表示的数学对象,借助数 学方发的p e t r i 网的分析方法和技术既可以用于静态的结构分析,又可以用于动态的 行为分析。p e t r i 网提供了丰富的分析技术,能够对系统不变量( i n v a r i a n c e ) 、活性 ( 1 i v e n e s s ) 、有界性( b o u

温馨提示

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

评论

0/150

提交评论