




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 随着互联网和电子商务的崛起,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 e b 服务组合流程的事务特点。w e b 服务业务流程语言b p e l 以 特定于应用程序的方式定义了故障处理和补偿的机制,能较好地支持长期运行的 事务处理的问题,但还需根据应用需求进行扩展。本文提出了w e b 服务组合的事 务处理模型,可以较好地满足w 曲服务组合环境下对长事务处理的要求。本文的 工作主要有以下几个方面: ( 1 ) 分析了w e b 服务组合环境下的长事务处理所面临的问题,并对w e b 服务事务 模型和w e b 服务事务规范进行了综述。分析了b p e l 的事务处理机制并按w s c 和w s ,b a 规范针对其事务进行扩展。 ( 2 ) 在现有w e b 服务事务规范的基础上,结合w 曲服务组合事务的特点提出了基 于w s c 规范的服务组合的事务处理模型并进行设计实现。其中的工作包括: 结合w s b a 规范和b p e l 规范中的补偿机制解决流程组合中异常时的一致性 问题;设计了事务处理层的长事务处理框架,介绍了框架的组成和协调机制; 详细阐述了自治服务协调支持和业务事务处理应用接口的设计实现。该事务处 理模型构建在w e b 服务体系结构上,跨平台、易扩展,为种类繁多的事务性和 非事务性业务流程提供支持。 ( 3 ) 对上述构建的系统模型进行实验验证,并介绍了服务组合事务模型的一个实例 应用。 ( 4 ) 对全文进行总结并指出下一步工作的方向。 关键词:长事务,补偿,w e b 服务组合,b p e l a b s t r a c t a b s t r a c t w i t ht h er a p i dd e v e l o p m e n to fw e bt e c h n o l o g ya n de c o r l l l n e r c e ,w e bs e r v i c e s a r i s er a p i d l y w e bs e r v i c e sc o m p o s i t i o ni sc o m p o s e do ft h ee x i s t i n gw e bs e r v i c e so nt h e n e t w o r k ,t op r o v i d em o r er e l i a b l e ,f l e x i b l e ,v a l u a b l es e r v i c ef o rn e t w o r ku s e r s b u ti nt h e c o m p o s i t i o no fw e bs e r v i c e s ,t h er e l i a b i l i t ya n dc o n s i s t e n c yi nt h ed i f f e r e n tw e b s e r v i c e s ,a n de x c e p t i o np r o c e s s i n gs h o u l db es o l v e di nt i m e ,t h e r e f o r e ,t h et r a n s a c t i o n f u n c t i o ns h o u l db eb u i l ti nt h ew e bs e r v i c e sc o m p o s i t i o ns y s t e m t r a n s a c t i o ni nt h ew e b s e r v i c e s c o m p o s i t i o nu s u a l l y h a sa l o n g - c y c l e t i m ea n di t ss t r u c t u r ei s c o m p l i c a t e d ,w h i c hi sq u i t ed i f f e r e n tf r o mt r a n d i t i o n a lt r a n s a c t i o np r o c e s s t h e r ea r e s e v e r a lw e bs e r v i c e sc o m p o s i t i o nm o d e l sa n dd e s c r i p t i o n sb u tn o n ep r o v i d e st h e s u p p o r to f t r a n s a c t i o np r o c e s s s e r v e r a ls e p e c i f i c a t i o n s ,s u c ha sw s c o o r d i n a t i o n ,w s - a t w s b a ,h a v eb e e n p r o m o t e db ym m ,m i c r o s o f t e t c h o w e v e r , i ti sd i f f i c u l tt or e a l i z ea l lt h ed e t a i l si n t h e s e s p e c i f i c a t i o n s ,a n d t h ew e bs e r v i c e c o m p o s i t i o n f e a t u r ei sn o t y e t c o n s i d e r e d a l t h o u g h ,b p e lp r o v i d e st h ea b i l i t yt od e f i n ef a u l th a n d l i n ga n d c o m p e n s a t i o ni na l la p p l i c a t i o n - s p e c i f i cm a n n e rt os u p p o r tl o n g - r u n n i n gb u s i n e s s t r a n s a c t i o n ,b u ts t i l ln e e dt oe n h a n c e m e n t at r a n s a c t i o np r o c e s sm o d e lb a s e do nw e bs e r v i c ec o m p o s i t i o ni sp r o p o s e di nt h e t h e s i s ,w h i c hc a nm e e tr e q u i r e m e n to nl o n g - r u n n i n gt r a n s a c t i o n t h ec o n t r i b u t i o n sa r e l i s t e db e l o w 1 a n a l y s i n gt h ep r o b l e mo fl o n g r u n n i n gt r a n s a c t i o ni nt h ew e bs e r v i c ec o m p o s i t i o n e n v i r o n m e n t ,r e v i e w i n gt h ew e bs e r v i c et r a n s a c t i o nm o d e la n dw e bs e r v i c e t r a n s a c t i o ns t a n d a r d ,i n t r o d u c i n gt h ek e yi s s u e so fw e bs e r v i c ea n dw e bs e r v i c e c o m p o s i t i o n ,a n a y l s i n ga n de x t e n d i n gt h et r a n s a c t i o np r o c e s sm e c h a n i s mo f b p e l 2o nt h eb a s i so ft h ee x i s t i n gw e bs e r v i c et r a n s a c t i o ns t a n d a r d s ,at r a n s a c t i o np r o c e s s m o d e li sd e s i g n e db a s e do nw s c ,a n dc o m b i n i n gw i t ht h ef e a t u r eo fw e bs e r v i c e c o m p o s i t i o nt r a n s a c t i o na sw e l l 鹊i t sd e s i g na n di m p l e m e n t a t i o n i t sw o r k i n c l u d e s :s o l v i n gt h ec o n s i s t e n c yp r o b l e mt h r o u g hc o m b i n i n gt h ec o m p e n s a t i o n m e c h a n i s mo fw s - b aa n db p e l ;d e s i g n i n gt h et r a n s a c t i o nl a y e i = 也ea r c h i t e c t u r e i i a b s t r a c t o fl o n g - r u n n i n gt r a n s a c t i o np r o c e s s ,i n t r o d u c i n gc o m p o s i t i o no ft h ea r c h i t e c t u r ea n d c o o r d i n a t i o nm e c h a n i s m ;i l l u m i n a t i n gt h ei m p l e m e n t a t i o no fa u t o n o m o u ss e r v i c e s c o o r d i n a t i o n s u p p o r ta n da p p l i c a t i o n i n t e r f a c eo fb u s i n e s st r a n s a c t i o n t h i s t r a n s a c t i o np r o c e s sm o d e l ,w h i c hh a st h ec h a r a c t e ro fc r o s s - p l a t f o r ma n de a s yt o e x t e n d ,c a np r o v i d es u p p o r tf o rk i n d so fb u s i n e s sp r o c e s sb yb u i l d i n gi nt h ew e b s e r v i c e sa r c h t i t e c t u r e 3t h es i m u l a t i o ne x p e r i m e n ti sc a r r i e do nt oc o n f i r mt h et r a n s a c t i o nm o d e l ,a n da n a p p l i c a t i o nb a s e do nt h et r a n s a c t i o nm o d e l i si n t r o d u c e d 4t h ec o n t e n to ft h et h e s i si ss u m m a r i z e d ,t h eq u e s t i o n sw h i c hs h o u l db ei m p r o v e di n t h ef u r t h e rr e s e a r c ha r ep o i n t e do u t k e y w o r d s :l o n g - t e r mt r a n s a c t i o n ,c o m p e n s a t i o n ,w e bs e r v i c e sc o m p o s i t i o n ,b p e l i i i 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 日期:如叼年月z 日 第一章引言 1 1 研究背景 第一章引言 计算机网络和电子商务的高速发展,加大了人们对基于w e b 的分布式计算的 需求,从而使w e b 应用及其服务技术迅速发展。w e b 实现了用户和应用程序之间 的交互,使得分布式信息在全球得以共享。x m l 的出现使互联网信息共享在异构 环境下得以实现,而w e b 服务则实现了应用之间通讯消息的结构化,提升了基于 w e b 的应用之间的交互能力,使大规模的信息共享成为可能。 w e b 服务采用具有良好互操作性的s o a p 作为通讯协议,能够为不同实现标 准和通信机制下的应用交互和集成提供有效的支持,因此具有广阔的应用前景。 应用w e b 服务技术,能够方便地实现互联网上跨平台、语言独立、松散耦合的异 构应用的交互和集成【1 | 。 鉴于w e b 服务的上述特性,其适用于当今商务使用的集成,然而一个孤立的 w e b 服务其处理能力可能无法完全发挥,所以人们希望能够通过对松耦合的w e b 服务进行重新整合,开发出一种能力更加强大、新的w 曲服务,以达到在现有w e b 服务基础上提供的增值服务。w 曲服务组合作为一种跨组织工作流的实现形式, 引起了热烈的关注,引起国内外研究的广泛兴趣。 w e b 服务组合处于异构、动态的广域分布的环境中,该环境涉及多个自治服 务之间的交互与协作,因此w e b 服务组合面临巨大的挑战。并且在组合过程中, w 曲服务的调用是无状态的( 即w e b 服务之间不存在会- n ) t 2 1 ,整合这样一些w 曲 服务,并实现新的w e b 服务是很困难的。w e b 服务组合中,常常需要解决与应用 逻辑相关的多个w e b 服务间的交互过程,这样的动态的交互过程必须达到多个 w e b 服务执行的可靠性和一致性,并能及时处理运行时的各种故障。这就阻碍了 w 曲服务组合技术在电子政务,电子商务等领域的应用。 当前的分布式事务扩展模型扩展了传统事务的a c i d 语义,对整合各种复杂 的业务流程上起到了一定的作用。但在在松耦合环境中,w e b 服务组合所固有的 动态性,对事务处理提供了更高的要求,事务更加复杂、灵活,且通常运行时间 较长,多个具备事务特性的服务通过交互和协作又复合而成新的服务【3 j ,因此传统 的锁机制和恢复机制不再适用于松耦合的自治、异构、动态的w e b 服务环境。 电子科技大学硕士学位论文 目前提出的w e b 服务事务协议有b t p ( b u s i n e s st r a n s a c t i o np r o t o c 0 1 ) 【4 儿5 、 w s c o o r d i n a t i o n 6 1 、w s t r a n s a c t i o n 7 】和w s c a f( w 曲s e r v i c e s c o m p o s i t e a p p l i c a t i o nf r a m e w o r k ) 峰1 等规范,这些规范放松了传统事务的a c i d 属性,重新 定义了松耦合环境的事务特性。但这些规范对于w e b 服务组合事务所固有的特性, 并不具备针对性,尤其在服务组合逻辑复杂,流程调用出现长周期运行事务的情 况下,这些协议不能有效的解决问题。所以迫切需要研究适于w e b 服务组合环境 下的事务处理机制【9 【1 0 】,以保证w 曲服务组合的可靠性操作。 1 2 研究现状 事务是具有a c i d ( a t o m i c i t y ,c o n s i s t e n c y ,i s o l a t i o n ,d u r a b i l i t y ) 【l l 】特性的 原子操作序列,用来保证应用程序对数据资源访问的一致性和可靠性。 长事务【1 2 是指那些持续时间长的事务,典型的长事务其持续时间从几个小时 到几天不等。产生长事务的原因有多种,包括事务访问大量数据库对象,事务执 行冗长的计算,以及事务的执行过程中需要与用户交互等。 如果把长事务作为一个传统的,符合a c i d 性质的事务来运行,将产生严重 的性能问题。由于事务在并发执行的情况下,数据库也要保持一致状态,事务执 行过程中,事务访问的数据库对象将被锁定。事务持有的锁最终会在事务提交时 释放,这样如果有其它事务也需要获取在这个对象上的锁,这些事务必须等待锁 的释放。如果持有锁的事务持续时间短,那么其它事务需要等待的时间就短;如 果持有锁的是长事务,那么会使其它持续时间较短的事务等待相当长的时间。此 外,如果事务持续时间均较短,那么为了获取锁而产生的等待的概率也较低;如 果有相当数量的长事务的话,为了获取锁而产生的等待的概率也大大上升。这会 严重影响一个并发执行事务的数据库管理系统的性能。 长事务持续时间长,更容易遇到系统失败的情况,并且在放弃长事务时也会 导致大量有价值的工作必须被撤消。因此,长事务的处理必须采取不同于传统事 务处理的机制。 为了避免上述长事务的弊端,长事务的处理必须适当放松原子性与一致性的 要求。现有的长事务管理机制多数基于补偿事务【1 引,可以在语义上撤消事务对数 据库状态造成的影响。 现有长事务处理机制通过将长事务分割为多个独立的、可以独自提交的子事 务的方式,降低了长事务对资源的占用时间。并且通过补偿事务作为撤消部分提 2 第一章引言 交的长事务的手段,保证了长事务被撤消后,数据库能够回到一致的状态。 1 2 1 扩展事务模型 为了克服事务a c i d 属性的缺陷,出现了扩展事务模型,包括嵌套事务模型 【1 4 】【15 1 、开放嵌套事务模型、s a g a s 1 7 1 、分支汇合事务模型1 8 1 等一系列扩展的事 务模型。这些扩展的事务模型允许事务操作分级,或者放松了传统事务的原子性 和隔离性【l9 1 。 1 2 1 1 嵌套事务 将事务模型的单层结构扩展为多层结构是事务模型发展中最重要的进展。基 于a c i d 事务被称为平面事务因为他们缺乏内部的结构。原子性和并发性在平面 事务中总是基于事务整体的提交或放弃。嵌套事务模型允许构建称为事务树的等 级结构。事务树的根事务称为t o p 1 e v e l 事务,它包含一个或更多的子事务,子事 务又可以包含更多的子事务。这样嵌套事务的父事务仍然有a c i d 属性。因此事 务原子性的要求降低了,但是子事务的结果只有它的父事务成功提交之后才对外 可见,因此隔离性并没有降低。 1 2 1 2s a g a s 如果将长事务分成一系列的小事务,每个小事务都有自己的a c i d 属性,则 这个长事务就叫做s a g a s 事务。当所有的小事务都进行了提交后,整个s a g a s 事务 才算提交。假如s a g a s 事务执行了一部分小事务就取消了,那么必须对已经提交了 小事务进行补偿。s a g a 模型的基本原理:假设s a g a s 事务为t s ,将t s 分解成一系 列小事务t 1 ,t 2 ,t 3 t n ,每一个小事务对应着一个补偿事务c 1 ,c 2 ,c 3 c n 。 系统有两种执行路线,一是顺序执行了t 1 ,t 2 ,t 3 t n 后,这时t s 提交。二是 顺序执行t 1 ,t 2 ,t 3 t i ,c i ,c i - 1 ,c 3 ,c 2 ,c 1 后取消,这时t s 取消。s a g a 模型放 松了对事务操作的隔离性的要求,增加了事务间的并发性。 1 2 1 3 开放嵌套事务模型 开放嵌套事务模型和嵌套事务相似,但并不保证隔离性。项层事务可以看见 子事务的执行结果,顶层事务的撤销需要对已经提交的子事务进行补偿。开放嵌 套事务的优势在于嵌套的事务可以使用本地已经提交事务使用的资源。但是子事 务失去了隔离性,这样其他事务看见的是脏数据。另外当嵌套事务失败时,子事 务已经执行的和提交的工作需要被撤销,执行子事务的补偿。 3 电子科技大学硕士学位论文 1 2 2 分布式事务 分布式事务是指两个或更多事务资源( 比如,两个单独的数据库) 之间的 a c i d 2 0 1 事务。在分布式事务中,所有的独立资源必须全部成功提交,如果其中有 任何一方资源没有成功提交,则事务必须在所有的资源中回滚。 在分布式事务处理模型中,最典型的有x o p e n 分布式事务处理( d i s t r i b u t e d t r a n s a c t i o n p r o c e s s i n g ,d t p ) ,对象事务服务( o b j e c tt r a n s a c t i o ns e r v i c e ,o t s ) 模型等。 1 2 2 1 两阶段提交协议 为了实现分布式事务,需要使用两阶段提交协议( 2 p c ) 保证事务的a c i d 属 性。图1 1 说明了在事务提交与回滚两种情况下两阶段提交协议的工作原理。 1 2 2 2x o p e n 事务处理模型 图1 - 1 两阶段提交协议 图1 - 2 d t p 模型 4 第一章引言 分布式事务处理参考模型d t p 由x o p e n 公司制定,还有一系列a p i 规范作 为分布式事务处理系统的标准。x o p e nd t p 模型 2 1 【捌如图1 2 所示,该模型由事 务管理器、资源管理器和应用程序三部分组成。应用程序划分事务的边界,事务 管理器负责通知资源管理器进行事务的提交和回滚等,资源管理器管理实际的资 源( 如关系数据库) 。 1 2 2 3o m g 对象事务服务 对象管理组织( o m g ) 在通用d t p 模型的基础上,制定了面向对象的事务服务 规范,即对象事务服务( 0 t s ) 规范【2 3 1 。该规范将c o r b a 分布式对象应用环境引入 了事务概念,同时为分布式事务处理提供了一个面向对象的框架2 4 1 ,定义了对象 事务服务的基本概念、原则和标准接口。 1 2 3w 曲服务事务 建立在这x o p e n 事务和o m g 对象事务服务基础上的事务模型虽然提供了标 准的接口,但它们只能应用在企业内部,仍然不支持跨平台的远程事务。随着w e b 服务的出现,为了保证多个异构w e b 服务之间的交互和互操作结果的正确性和一 致性,为w e b 服务组合提供事务支持【2 5 1 成为必然。 因此,需要研究w e b 服务事务规范,常见的w e b 服务事务规范包括:b t p 协 议;w s c w s t 规范和w s c a f 等。 1 2 3 1b 皿协议 b t p 是o a s i s 组织在2 0 0 2 年提出的一个面向w e b 应用、协调多个自主参与 者的事务支持协议。为解决w e b 服务的事务问题,它采用两阶段提交,提出两阶 段终止协议,处理在w e b 服务环境下的长持续时间、参与者自主的b 2 b 业务事务 流程。 b t p 定义了两种类型的扩展事务:( 1 ) 原子( a t o m ) 这种事务具有原子性,即 事务中的操作要么全部执行,要么全部不执行。( 2 ) 内聚( c o h e s i o n ) :放宽原子性的 事务。 1 2 3 2w s c 厂w s t 规范 m m 、m i c r o s o f t 于2 0 0 2 年8 月发布w s c w s t 规范,该规范建立在s o a p 、 w s d l 等w e b 服务的标准之上。w s c o o r d i n a t i o n 规范提供了一个协同w e b 服务 达成事务一致性的框架,而不管具体的事务协议。这个框架定义了两个关键概念: 5 电子科技大学硕士学位论文 协调器和参与者。协调器代表客户端负责收集事务的结果,参与者代表w e b 服务 提供者负责和协调器交互。这个框架提供了事务的创建、注册和协调方面的服务, 指定一个事务协调上下文在协调器和参与者之间传递事务的有效期、事务的状态 以及参与者状态等信息。 w s t r a n s a c t i o n 规范描述了两种协调类型,一种是原子事务( a t o m i ct r a n s a c t i o n , w s a t ) t 2 6 1 ,另一种是业务活动( b u s i n e s s a c t i v i t y ,w s b a ) 【2 7 1 。两种类型可插入到 w s c o o r d i n a t i o n 规范的可扩展协调框架一起被使用。w s a t 协议用于协调原子事 务,类似于传统的a c i d 事务,处理短期存在的活动,。w s b a 协议适于协调长周 期、松耦合环境下放松a c i d 属性的事务,引入了故障处理机制和补偿处理机制, 来恢复己完成活动的效果。在原子事务中协调器指示所有的参与者要么提交要么 取消,而在业务事务中,协调器指示单个参与者进行提交或取消。 1 2 3 3w s c a f 规范 w s c a f ( w e bs e r v i c e sc o m p o s i t ea p p l i c a t i o nf r a m e w o r k ) 规范是三个规范的 集合,即w e b 服务上下文( w s c t x ) 、w e b 服务协调框架f w s c f ) 和w e b 服务 事务处理管理( w s t x m ) 。w s t x m 定义三种类型的事务:( 1 ) a c i d 事务:即 传统的a c i d 事务。( 2 ) 长时间活动:不具有a c i d 属性,但是仍然具有原子性, 和w s t 的b a 非常相似,也使用补偿事务。( 3 ) 业务流程b p ( b u s i n e s sp r o c e s s ) : 复杂的业务处理。 1 2 4 问题总结 综上所述,现有的w e b 服务事务规范和研究成果为长事务的成功实施提供了可 靠性保障。但现有研究成果,还存在问题,不尽完善,比如b t p 协议,并不是针 对w e b 服务事务设计的,独立于w e b 服务规范,并未涉及w e b 服务事务特有的问 题。大多数解决方案都没有实现的系统,有些甚至连原型系统都没有。 1 3 研究目的和内容 本文的研究工作得到国家科技部“十一五 科技支撑计翅l 坝代服务业服务交 互支撑平台关键技术研究( 2 0 0 6 b a h 0 2 a 0 4 0 7 ) 的资助。现代服务业服务交互支撑 平台上的业务流程通常需要跨组织、跨部门组合多个自治服务,与这些应用相关 的事务处理往往具有很长的运行周期。课题要求构建一个为上层服务交互支撑平 第一章引言 台提供完善、统一、简单及可扩展的“业务事务处理框架”,该框架确保在多方参 与的复杂业务规则下,具有潜在不可靠性的底层基础设施及通信链路上,具体的 业务处理完成或者被取消。 按照课题要求,本文研究、设计及实现了w e b 服务组合的事务处理模型。通 过从事务协调、错误及故障检测到补偿处理等一整套处理机制,进行服务组合的 事务协调与事务提交,使正在运行的系统能及时发现并妥善处理出现在系统各个 层次上的异常情况。而对于服务组合的可靠性,则是通过在传统分布式事务思想 的基础上,结合w e b 服务的自身特点,依据b p e l 规范中的故障检测和补偿处理 机制来保证的。本人研究的内容主要有以下几方面: 1 w e b 服务及w e b 服务组合技术:学习x m l 、w s d l 、s o a p 、b p e l 等规范, 对w e b 服务体系有了全面的理解。 2 介绍了传统的事务机制和事务服务框架,分析了w e b 服务事务规范,即w e b 服务协调规范、w e b 服务原子事务和聚合事务规范。 3 研究b p e l 规范的长事务处理机制,并扩展了b p e l 的数据结构和作用域以 支持事务处理,结合b p e l 中的故障处理机制、补偿处理机制和聚合事务 规范中的补偿机制来保障长事务异常情况的一致性。 4 设计了w e b 服务组合的事务处理模型,并对这个模型的体系结构、异常处 理和运行原理进行详细地说明。 5 设计了组合事务处理模型中的事务层长事务处理框架,详细介绍了该框架 中的业务事务应用接口模块和自治服务协调支持模块的设计。 6 对服务组合的事务模型进行功能测试,并给出了该模型的一个应用实例。 1 4 论文结构 第一章:引言。简要介绍了课题的背景和w e b 服务事务的研究现状,以及本 人所作的研究,最后概要讲述了各章节的内容。 第二章:介绍了理论基础。介绍了w e b 服务体系结构和w e b 服务组合相关技 术。 第三章:b p e l 的事务机制分析。介绍了b p e l 作用域、补偿处理程序和故障 处理程序,并对b p e l 进行事务方面的扩展。 第四章:介绍了服务组合的事务处理模型的总体结构,介绍了事务处理层在 该模型中的位置和作用以及事务异常情况的处理,阐述了系统开发的运行环境和 7 电子科技大学硕士学位论文 设计原理。 第五章:分析了长事务处理框架的设计结构和事务协调与运行机制,对业务 事务应用接口和自治服务协调支持模块的设计给出了详细的说明。 第六章:分析了w e b 服务组合的事务处理模型进行的功能测试。 第七章:讲述了w e b 服务事务处理模型在区域数字医疗中的应用,并且分析 了其优势。 第八章:结束语。总结了本文的主要研究工作和意义,针对目前的不足,提 出了进一步的研究内容和方向。 1 5 小结 本章介绍并分析了w e b 服务事务处理的国内外研究现状,并介绍了论文的选 题背景,主要的研究内容以及论文的组织结构安排。 8 第二章w e b 服务及组合技术 2 1w - e b 服务 第二章w e b 服务及组合技术 w e b 服务2 8 1 是互联网上的一种服务协议,通过t n ) o i 【2 9 1 注册和搜索服务,采 用x m l r 3 1 】作为基本的标记语言,w s d l 3 2 】作为服务描述语言,s o a p 3 3 】【3 4 】作为互 操作协议。这三种技术是面向服务的体系结柚o a ( s e r v i c eo r i e n t e d a r c h i t e c t u r e ) 架构【3 0 】的主干技术,为分散的w 曲服务之间的互操作和集成提供了基础。 2 2w e b 服务组合 单独的w e b 服务通常不能适应复杂的应用,不能满足开放的、动态的w e b 环 境发展。随着w e b 服务的迅速发展,w e b 服务的抽象、组织和复合越来越重要【3 5 1 。 目前w 曲服务组合的核心问题是怎样有机地、动态地集成企业内或企业间的自治 服务来提供增值的服务。从文献 3 5 给出的定义可以看出,w 曲服务组合应该具有 层次性、扩展性、动态性、自适应性等特点。 提供一个在分布式的计算环境中,自动地使用标准技术进行交互是w e b 服务 组合平台的目标。在这样分布式环境中,w e b 服务组合系统应具有高可获性、可 靠性和可扩展性,然而,松耦合的、高度自治的w e b 服务并不相互依赖,组合w e b 服务非常困难【3 。 2 3 基于b p e l 的w e b 服务组合 b p e l ( 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 ) 【3 列由两种早期工作流语言演化而 来,即m i c r o s o f t 提出的x l a n g 和i b m 提出的w s f l 3 9 j 。x l a n g 采用块结构化 设计,表达更为自然;w s f l 基于有向图概念,跟w s d l 的结合更加紧密。b p e l 结合了这两种方法,并提供了丰富的语言结构来定义业务流程。 b p e l 全称为w s b p e l ,原名b p e l 4 w s ,2 0 0 7 年改为w s b p e l 2 0 规范, 将其作为一个官方的、开放的标准。在业界里,b p e l 现已成为基于业务流程建模 w e b 服务的标准。它实现了一个w e b 服务与其他w 曲服务的交互,来组成一个以 9 电子科技大学硕士学位论文 业务流程。很明显,b p e l 就适用于广泛的b 2 b 分布式系统场景。b p e l 的以这个 基本概念就是递归组合,这就意味着b p e l 流程建立在组合w e b 服务上并提供了 w e b 服务接口,这样也能被其它b p e l 流程调用来形成一个新的流程。b p e l 提供 了服务调用,数据操作,故障处理程序和补偿处理程序等活动可以将它们连接起 来,创建出复杂的流程。 b p e l 基于x m l 来定义既能使用又能提供w e b 服务的复杂的业务流程。b p e l 控制长周期业务交互并操纵关键数据,因此错误处理是长事务所必须的。b p e l 使 用基于错误处理的补偿来协调整个b p l e 流程的结果。使用补偿和错误处理,b p e l 允许流程灵活的控制错误并撤销嵌套活动。 2 4 小结 本章介绍了w e b 服务体系及其关键技术,在分布式环境中提供了无限的可能 性。但是作为一个未成熟的技术,还有不少需要问题。比如本文要解决的事务支 持问题,在接下来的几章中,将给出一个详细的w e b 服务组合的事务处理模型。 1 0 第三章扩展b p e l 的事务处理 第三章扩展b p e l 的事务处理 3 1b p e l 的长事务处理机制 b p e l 使用w e b 服务方式提供了一种描述业务流程的方法。b p e l 活动是指 b p e l 流程中一条语句或者一个步骤的执行。b p e l 使用两种活动方式:基本活动 和结构化活动。 b p e l 基本活动是一系列工作单元的集合:a s s i g n 活动是用新的数据来更新变 量的值。r e c e i v e 活动从流程的外部伙伴那获取数据,并将其保存到流程变量。i n v o k e 活动允许业务流程同步或异步调用由合作伙伴提供的服务。 b p e l 结构化活动允许基本活动的递归组合。结构化活动可以集合一个或多个 基本活动、结构化活动来组成一个新的活动。s e q u e n c e 定义一组按顺序先后执行的 活动。执行顺序是顺序活动中嵌套活动的先后顺序。f l o w 活动指定一个或多个并 行执行的活动,为了定义任意的控制结构,可以在并行的活动中使用链接。 b p e l 通过作用域将活动封装,从而提供嵌套的能力,并定义事务的边界【删【4 。 它的故障处理机制和补偿处理机制通过灵活地组织和整合w e b 服务来提供根据实 际需要灵活撤销的能力。b p e l 长事务处理的核心是它提供的补偿机制。 3 1 1 作用域 在执行一个b p e l 流程时,无论是在被调用的服务中还是流程本身都可能发 生错误 4 6 1 。b p e l 提供的机制可以显式地捕获这些错误并通过执行在故障处理程序 中指定的子程序来处理这些错误。补偿处理程序允许流程的创建并定义用于撤销 一个工作单元并把数据恢复到执行该工作之前的样子的特定操作。 处理这些情况通常会影响到相互关联的一组活动。在b p e l 中,通过将这些 活动封装在结构化活动作用域( s c o p e ) 来实现这个处理,如图3 1 所示。当作用 域的嵌套活动执行时,事件处理程序允许事件的并发处理。相对于错误处理程序 和补偿处理程序,事件处理程序是作用域正常执行的一部分。 电子科技大学硕士学位论文 3 1 2 补偿处理机制 图3 1 s c o p e 活动结构 补偿的控制过程是长事务处理的核心【4 2 1 ,在一个业务流程的运行过程中,可 能要撤销某些已完成的活动,这些活动是一个时间更长的事务的一部分,而这个 事务不得不被终止。这些撤销的步骤的指定是使用补偿处理程序来定义的,补偿 处理程序可以在作用域级别上定义。每一个补偿处理程序包含一个在作用域需要 被补偿时运行的活动。通过补偿处理程序,作用域可以描述一部分通过应用程序 定义的方式可撤销的行为。 在补偿处理程序中的活动看到的变量数据必须与作用域完成时是一样的。由 于各活动共享变量以及由w h i l e 活动引起的循环这两方面的原因,为即将完成的作 用域数据保存一个快照,以备补偿处理程序将来可能要用到它。 仅当作用域正常完成执行后,该作用域的补偿处理程序才可被调用。一旦作 用域成功地完成,它的补偿处理程序就已经准备好可以运行。如果一个流程中一 个己安装的补偿处理程序被调用的次数大于1 ,那么流程中的语义就是不明确的。 3 1 2 1 补偿处理程序的定义和调用 补偿处理程序仅仅是补偿活动的包装,如下所示,其中a c t i v i t y 是为了补偿已 经完成的行为而执行的操作。 ? a c t i v i t y 有两种定义补偿处理程序的方法。第一种是使用标准的语法,第二种是通过 1 2 第三章扩展b p e l 的事务处理 i n v o k e 活动的一种快捷方式,即直接插入补偿处理程序而不是显式地使用直接包 括的上一级作用域。 补偿处理程序的调用方法是使用c o m p e n s a t e 活动,该活动命名了执行补偿所 在的作用域,即将要被执行的补偿处理程序的作用域。为了让补偿处理程序通过 名称来调用,所有直接嵌套在作用域里的作用域和活动的名称必须是唯一的。 显式补偿在执行c o m p e n s a t e 活动时发生,显式地执行c o m p e n s a t e 活动的能力 是b p e l 的应用程序控制的错误处理框架的基础所在。该活动只能用于业务流程 中的在直接包括补偿将被执行的作用域的上一级作用域的故障处理程序或补偿处 理程序中。以这种方式回滚的作用域必须被命名,因为c o m p e n s a t e 活动就是通过 这个名称标识他们的。当一个c o m p e n s a t e 活动被显式执行时,它运行指定的作用 域中的补偿处理程序。 3 1 3 故障处理机制 当作用域的嵌套事务出错时,错误处理程序就执行。如果个错误处理程序 正常结束,作用域结束,流程继续执行就像作用域正常完成。在错误处理程序中 的错误被抛给它所在的作用域,这就保证了错误被作用域的错误处理程序处理。 如果作用域中的错误没有被错误处理程序处理,并且没有定义c a t c h a l l 处理程序, 隐式的错误处理程序将被安装。当终止了所有嵌套活动,它将补偿所有嵌套的作 用域。当补偿完所有嵌套的作用域,它抛出错误给发起错误的作用域。 如果一个作用域进入正常的处理模式,错误处理程序被安装。当正常处理模 式完成时错误处理程序被卸载。一个作用域只能有一个错误处理程序被执行。 错误处理与补偿处理机制结合的实例如图3 2 。第1 个和第2 个请求在同一个 s c o p e 中,它们都成功完成调用,s c o p e 成功结束。第3 个请求也在属于同一流程 作用域中成功完成调用。但是第4 个请求调用却失败了,触发了错误处理程序。 错误处理程序在第6 步中执行补偿活动,在第7 步和第1 0 步将依次调用己注册的 补偿处理程序。 1 3 电子科技大学硕士学位论文 3 2 扩展b p e l 事务处理 图3 - 2b p e l 错误处理与补偿 在目前的主流的w e b 服务组合描述语言中没有提供对于业务事务协议的支持 【9 】。下面分析了在w e b 服务组合中对于事务处理的需求,并对b p e l 进行了针对 事务支持的扩展。 w s t 规范中的w s b a 协议与b p e l 在事务处理方面有相似的部分。它们均 遵循开放事务嵌套模型,并且在事务执行期间,在遇到子事务出错的情况下显式 地调用硬编码补偿动伊4 3 1 。 在b p e l 中,作用域( s c o p e ) 为嵌套在其中的活动提供上下文,定义故障处理程 序和补偿处理程序。补偿处理程序是允许流程的创建者定义用于撤销一个工作单 元并把数据恢复到执行该工作之前的特定操作,它包含特定的补偿逻辑。 在组合服务的生命周期内完成对数据的操作是服务组合的一个过程,在此过 程中,被调用的w e b 服务或者流程其本身就是业务流程的参与者。在开始事务后, 邀请参与者加入事务中,调用w e b 服务,要触发一个
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 天津医保考试题目及答案
- 支付系统应急响应-洞察及研究
- 2025年公需课专业技术人员的职业发展与时间管理考试题(含答案)
- 2025年高压低压电工证考试题库附答案(含各题型)
- 2025年高级经济师《工商管理》试题及答案
- 2025年高级会计师资格实战演练真题解析与答案
- 旅营体制考试题及答案
- 生活类口语试题及答案
- 运动健康饮食试题及答案
- 财务内部群管理办法
- 2025年乡镇畜牧站动物检疫员招聘考试重点知识点梳理与解析
- 土地合作协议书合同模板
- 2025水利安全员C证考试题库(含答案)
- 合同保证金转让三方协议
- 一级建造师-机电工程管理与实务-案例专题突破教学课件
- 新沪教牛津版九年级上册英语全册教案
- 2025人教版(2024)一年级上册数学教学计划 (三篇)
- 无人机原理课件
- 1.1 精微广大-绘画的功能和种类 教学设计-2023-2024学年高中美术人美版(2019)选择性必修1 绘画
- 全校教学质量提升会上校长讲话:把每一节课教好是我们最实在的荣耀
- 体适能教学课件培训
评论
0/150
提交评论