(计算机应用技术专业论文)面向服务工作流的事务补偿机制的研究与实现.pdf_第1页
(计算机应用技术专业论文)面向服务工作流的事务补偿机制的研究与实现.pdf_第2页
(计算机应用技术专业论文)面向服务工作流的事务补偿机制的研究与实现.pdf_第3页
(计算机应用技术专业论文)面向服务工作流的事务补偿机制的研究与实现.pdf_第4页
(计算机应用技术专业论文)面向服务工作流的事务补偿机制的研究与实现.pdf_第5页
已阅读5页,还剩51页未读 继续免费阅读

(计算机应用技术专业论文)面向服务工作流的事务补偿机制的研究与实现.pdf.pdf 免费下载

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

文档简介

摘要 作为企业经营过程重组与过程自动化的一种手段,工作流技术着眼于协调企业资源、自 动化企业业务流程、高效完成企业业务目标。现代化大规模企业,其组织结构、资源架构和 业务流程日趋复杂多变,跨组织、跨领域问的业务流程且益增多,传统的工作流模型已经无 法适应这种需求的变化。另外,随着企业规模的扩大和业务过程的复杂化,工作流模型变得 越来越复杂,迫切需要增强工作流管理系统的灵活性、可用性和容错性。工作流异常处理便 是其中所需的重要技术之一目前,虽然国内外已经有了一些基于w e b , 服务的工作流管理系 统的产品,但是它们大部分不能有效的处理工作流活动结点出现异常时的情况,同时也没有 考虑到实际应用中不可避免会遇到的大量的事务需求,因此工作流的执行效率相对较低,实 用性和可操作性不高,这样就违背了当初面向服务工作流产生的初衷 本文在初步分析了各种面向服务工作流的管理模型之后,提出了基于s o a 的面向服务工 作流管理模型,并兼顾其事务需求进行了结构化描述。在传统的工作流异常处理理论的基础 上,结合w e bs e r v i c e 的事务处理规范,提出了一套系统化的针对面向服务工作流的异常处理 策略和相应的结点回滚和补偿机制,能够有效地解决面向服务工作流管理系统中事务相关的 异常处理问题。本文提出了层次性的协调架构来保证工作流业务活动的事务性,保证整个工 作流业务流程高效、准确、流畅地执行。 随后,本文简要的论述了一个具有协调性异常处理机制的面向服务工作流管理系统的 具体实现,其中主要包括面向服务工作流定义工具的实现、工作流模型的存取以及异常处 理的模块最后。本文对相关工作进行论述,分析了一些创新点,并对未来的工作进行展 望。 关键词;工作流,面向服务事务,异常处理。协调 a b s t r a c t w i t ht h er a p i de x p a n s i o no fi n t e r n c ta n dl r a r l m e t s o n i ck i n d so fs o f t w a r es y s t e m sh a v e b e e n g r e a t l ye v o l v e d , e s p e c 础l yt h e w o r k f l o wm a l 值g e m e n ts y s t e m m e w h i l e ,m a n y m o d e r n i z a t i o n t e r p r i s 嚣h a v eal a r g cs c a l ea v 目n e t w o r k , a n d t h e i ro r g a n i 2 舡i o ns m x e t u 他, f e s o u r c o n t i g u t ea n db u s i n e s sp r o c e s st e n dt ob eg r a d u a l l y m o l es o p h i s t i c a t e 1 - l o w e v e l , t r a n d i t i o n a lw o r k f l o wm o d e lc a n n o tm e e tt h i sd e m a n d , b e c a u s ei tt i g h t l yb i n db u s i n e s sm o d e l w i ms e f 啊c el e s o u t c e $ ,p r o c e s sc a r l n o tb ef l e x i b l yo v c i d i f f e r e r r te l l t e 巾r i s 器a n df i e l d si nm a n y a p p l i c a t i o no fi n f o r m a t i o ni n t e g r a t i o n a l t l a o u g h tt h e r eh a v eb e e na l o to f p r o d u c t i o mo f w f l v i $ b a s e do nw e bs 朗啊c en o w a d a y s b u ti nm o s to ft h e s ep r o d u c t i o n s , i ti sn o tw e l lh a n d l et h e w o r k f l o we x c e p l j o na n dt r a m a e t i o n a ld e m a n d i n gt oi m p r o v et h ew o r ke t l i e i e n e yo fw t l v i $ i ti s v e r yn e , c e $ s a l yt on l a k c $ o n l eg o o dm e t h o d st ol j a n d l ea l lk i n d so f e x c e p t i o nd u r i n gf i l er u l lt i m e a t t e ras t u d y0 1 1k i n d so f i r a n d i t i o n a lw o r k t l o wm o d e l , w ee m p h a s i z e0 1 1 1as e r v i c e - o r i e n t e d w o r k f l o wm o d e lb a s e s0 1 1 $ o aa n di r a l l 僦o l lah i e r a r e h i e a lc o o r d i n a t - i o nf r a m e w o r kh a sb e e n p r o p o s e d t og u a t a n t e o m p e m a t i o nc o m p l e t e sq u i e l d ya n dp r e c i s e l y o nt h eb a s eo f w e b s e r v i c e 位d n s a c t i o n 吼dc o o r d i n a t i o np r e s c r i p t i o na n dw ep r o p o s eas y s t e m a t i cm e t h o dt oh a n d l e e x p e c t a b l ea n du n e x t ) e c t a b l ec x c e i ,t j o l l lt h e nw ed e s c r i b et h eh a n d l i n ge l e m e n t s ( h a ti n c l u d e a c t i v i t i e s , e x c e p t i o ne v e n t s , s t 魄舀e s ,a n dm d t h o d sb ym c 粕so fa ni n t u i t i o n a l f o r m a l p r e s e n t a t i o n s ot h ec o m p e l m a o ns p h e r ei se o n f m e da n de o m p e m a t i o nc o s t s 黜r e d u c e d a f t e r 她、i n 廿o d u e eaw t i sd e v e l o p e dw i t ht h ea b i l i t yo fe x c e p t i o nh a n d l ea n d d e s c r i b et h ew o i 煳o wm o d e l i n gt o o l k i ta n dt h em o d u l eo f e 粒e p t i h a n d l ei nd e l a i l f i n a l l y t h e r e s u l ti sa n a l y z e da n de v a l u a t e d , a n dt h ef u t u r ew o r ki ss i m p l yd i s c u s s e d k e yw o r d s :w o r k :f l o w ) s e r v i c e - o r i e n t e d , t r a n s a c i i o n , l ! x c e p t i o nl m d l e ,c o o r d i n a t i o n m 东南大学学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得 的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包 含其他人已经发表或撰写过的研究成果,也不包含为获得东南大学或其它教育 机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所傲的任何 贡献均已在论文中作了明确的说明并表示了谢意。 研究生签名:政日期:照登舌j f j 东南大学学位论文使用授权声明 东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交学 位论文的复印件和电子文档,可以采用影印、缩印或其他复制手段保存论文。 本人电子文档的内容和纸质论文的内容相一敦。除在保密期内的保密论文外, 允许论文被查阅和借阅,可以公布( 包括刊登) 论文的全部或部分内容。论文 的公布( 包括刊登) 授权东南大学研究生院办理。 研究生签名:丝导师签名:日期:d , o 珥6 j 第一章绪论 第一章绪论 1 1 面向服务工作流的发展及应用现状 工作流的概念起源于生产制造业与办公自动化领域,其目的是通过将工作分解成定义 良好的任务、角色,按照一定的规则和过程来执行这些任务并对它们进行监控,达到提高 办事效率、降低生产成本、提高企业生产经营管理水平和企业竞争力的目标。根据工作流 管理联盟( w f m c ) 对工作流的定义,工作流是一类能够完全或者部分自动执行的经营过程, 它根据一系列过程规则、文档、信息或任务能够在不同的执行者之间进行传递与执行工 作流管理系统是利用软件来定义、创建和管理工作流执行的计算机系统,该系统运行在一 个或多个能理解流程定义并与流程参与人相互协作的工作流引擎之上i l j 。工作流系统只有 在工作流管理系统的支撑下,通过集成具体的业务应用软件系统( e r p 、c r m 、s c m 等) , 才能良好地完成对企业经营过程运行的支持,在更广的范围内,不同的时间跨度上做好企 业的经营管理,提高企业的整体水平和竞争力。 工作流的研究开始于二十世纪七十年代,最初的工作流系统主要以企业内部的文档处理 为主。八十年代中期,f i l e n 卿v i e w s t a r t 等公司率先开拓了工作流产品市场,成为晟早的一 批工作流产品供应商。他们把图像扫描、复合文档、结构化路由、实例跟踪、关键字索引以 及光盘存储等功能结合在一起,形成一种全面支持某些业务流程的集成化的软件( 即早期的 工作流管理系统) 到了二十世纪九十年代,随着计算机的普及,计算机网络技术的迅速发展,企业的信息 化程度提高,企业信息资源越来越表现出异构、松散耦合的特点i n t e r n e t 的发展和普及促 进了电子商务应用的极大发展。使得公司与公司之间、公司内部部门之间以及子公司之间的 业务相互处理成为可能。然而,传统的工作流模型将业务过程与企业资源绑定业务模型与 组织和资源模型结合过于紧密不适应企业的动态变化和发展的要求。同时,传统的工作流 管理系统一般限于企业内部对跨组织的工作流支持不够。因而需要探讨新的能够灵活、方 便、高效地实现企业业务的工作流技术手段。 w e bs e r v i c e 、网格等技术的发展以及面向服务架构s o a ( s e r v i c e a m e n t e da r 跚t e c = t i _ e ) 的应用促进了工作流在网络应用里的发展和海量数据的集成,使得工作流管理系统由最初 的无纸化办公环境,转而成为集成企业复杂业务流程,实现业务流程自动执行的工具,工 作流的活动结点不再局限于本地而可以扩展到网络上的各种服务。工作流技术迸入了一个 崭新的具有数据集成能力的发展阶段。s o a 不是一种新的技术,而是集成了w e b 服务等各 种构件模式在内的一种组件模型,它将应用程序的不同功能单元一服务( s e r v i c e ) ,通过服 务间定义良好的接口和契约( c o n n a c t ) 联系起来。接口采用中立的方式定义,独立于具体实 现服务的硬件平台、操作系统和编程语言,使得构建在这样的系统中的服务可以使用统一 和标准的方式进行通信。s o a 与工作流的结合形成了面向服务的工作流体系。业务流程不 关心服务的提供方而只要求服务返回结果以继续进行工作流各个活动结点的任务为顶层 任务。顶层任务通过逐层分解成为各项独立的子任务,子任务通过动态发现和各种匹配机 制找到合适的服务资源。不同服务资源之间存在着服务合成的问题,具体某一个服务资源 存在着嵌套服务的体系结构项层服务通过逐层分解成为易执行的各种底层服务,最终底 层服务逐层向上返回运算结果至工作流活动结点,保证工作流业务流程的顺利执行 面向服务的工作流体系结构如图i - i 所示。 东南大学硕士学位论文 图1 1 面向服务工作流的体系结构 目前,在全球范围内,对面向服务工作流技术的研究及相关产品的开发进入了较为繁 荣的阶段。面向服务工作流技术的研究和应用日益受到学术界与企业界的重视,国内外许 多大学和研究机构也都致力于面向服务工作流技术的研究和开发项目,其中比较有影响力 的工作流研究中心主要有m m 的a i m a d e n 研究中心和w i d e 工作流研究组等。 尽管已经有越来越多的工作流产品供应商与工作流研究人员介入了面向服务工作流的 研究,面向服务工作流技术仍处于萌芽状态,从实际应用状况来看,还远未达到人们所期待 的水平。从企业用户应用的角度来分析,主要是面向服务工作流技术在可用性,标准性,兼 容性,对大规模业务的负荷胜任能力以及安全性等等方面尚未成熟因此,在面向服务工作 流技术应用日益得到重视的今天,对面向服务工作流技术的研究也正在向更深层次进行。面 向服务工作流技术研究课题大致可以归纳为以下三个方面: ( 1 ) 面向服务工作流的理论基础p ”:包括面向服务的工作流管理系统的体系结构、模型、 定义语言等。 ( 2 ) 面向服务的工作流的实现技术1 3 8 , 明:包括网格服务、w e b 服务与工作流的结合,服务 的发现、查找和映射算法,工作流服务结点的访问控制等服务细节,探讨利用先进的技术( 包 括工作流的事务特性、先进的软件技术应用工作流仿真等) 提高工作流管理系统的性能和 可靠性 ( 3 ) 面向服务工作流技术的应用:面向服务工作流实旌技术在不同应用领域的应用方法、 应用软件集成等。 1 2 面向服务工作流的异常处理必要性 异常处理问题早在信息处理系统中就已经提出和研究了,m s d i a n e 和m m m 1 l 谢 信息处理中异常的定义是 3 1 :异常指没有人工干预计算机就不能正确处理的情况。但针对工 作流系统,异常处理又有了新的内涵。帆k l e i n 和c d e l l a m c 舔等人对工作流的异常定义是1 2 j : 工作流异常是指对“理想”业务过程的任何偏离,包括活动执行时遇到的错误、活动参与者 之间的通讯错误、对活动和资源的变化缺少支持等等( 这个“理想”业务过程是指利用可使用 2 第一章绪论 的资源以一种最佳方式达到某项任务的要求) 1 2 】也就是说,异常是指工作流运行过程中出 现了不能按人们事先定义的过程进行正常运行的情况。这里,我们要研究的异常可以定义为: 工作流异常是指由于工作流系统外部异常、工作流系统异常或活动执行异常所引起的工作流 活动失败和戚工作流程失败,导致工作流不能按照预定义的工作流模型正常执行的情况。 通过对工作流的异常的各种定义,我们可以认为工作流中的异常并不一定和错误划等号的, 异常只不过是正常的流程之外的流程,不一定都会成为错误;但是,在某些情况下,特别是 流程正在向无法挽回的错误的方向进行的时候,我们要让系统抛出异常,从而使系统通过异 常处理器和恢复机制回到正常的流程之中。 随着工作流技术的飞速发展,市场上出现了很多工作流产品。可是,由于大规模、分布 式信息系统的复杂性增强、业务过程的动态变化以及工作流执行时各种不确定因素的存在, 使得工作流在执行时经常出现各种异常。对于一个工作流管理系统来说,不仅要求它在正常 情况下能够发挥作用,更重要的是要求他能够灵活的处理各种异常情况,并且在某个结点发 生错误时候能够保证,整个系统不会发生崩溃。而现有的工作流管理系统还缺乏对各种异常 处理的有效支持或只是简单的支持,如一些的单一的异常情况处理策略州、系统容错能力 3 4 1 、数据保护以及数据恢复方法i l 目等等。远远不能满足企业应用的需要。工作流异常已经 成为困扰当今工作流应用实施的重要问题。通过对工作流执行时出现的异常进行有效处理, 可帮助建立正确、可靠的工作流模型,并保证工作流的顺利、正确执行以完成过程的目标。 工作流异常处理是指在工作流执行中遇到异常时,通过适当的方法对异常进行有效的处 理来保证工作流顺利执行。异常处理需要在工作流的建模阶段就进行很好地预测与建模,并 在工作流执行阶段进行正确的处理,这是一个具有挑战性的课题。近几年国外已经开展了一 些研究工作【2 “l 。近期国内也有学者进行了初步地研究,如对工作流异常处理进行形式化 描述,基于e c a 规则的异常处理策略,以及对基a g e n t 的工作流的异常处理进行了研究等 等o “2 7 , 2 s l 。 纵览工作流技术的全局,现阶段对工作流异常处理的研究有以下的意义: ( 1 ) 使工作流系统具有动态可适应性能力 对工作流的异常处理进行研究可以大大提高工作流系统的动态可适应性,使其具有灵活 的异常处理能力,使工作流技术更好的应用到企业和政府中 ( 2 ) 使工作流系统更加稳定和健壮 现代企业的应用对于一般工作流的异常处理已经提出了一定的要求,在网络化数据集成 的环境下,面向服务工作流的异常处理显得更加重要。而且,目前的面向服务工作流系统往 往也是事务工作流,即是普通工作流和事务的统一,同时支持几个应用程序的事务属性和业 务流程系统由事务组合形成,其执行满足松弛原子性( r e l a x e da t o m i c i t y ) ,即事务工作流 的执行或者正常结束,或者通过回滚和补偿的方式取消所有已提交事务的执行效果。在这种 执行要求下,一方面,工作流各个活动结点调用的服务由于其松耦合性使得某一处的异常情 况无法迅速地传递至工作流引擎进行处理,时间的延迟会导致异常处理过程变得十分困难; 另一方面,网络环境下的异常处理可能会引起第二轮的服务查找、匹配和执行,协调活动结 点和服务结点完成各自回滚和补偿的处理过程变得相当复杂。如何在保证面向服务工作流的 容错性和稳定性的前提下,使其能够处理不同层次的异常,从而更加稳定和健壮,这也是本 文研究的重点。 此外,面向服务工作流集成了很多分布式的数据,而且事务往往是跨结点执行的,系统 必须保证全局事务的原子性和数据的一致性,这是面向服务工作流处理事务时的关键问题, 也是本文讨论的重点。 总之,对工作流异常处理的研究已经成为完善工作流技术的关键之一,它直接决定了工 作流技术是否能够进一步很好的应用。而对于面向服务的工作流系统异常处理情况解决的好 3 - 东南大学硕士学位论文 坏更是衡量工作流产品优劣的关键之一。 1 - 3 论文的主要内容与章节安捧 本文针对面向服务工作流中的异常处理问题,提出了一个协调性的异常处理策略,来 处理工作流实例远程调用服务执行过程中出现的可预测和不可预测异常,其主要内容安排 如下: 第二章主要讨论了工作流异常的一些基本概念,包括工作流异常定义、产生原因、分 类等。然后讨论了工作流异常处理的概念、处理方法等,并对当前的工作流异常处理的研 究现状做了总结和分析 第三章着重阐述了面向服务工作流的各个关键技术,包括面向服务的工作流的概念和 优点、工作流活动结点与服务之间的映射算法等等,并详细描述了各种面向服务工作流模 型,其中侧重强调了基于事务的工作流模型的相关特性 第四章在比较完整的抽象并形式化描述异常处理概念及策略的基础上,提出一个基于 协调的面向服务工作流的异常处理策略。引入了w e b 服务的事务规范,详细描述了一个层 次性协调的面向服务工作流异常恢复的算法 第五章节描述了一个具有异常处理功能的面向服务工作流管理系统。重点讲述了图形 化的工作流建模工具、工作流模型的存储形式以及异常处理相关的模块。 第六章总结了全文,归纳了论文的创新点,并阐述进一步研究的方向 4 第二章面向服务的工作流管理模型 第二章面向服务的工作流管理模型 2 1 面向服务工作流的概念和优点 面向服务的体系结构( s e r v i c e - o r i e n t e da m h i t e c t u r e ) p 7 是一个组件模型,它将服务通 过定义良好的接口和契约联系起来。由于服务接口的定义采用中立的方式,独立于实现服 务的硬件平台、操作系统和编程语言,这使得构建在各种系统中的服务能以种统一和通 用的方式进行交互。这种具有中立的接口定义( 没有强制绑定到特定的实现上) 的特征称 为服务之间的松耦合“ s o a 的第一条准则是:业务驱动服务、服务驱动技术。s o a 关注业务流程和使用标准 接口嗍,为流程开发或组合应用,以服务组件的方式实现流程中的任务或活动。使用工作 流技术可以把简单服务聚集成为更加复杂的服务,服务链接在一起执行较高级别的业务功 能;同时可以将s o a 看作是一个良好的工作流环境。基于s o a 的工作流系统具有明显的松 耦合的特点。松耦合系统的好处有两点,一点是它的灵括性,另一点是。当组成整个应用 程序的每个服务的内部结构和实现逐渐地发生改变时,它能够继续存在而另一方面,紧 耦合意味着应用程序的不同组件之间的接口与其功能和结构是紧密相连的,因而当需要对 部分或整个应用程序进行某种形式的更改时,它们就显得非常脆弱基于s o a 的工作流技 术可以充分利用其松散耦合、位置透明、协议独立等特点。解决异构性、互操作性等问题, 高效地利用或重组企业现有的应用资源,适应业务和资源动态变化的需求。具体而言,从 过程模型和信息模型角度讲,工作流活动阃的控制关系与数据依赖是建立业务流程模型时 确定的,绑定活动与服务便将它们传递到了服务;从组织模型角度讲,在建立具体工作流 时并不为活动指派具体的执行角色或者执行者,而是在依据活动或任务的功能和限制需求 选定服务进行绑定后。才确定了活动的执行者为服务提供者当然这里的服务提供者是一 个抽象的概念,它可能是一个大的服务包含的一系列操作或予服务的真正执行者序列。这 样,流程中的任务能被指派给任何满足需求的组织或个人,工作流的流转不再限制于组织 内部,能更好地支持跨组织的应用 目前,服务的表现形式多种多样,包括w e b 服务和同格g r i d 服务、c o r b a 技术等等。 考虑到下面所谈到的w e b 服务的优势,本文将主要研究面向w e b 服务的工作流管理系统 模型及其事务异常处理的机制和实现办法。 2 2w e b 服务在工作流系统中的优势 由于传统工作流模型的不足;静态约束柔性差,可重用性和互操作性差,缺乏对i n t e r n e t 分布式环境的支持。将w e b 服务引入工作流系统中主要考虑到在i n t e r n e t 分布式环境下, w e b 服务技术具有动态发布、发现和集成应用的特点因此利用这些特点能够显著地提高工 作流管理系统的性能。 1 ) 工作流的活动可以用w e b 服务实现。在传统的工作流管理系统中,每个企业的工作 流管理系统是一个信息孤岛。只能调用自己企业内部的应用。但是在引入w e b 服务之后。可 以不再自己实现活动,而调用网络上功能相同的w e b 服务来实现流程的活动,不但节约成本。 而且还缩短开发周期。另外_ e b 服务调用是松散耦合的过程,不需要流程定义时绑定某个特 东南大学硕士学位论文 定的应用,只需要说明相应的w e b 服务接口类型,只要服务提供商的w e b 服务接口类型相 同,就可以动态替换应用,这对流程实现来说更加灵活。这样企业可以动态选择合作商和自 己需要的服务质量。 2 ) 将流程发布为u e b 服务流程旦成为w e b 服务,其他企业的计算机系统便可以在 i n t e r n e t 环境下通过程序动态地访问企业内部的工作流服务,对于合作双方来说,不仅交 互方式更加灵活,也降低了很多交易成本。 3 ) 用w e b 服务实现跨组织的工作流。本质上w e b 服务是一种通过儿文档传递消息的 应用集成技术,其互操作性好,用w e b 服务实现跨组织工作流可以充分发挥w 曲服务互操 作好的优点,很容易实现跨组织的工作流。同时与前面两个应用的结合,把跨组织的工作流 发布为w e b 服务。实现了流程的合成和递归定义,可使工作流系统的功能更为强大。 4 ) 引入语义w e b 服务。使服务的发现、执行和动态组合能够智能地完成。 2 3 工作流结点与服务之间的相互映射 2 3 1 工作流结点与服务的映射模型 在工作流整个生命周期中,从产生业务流程需求到实现流程,工作流与服务的映射模型 可以分为图2 - 1 中所示的四层: 抽象工作流层:业务人员即提出业务需求的用户,不需要专门的领域知识,只需要给出 整个流程的总功能目标和限制规则。 具体工作流层:在总目标的拉动下由领域专家针对领域内的具体业务逻辑将抽象的业 务流程分解为活动和它们之间的时序或条件、数据等依赖关系,即形成具体的业务流程对 流程中的活动分别给出其目标和限制。其中目标主要指实现的功能,限制则包括时间、资源、 人员、数据等各个方面的需求和限制。 服务层:完成业务流程的建模后。由专门的人员根据活动的目标与限制,选择合适的服 务进行活动( 或任务) 与服务的绑定。在服务的选择上要考虑功能和限制需求等多方面的因 素或者按照一定的策略进行。完成流程中所有活动与服务的绑定后。可以看作是完成了服务 的编捧,形成了一个服务流程序列 实现层:在s o a 下。服务独立于应用程序和开发平台,其技术细节的实现通过组件的组 合来完成。无论是开发新应用还是集成企业的已有遗产系统,都可以以高内聚、低耦合的方 式进行组件包装。技术专家对组件进行分组和重新组合就形成了服务的实现实体 6 第二章面向服务的工作流管理模型 i 抽象工作流层li 工作流程总目标和限制需求l i 具体工作流层l 、( ) - y 活 (y ? 气) f 服务层 lk ) 彤一 服 l 实现层 j 组件l组件2 图2 1 工作流与服务的映射模型 2 3 2 工作流结点与服务的映射机制 利用s o a 的思想,每个企业将自己组织内的应用组件化,以服务库的形式发布到网 络上的服务注册中心,服务注册中心提供以服务名为关键字进行服务查找的手段对于企 业内部的工作流应用,引擎直接调用企业内的服务即可,实现“自给自足”;否则,建立好 业务流程模型以后。可以根据流程中的每个活动的功能需求和限制条件,到注册中心查找 合适的服务,在找到的服务中筛选最能满足需求的服务,访问其u l 也得到服务接口,将活 动与服务绑定。 在满足活动功能目标和限制条件最小需求的服务中,还可以参考服务的其他方面进行选 择,例如性能、信誉、与服务提供者的合作关系等。对于动态工作流,可以进行运行时绑定, 即当流程流转到活动时再进行服务查找、选择、捧序和绑定,以适应环境的动态变化;但由 于动态环境的复杂性,必将导致开销增加和效率降低的问题,因此可以采取关键业务动态绑 定、非关键业务静态绑定的折衷方式。在实际执行中,当服务由于某种原因不可得时,可以 选择可以选择重新执行此服务或选择替代服务重新绑定来完成另外前一个话动执行时。 为下一个活动和服务进行绑定或通知下一个服务准备数据和资源。可以节省时间。 在活动与服务绑定的方法上也可以采用选举方式:活动发出功能需求和限制标书;满足 条件的服务发出投标标书;选标,为中标服务发出合同;标服务持合同提供服务,合同可认 为是身份认证的标识这种方式适合对安全性要求较高的工作流。 2 4 工作流中服务的活动特性 在很多应用领域,面向服务的工作流,具有事务特性,即要么正确提交,要么回滚退出。 事务的概念来自数据库研究领域,用以解决数据的并发访问和出错恢复问题。a m “s h e t i l 在 对高级事务模型进行研究的基础上则提出了事务工作流( t h n s a c t i o i l a jw o r l d l o w ) | 3 闭的概念。 ,- 东南大学硕士学位论文 事务工作流由事务组合形成,其执行满足松弛原子性( r e l a x e da t o m i c i t y ) ,即事务工作流 的执行或者正常结束,或者通过补偿事务取消所有已提交事务的执行效果。事务工作流主要 有两种事务类型一种是原子事务类型,原子事务一般指的是生命周期很短的一组分布式活 动。原子事务具有a l l - o r - n o t h i n g 的属性,也就是说,一个事务如果成功了。则事务的结果是 所有参与者的活动都已成功执行,或者如果一个事务不成功,则事务的结果是所有参与者未 执行任何操作。另一种是业务事务类型,用于业务事务的协议处理生命周期很长的活动。这 些活动与原子事务的不同之处在于:此类活动可能需要很长的时间才能完成、为了使其他潜 在的用户能在最短的延迟内访问该活动所占用的资源。在箍个活动完成之前就要将临时操作 的结栗被释放。有鉴于此,人们引入了故障处理机制和补偿处理机制( 例如,补偿和调和 ( r e c o n c i l i a t i o n ) 等) ,以便将前面已经完成的业务活动的效果恢复成原来的样子。事务工作 流往往是由嵌套原子事务的业务事务所组成。 事务工作流的子过程可能作为一个原子整体,也可能是非事务性的实体。工作流活动由 外部应用程序和资源完成,执行环境、业务逻辑等的差异使其具有不同的恢复特点因此。 下文首先基于h s c h u l d t 等人的观点印 给出描述活动恢复特性的相关定义,然后提出恢复模 式( k p - r e c o v e r yp a t t e r n ) 和恢复策略( r s - r e c o v e r ys c a t e g y ) ,用于声明子过程和活动的恢复属 性 无影响的活动;设缸 c n ,c i z ,缸) 是一个活动执行序列,c 4 j e a ,j = 1 , 2 ,l 【。若 对于任意活动执行序列用v ,嘶) 与 ) 的执行效果相同,则称5 是无影响的。若活 动c 无影响,则称c 可忽略( n o n - v i r a l ) ,否则称其为不可忽略的, 可补偿的活动:对于某个工作流的活动c l ,若存在即使得秘c i ,q ) 无影响,则称q 是c i 的补偿活动,记作玎1 ,并称c i 可补偿( c o m p e n s a b l e ) , 否则称c i 不可补偿。 关键的活动:若活动c 不可补偿,且不可忽略,则称c 为关键的( c r i t i c a i ) 。 可重试的活动:对于v c e y ,若3 m e n ,即使对所有l 盘嘲1 ,均被放弃,c i 哪仍能确 保提交,则称c 是可重试的( r e l x i a b l e ) 。表示c 的第k 次执行 可替换的活动:对于v c ,若存在活动c 和,且c 与c 按应用语义具有相同的功能, 则称c 是可替换的( r e p l a c e a b l e ) ,c 是c 的替换活动 具有可选路径的b l o c k :对于块b ,b 的结点数大于l ,若存在b 袖且s b = w ,b 与b 按 应用语义具有相同的功能,则称b 具有可选路径,b 是b 的可选路径 若因为包含关键结点且无可选路径,造成子过程p 不能自动恢复,则称p 不可恢复,否则 是可恢复的。 工作流的子过程和活动往往具有不同的恢复属性,这与具体业务逻辑相关,因此工作流 失效恢复不可避免地需要业务层的支持。为此这里使用恢复模式( r p - r e c o v e r yp 础e r n ) 和恢 复策略( r s - r e c o v e r ys u 钯g y ) 的概念来扩展子过程和活动已有属性。 恢复模式( r e - r e c o v e r yp a t t e r n ) :r p 是表示子过程p 原子性的属性。l u p ( p 产 a t o m i c , n o n - a t o m i c ,a t o m i c 表示该子过程最终要满足语义原子性;n o n a t o m i c 指该子过程的执行无 语义原予性要求。 r p ( p ) = a t o m i c 的子过程p 是b l o c k 。活动的l 妒值缺省为a t o m i c 恢复策略( r s - r e c o v e r ys t r a t e g y ) :r s 是定义活动c 恢复特点的属性。r s ( c 产 n o n - v i t a l ,c o m p e n s a b l e ,r e t r i a b l e ,r e p l a c e a b l e ,c r i t i c a l ,其中策略c o m p e n s a b l e 和策略r e t r i a b l e 和 r e p l a c e a b l e 苇f 着密切的联系。为了工作流程的顺利完成,r s 为c o m p e n s a b l e 的活动,需爱定义 子策略,选择补偿之后是选择重试还是执行备用路径。 为提高系统自动处理异常的能力,需要在工作流定义中预先配置r p 和r s ,并声明补偿, 替换活动,有可选路径的子过程应提供其可选路径。事务工作流应用开发者应该通过预先定 义这些属性间接参与失效恢复。 8 第二章面向服务的工作流管理摸型 本文主要研究工作流出现异常情况时回滚与补偿的处理机制。回滚主要指的是当异常出 现时,从异常点回朔到初始点或者菜一定义好的回滚点,所有中间的操作全部取逆反操作, 工作流重新运行一次然而不是每一个操作都有逆反操作,这个时候就需要补偿,相对于回 滚,补偿所做的工作更为复杂本文重要讨论异常出现时的补偿机制和实现,具体内容将在 第四章重点阐述。 2 5 面向服务的工作流管理模型 2 5 1 基于p e t r i 网和w e b 服务的工作流模型 p e t r i 同1 4 5 1 是德国当代数学家c a p c t r i 定义的一种通用模型,被广泛应用于各个领域 进行系统的建模、分析和控制。 p e t r i 网的定义如下:定义p e t r i 网为一个三元组p n 气p t ,f ) 其中p 称为i n 的位置 集;t 称为变迁集:f 称为流关系其充分必要条件是: i ) p n t = 2 、p u t 音0 3 ) f # p x t u t p ( x 为笛卡尔积) 4 ) d o m ( f ) uc o d ( 胪p r r 其中:d o m ( i ) = x l s y :“y ) f ; c o d ( f ) = y l $ ) 【:o o ”f 在p e t r i 网的基础上,可以进一步扩展到工作流网( w f n 哟。一个p e t r i 网p n 气p t f ) 被 称为工作流网,当且仅当它满足下面的两个条件: ( i ) p n 有两个特殊的位管:i 和o 。库所i 是一个起始位置;库所o 是一个终止位置。 ( 2 ) 如果在p n 中加入一个新的变迁t ,并在f 中加入元素( o t + ) 和( t ,o ) 形成i n * ,则 i n * 是强连通的 w s f l ( w e bs e r v i c ef l o wl a n g u a g e ) 是由i b m 为了在w e b 服务架构的框架内定义软 件的工作流过程而提出的x m l 语言。它运用流程将多个w e b 服务组合成新的具有工作流 性质的w e b 服务,并且支持业务过程描述。过程模型由结点、链接弧、条件三部分组成。 w s f l 定义了丰富的元素和语义结构来对这3 部分进行描述各个部分描述的重点和特点 如下【2 】: ( 1 ) 活动结点。在业务流程中,占了很重要的地位在描述过程模型的时候,对于活动 结点的描述,是十分关键的部分。活动用 元素表示,它有名字,以区别其它活动;活 动的输入与输出分别用元素 i n p t 护和 - 表示。活动提供者用元素 表示 操作由m p l 舶嘲护来指定 ( 2 ) 连接弧。分为控制链、数据链;控制链主要描述相邻活动的结点的先序关系为了 避免语义的模糊不 毒。控制链中禁止出现循环。数据链往往是沿着控制链的,描述两个活动 之问的信息交换。因为源活动的输出与目标活动的输入的数据结构并不是常常匹配的,所 以在数据链中要进行数据映射描述,将源活动输出的数据结构的一些组成部分对应到目标 活动输入中去一个链接弧描述一个活动( 源) 与它可能的后继活动的链接控制链用 元素表示数据链用 元素表示 ( 3 ) 条件。包含转移条件、联合条件和离开条件。转移条件在控制链中定义。是一个布 尔值,表示此控制链描述的顺序关系发生的条件,用u a n s i t i o n 关键字描述。联合条件在活 动中定义,表示进入这个活动,也就是这个活动被激活的前提或准备条件,用j o i nc o n d i t i o n 关键字描述。离开条件也在活动中定义,表示活动如果没有满足某个特定的条件,则重复 执行直到满足为止用e x i t c o n d i t i o n 关键字描述因为控制链中不准出现循环遇到反馈情 9 - 东南大学硕士学位论文 况时,可将重复的部分分离出来成为一个单独的流,然后作为活动结点参与主流,重复的 实现就靠活动的离开条件完成。 w s f l 的生成分为活动、连接弧和条件三个部分。它们分别由p e u i 网中的位置p 、变 迁t 和流关系f 进行描述其基本生成描述如下: 动作生成最为简单,p e l r i 网中的变迁t 即为w s f l 中的活动。根据p e u i 网的控制 流图的不同生成的动作数也不同。 连接弧。来自于p e t r i 网中的弧( a r c ) 。弧使用两种方法规定局部状态和事件之间的关系: 它们引述事件能够发生的局部状态;由事件所引发的局部状态的转换 条件。来自于p e t r i 网中的位置p 位置p 在p e t r i 网中主要用来描述变迁t 的运行条 件。 2 5 2 基于传统事务的工作流模型 事务的概念来自于数据库研究领域,用以解决数据的并发访闯和出错恢复问题。事务 通常指一组对于物理的或者抽象的应用状态的操作组成的集合。事务处理系统通常指一个 完整的系统,包括应用生成器、操作工具、数据库、外设、网络和操作系统。一个事务处 理系统提供了工具来方便应用编程,并通过这些工具来提高应用执行和监控工作的自动化 程度。事务与普通的程序操作的最大区别是它具有的事务特性,简称a c i d 特性。事务所 具有的这四个特性分别为: ( 1 ) 原子性( a t o m i c i t y ) :所有关于一个事务的操作必须当成一个原子单元,即或者 所有的操作都成功执行,或者一个也没有执行。如对数据库中数据所做的一系列操作必须 全部完成后才能提交,否则所做的部分操作必须全部取消; ( 2 ) 一致性( c o n s i s t e n c y ) :事务操作得到的结果必须保证是一致的,如对于数据库 操作生成的新的数据库状态必须满足数据库的一致性约束: ( 3 ) 分离性( i s o l a t i o n ) :在事务状态下执行的任何操作如同它在一个单用户环境下执 行操作那样,它不受其他并行的操作执行的任何影响; ( 4 ) 持久性( d u r a b i l i t y ) :事务提交后,对数据的操作结果不会丢失,将持久保留。 事务特性的提出主要是为了提高数据库的出错恢复能力和数据库系统的可靠性。目前 事务处理的概念已经在许多应用领域得到了应用经过多年的研究工作,在事务处理领域 已经形成了许多用于并发控制、死锁预防,出错恢复等的一系列机制和方法,这些方法已 经成为构建分布应用环境下具有高可靠性的大规模复杂系统的重要基础。 事务工作流可被认为是普通工作流和事务的统一,其用意就是同时支持一个应用程序的 事务属性和业务流程。因此,事务工作流由事务组合形成,其执行满足松弛原子性( r e l a x e d a t o m i c i t y ) ,即事务工作流的执行或者正常结束,或者通过补偿事务取消所有已提交事务的 执行效果。在文献p o 基础上,本文使用一种保证语义原子性的事务工作流模型。 根据工作流管理联盟( w m f c ) 制定的参考模型,工作流是由代表各个任务的活动结点, 按执行顺序组成的。一个工作流定义也可以称为过程定义,一个过程的活动结点可以用一个 集合t 。 kt l , t b ,ku 来形式化表示,其中t 未示起始活动结点,t 赢示结束活动结点, 濠示中间某个活动结点 对于一次工作流执行所遍历的所有结点集合若用r = t 1 ,乜,kh 表示,则 r 酉。 工作流的执行过程可以用一个有序集合= c | ,c l ,c b ,吣表示,其中蔽示起始 活动结点的执行实例,c t 表示结束活动结点的执行实例,c i 表示中间某个活动结点的执行实 例。 设g 是一个有向图,o = 匹,l ) ,箕中- c i 一,c i , ,l ,吣为结点集,l = 1 i l ”, 1 0 第

温馨提示

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

评论

0/150

提交评论