(计算机科学与技术专业论文)一种支持自反特性的工作流系统.pdf_第1页
(计算机科学与技术专业论文)一种支持自反特性的工作流系统.pdf_第2页
(计算机科学与技术专业论文)一种支持自反特性的工作流系统.pdf_第3页
(计算机科学与技术专业论文)一种支持自反特性的工作流系统.pdf_第4页
(计算机科学与技术专业论文)一种支持自反特性的工作流系统.pdf_第5页
已阅读5页,还剩74页未读 继续免费阅读

(计算机科学与技术专业论文)一种支持自反特性的工作流系统.pdf.pdf 免费下载

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

文档简介

国防科学技术大学研究生院学位论文摘要工作流技术的应用越来越广泛,但传统的工作流系统缺乏灵活性,预先定义的业务流程不能适应系统运行中发生的各种变化。运行中的业务流程一需要改变,传统的工作流系统往往无法继续执行下去,这个问题制约了工作流技术的应用能力。因此,目前工作流技术一个重要的研究方向,就是提高动态适应特性,使系统能自动或部分自动地在运行中处理各种情况,确保业务流程顺利完成。在工作流系统中,一个运行中的业务流程能根据运行情况改变自身定义内容的特性,称为工作流的自反性,自反性是工作流动态适应特性的重要组成部分。本文内容主要有两部分:一是高性能的工作流系统i n t e l l i f l o w 工作流平台。该系统基于面向过程的工作流体系结构,在数据库基础上构造轻量级引擎。系统功能强大、稳定可靠,对大量业务流程的并发执行能够提供很好的支持。本文主要讨论了引擎的基本结构以及部分核心模块的设计原理。二是在上述工作流系统的基础上,提出了一种实现工作流系统自反特性的模型,以在工作流系统中引进动态适应运行环境变化的能力。该自反模型能够在无需人工干预的情况下,监测系统运行中环境的变化,动态修改执行中的业务流程内容,使之适应环境,以完成执行目标。该模型由三个模块组成:基于消息的监测模块、基于e c a( e v e n t c o n d i t i o n a c t i o n ) 规则的自反匹配模块,以及动态修改模块。这些模块依次完成监测系统中的各种变化,自反逻辑的判断和对系统中运行的业务流程修改的功能。通过引进自反特性,工作流系统具备了灵活可扩充的动态适应能力。另外,也提供了对系统运行中产生的异常进行自动处理的机制。关键词:工作流高性能自反性动态修改里堕型兰垫查盔堂堡塞生堕兰堡望兰a b s t r a c tw o r k f l o wt e c h n o l o g yi sm o r ea n dm o r ep o p u l a ri ne n t e r p r i s e s b u tt r a n d i t i o n a lw o r k f l o ws y s t e mi si nd e f e c to fr i g i da n dd y n a m i c t h e r ei sal a c ko fr e s p o n s ea b i l i t yt oc h a n g i n gr u n n i n gc i r c u m s t a n c e i ti sai m p o r t a n tp r o b l e mw h i c hl i m i t st h ee f f e c to fw o r k f l o ws y s t e m i m p r o v i n gt h ed y n a m i ca d a p t i v ea b i l i t yo fw o r k f l o ws y s t e m ,t om a k ei th a v i n gt h ea b i l i t yo fh a n d l e r i n gu n e x p e c t e de v e n t s ,i so n eo ft h em a i na s p e c to fw o r k f l o wd e v e l o p p i n g t h er e f l e x i v i t yo fw o r k f l o wi sm e a n st h a tar u n n i n gb u s i n e s sp r o c e s sc a nc h a n g i n gt h ec o n s t e n to fi t so w nm o d e lb yd e t e c tt h es y s t e ms t a t u s r e f l e x i v i t yi st h em o s ti m p o r t a n to n eo fw o r k f l o wd y n a m i cc h a f i c t e r i s t i c t h ep a p e ri sc o n s i s t e do ft w op a r t s f i r s t ,w ed e s i g n e dah i g hp e r f o r m a n c ew o r k f l o ws y s t e m ,i n t e l l i f l o ww o r k f l o wp l a t f o r m t h es y s t e mi sb a s e do nt h ea r c h i t e c t u r ew h i c hf a c e so np r o c e s s w ec o n s t r u c tl i g h tw e i 曲e n g i nb a s e do nd a t a b a s e s ot h es y s t e mc a ns u s t a i nal a r g eq u a n t i t yo fb u s i n e s sp r o c e s sa tt h es a r n et i m e s e c o n d ,w ep r o p o s ear e f l e x i v em o d e lb a s e do ni n t e l l i f l o ww o r k f l o ws y s t e m t h em o d e lc a l lr e s p o n s ec h a n g i n go ft h es y s t e ma u t o m a t i c l yw i t h o u tt h eh e l po ft h ep e o p l e a n di tc a nm o d i f yt h ec o n t e n to fr u n n i n gb u s i n e s s s ot h eb u s i n e s sp r o c e s sc a nd y n a m i cf i tt h ec i r c u m s t a n c eb yc h a n g i n gi to w nc o n t e n tt of i n i s hb u s i n e s st a r g e t t h em o d e li sc o n s i s t e do ft h r e em o d u l e t h em o n i t o r i n gm o d u l eb a s e do nm e s s a g e ,t h er e f l e x i v em o d u l eb a s e do ne c ar u l e sa n dt h ed y n a m i cm o d i f y i n gm o d u l e t h et a k et h et a s ko fm o n i t o rt h ec h a n g i n go fs y s t e m ,m a k el o g i cj u d g ea n dd y n a m i cc h a n g i n gt h eb u s i n e s sp r o c e s s b yt h er e f l e x i v em o d e l ,t h ew o r k f l o ws y s t e mr e a l i z e df l e xa n de x p a n d a b l ea b i h t yo fd y n a m i cf i t t i n gt h ec i r c u m s t a n c e a tt h es a m et i m e ,i tp r o v i d e st h ea b i l i t yo fa u t o m a t i c l yh a n d l ew o r k f l o we x c e p t i o n k e yw o r d s :w o r k f l o wh i g hp e r f o r m a n c er e f l e x i v ed y n a m i cm o d i f yn 国防科学技术大学研究生院学位论文图目录工作流参考模型体系结构6i n t e l l i f l o w 工作流平台体系结构1 0图形化工作流过程定义1 1i n t e l l i f l o w 工作流过程定义数据结构1 2i n t e l l i f l o w 工作流过程定义任务节点1 5i n t e l l i f l o w 工作流过程定义路径1 6i n t e l l i f l o w 工作流过程变量1 6i n t e l l i f l o w 工作流执行服务器结构1 7j m s 消息的t o p i c 通信模式2 li n t e l l i f l o w 工作流消息模型2 2i n t e l l i f l o w 工作流消息结构2 3i n t e l l i f l o w 工作流消息示例2 3数据绑定对象关系图3 4自反操作模型3 5过程定义中自反消息响应结构3 7过程定义自反声明结构3 7自反事件定义结构4 1自反操作原语的参数结构。4 2自反规则匹配流程一4 5过程命题结构5 4自反操作保存点数据结构5 4引进自反操作的异常处理声明数据结构5 5自反匹配模块包5 5j m s e v e n t l i s t e n e r 类5 5r u l e m a t c h 类5 5r u l e 类5 9r u l e m a n 类5 9p r o c e s s m a n 类6 0动态修改模块包6 0m o d i f i e r 类6 1p r o c e s s d e f i n i t i o n 类6 2p r o c e s s d e f m i t i o n m a n 类6 3e n g i n e m a n 类6 3p r o c e s s 类6 4d e p l o y 和d e p l o y m a n 类6 5自反模块响应消息顺序图6 8自反模块响应过程自反声明调用顺序图6 9o10o123451123456789111244567891123456789111111二孓孓孓孓孓孓孓孓孓孓孓孓孓孓孓孓孓孓孓孓孓、占昏昏昏昏岳昏昏昏昏昏亩昏昏岳图图图图图图图图图图图图图图图图图图图图图图图图图图图图图图图图图图图图图国防科学技术大学研究生院学位论文表目录表3 - 1i n t e l l i f l o w 工作流异常结构2 5表3 2i n t e l l i f l o w 工作流异常处理声明2 6表5 - 1自反规则记录数据结构3 9表5 - 2自反操作的异常处理声明示例5 6表6 - 1节点数据库表属性一6 6表6 2自反声明数据库表属性6 6表6 3保存点数据库表属性6 6表6 4过程变量数据库表属性6 6独创性声明本人声明所呈交的学位论文是我本人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表和撰写过的研究成果,也不包含为获得国防科学技术大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。学位论文题目:= 盘塞挂宜丛挂:哇啦直性丝三韭述圣红学位论文作者签名:黝垒雪日期纠j 年2 仞日学位论文版权使用授权书本人完全了解国防科学技术大学有关保留、使用学位论文的规定。本人授权国防科学技术大学可以保留并向国家有关部门或机构送交论文的复印件和电子文档,允许论文被查阅和借阅;可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。( 保密学位论文在解密后适用本授权书。)学位论文题目:= 盘玄拄自屋挂:眭曲直性8 b 三挂速蠢统:学位论文作者签名作者指导教师签名日期:力疗年2 - 5 q 2 3 日日期:三瞄年3 月2 日国防科学技术大学研究生院学位论文第一章绪论1 1 研究背景在没有引入工作流技术的企业应用中,用于完成各种业务流程的信息系统虽然为各类业务操作提供了丰富的处理功能,但对整个流程缺乏有效的控制和管理。同时,这些信息系统中,业务流程大多被固化在系统的底层实现里,以程序代码、构件组合等形式存在,而这些代码和组合一般是难以修改的。但是在实际应用中,企业需要业务过程具有灵活变化的能力,这些系统中的业务流程应该能够按照企业实际运行的要求被修改。工作流就是为解决这样的问题而提出的。工作流针对的是日常工作中具有相对固定程序的活动。工作流技术,就是通过将一项具体的工作分解成多个任务和执行这些任务的过程参与者,并按一定的规则和约束,组织这些任务的执行,以达到高效、灵活地组织业务过程的目的。在企业应用实际中,虽然工作流的概念相对于物料流、资金流、信息流等概念要抽象一些,但是工作流从更高的层次上提供了实现物料流、资金流、信息流及其涉及的企业应用的集成机制,从而实现业务流程的集中统一管理。工作流思想的实质是将业务流程以一定形式描述并固定下来,由软件根据这种描述推进流程自动的运行。在一个工作流系统中,定义个业务流程的方法,是制定业务流程的计算机化的表示过程定义。在过程定义中。无论是具体的物料转移操作、实际物理装置的操作动作、还是抽象的信息处理动作与决策过程,都可以用工作流的基本组成元素活动来统一地进行描述。不同活动之间的关系,用工作流的另一基本组成元素连接边来进行描述。通过用连接边表示活动之间的转移,确定了这些活动如何按特定的顺序完成一个业务流程【1j 。工作流思想的实质就是将业务流程以一定形式描述并固定下来,由软件根据这种描述推进流程自动的运行。工作流技术中,业务的流程逻辑与完成具体活动的业务处理逻辑相对分离。通过过程定义逻辑来组织业务操作,实现对生产经营过程的集成管理。在实际工作流系统中,通过更改过程定义逻辑与业务操作逻辑,实现灵活的企业业务过程重组,把人、信息和应用工具合理地组织,发挥系统的最大效能。传统的工作流技术中,过程定义在开始执行之前制定完成,由系统在执行中读取并按定义内容完成操作。在2 0 世纪8 0 年代中期发展起来的工作流技术为企业更好地实现业务目标提供了先进的手段。随着当前企业信息化趋势的不断加强,工作流技术越来越广泛的应用在生产、经营、政务等各个领域。第1 页国防科学技术大学研究生院学位论文1 2 问题提出随着应用领域和目的的不同,对工作流系统的要求也不同。针对高性能、高可靠性应用的工作流系统应具有以下特点:完整性。一个业务流程中所涉及的业务数据必须保证高度的完整性和一致性,对流程进行中断、取消等操作可能带来严重后果。稳定性。平台要支持长时间的稳定运行,确保重要的应用不中断。灵活性。业务种类复杂,规模大小不一,业务流程投入实际运行时,流程的执行过程存在许多不确定的情况。自主性。工作流系统应保持高度的自动性,对人工干预的依赖低。在工作流系统的长期运行中,业务过程运行环境,甚至过程执行目标都可能发生变化。与过程制定时的预期不符,从而导致过程无法完成执行。如果没有人工干预,系统将不能正常运行。因此,工作流需要具备动态适应能力。这种能够根据实际情况调整工作流系统中业务流程定义的内容,保证系统正常运行的特性,称为工作流的动态特性( w o r k f l o wd y n a m i c ) 。【3 】同时。工作流业务流程运行中出现问题时,如果完全依靠人工干预来对过程定义调整以后继续运行,则对管理者要求过高,要了解系统运行的全面情况和流程的具体业务特征,这样的要求很难满足。因此,需要业务过程本身具有定的自适应能力,在出现各种影响过程正常执行的情况时,可以通过自动地灵活改变自身行为来适应环境变化完成过程的执行。自反性是工作流动态性中的重要方面,主要指一个过程定义执行中具有修改自身的能力,能根据实际应用需求和系统运行环境,自动地或是在人工的辅助下改变自身定义内容,完成业务流程执行。本文的主要内容是提出一种高性能、高可靠性的工作流系统设计,并在基本的工作流系统上设计并实现了一种实现工作流系统自反特性的模型,提高工作流的动态适应能力,使工作流系统能应用于复杂多变的环境条件。1 3 相关研究对于工作流的动态性研究,还没有形成比较完整成熟的理论体系。以下工作代表了国内外近期的一些理论和实现方面的相关成果:k a m m e r 在文献【3 中,给出工作流动态特性的定义,归纳出工作流动态特性比较典型的几种表现形式:动态地编制和修改过程定义的能力,系统能够在过程定义的一次执行中,根据执行实际情况修改过程定义内容;一个过程定义在没有制定完成的情况下,投入运行,并在执行过稗中根据需要完成过程定义内容并执行;自反特性,即过程执行中修改自身过第2 页国防科学技术大学研究生院学位论文程定义的能力;对过程定义选取有典型意义的片段保存,并供其他的过程定义引用的能力。g r e g o r y a l a n b o l c e r 年l r i c h a r d n t a y l o r 在文献f 4 】中,也分析了工作流动态特性应包括的内容,其结论与k a m m e r 基本一致,并重点强调了动态工作流系统中结构和数据的完整性。d a n i e ld c o r l l 在文献【5 中对工作流的动态特性的问题产生和解决进行了比较深入的论述,讨论了实现工作流动态特性需要注意的问题。以上文章讨论了产生工作流动态特性需求的原因,指出过程执行中系统和环境发生的各种变化对工作流的执行产生影响,处于运行状态中的工作流应该能够适应这种变化,保证业务流程的完成。同时,分析了工作流动态特性具体所包含的内容,给出工作流系统动态特性的典型表现形式。c h i ud k w 和l io ,k a r l a p a l e mk 采用异常处理的方法,利用e c a ( e v e n t c o n d i t i o n 。a c t i o n )规则,针对出现异常的不同情况采用不同的处理策略实现工作流动态特性【6 j 。这是为处理异常而引入的动态特性支持,其应用范围有限。h a a k ej m 和w a n gw g 提出采用集成外部工具的方法,通过将外部的群件系统集成到工作流执行中,以增加工作流系统的灵活性、开放性和与外部交互的能力【7 j 。这种实现需要增加外部系统的支持,系统结构复杂。c a s a t if c e r is 、p e m i c ib 和p o z z ig 等通过提供用户原语或命令操作,使人们可以方便地干预工作流的执行f 8 】o 工作流系统通过翻译执行原语完成动态修改操作,并应用一定的算法保证修改后的过程定义与原来的工作流执行结果保持连贯。原语由用户通过人机交互发出执行指令,其自反特性的实现建立在用户运行时干预的基础上。e d m o n dd 在文献【9 也提出了通过r e f l e c t i o n 方法,采用工作流执行过程中人机不断交互来完成一个具有动态执行特性的工作流程,也是以人工全程参与为基础的。m a n f r e dr e i c h e r t ,p e t e rd a d a m 在文献【1 0 中,对工作流的动态特性,从理论上分析了动态修改操作和实现的一般步骤。清华大学孙瑞志、史美林在文献【1 1 】中,提出在工作流过程定义建立时引进空定义节点,配合运行时支持实现动态自适应性,并给出了实现动态修改工作流过程定义的原理性框架。范玉顺、吴澄在文献 3 2 中,提出基于协调理论和反馈机制的建模方法实现工作流适应性,该方法从模型角度探讨了提高工作流动态特性的方法。没有给出具体的实现机制和算法,并且同样不能脱离人工的干预。以上的工作对工作流系统的动态性实现的研究,大多建立在引进人工干预的基础上,依靠用户行为来改变工作流系统业务流程的内容,对人的依赖性较大,不能达到工作流技术自动管理业务流程的目的。而对于在系统中自动地实现过程定义的自反特性,使工作流系统具备自主改变业务流程适应运行变化的能力,以上研究仅在自反特性的需求中提出一娑的讨论,但缺乏实现的模型。第3 页国防科学技术人学研究生院学位论文1 4 主要工作论文主要工作,一是在高性能、高可靠性的工作流平台i n t e l l i f l o w t 作流系统中,进行了基本引擎结构以及消息模块的设计,并参与了系统中其他功能模块如事务、异常处理等的设计工作。系统采用轻量级引擎,即工作流引擎仅完成基本的调度与运行状态维护工作。工作流系统采用开放式的业务组件模块支持机制,便于在平台基础上开发应用。基于关系数据库的工作流数据保存方式提供稳定的数据存储,同时也对大量业务流程并发执行提供了支持。系统在j 2 e e 框架上构建,实现了工作流引擎、消息处理、工作流事务支持、图形建模、系统监控等模块。二是在i n t e l l i f l o w i 作流平台基础上,重点对工作流自反特性进行研究,针对上节提到的当前相关工作存在的不足,设计了一种自动根据环境变化完成自反操作的模型。在该模型中主要通过监测运行中系统的变化,根据操作规则完成判断,并修改过程定义。这种根据运行情况自动调整过程定义的内容的能力,提高了系统对运行情况变化的动态适应特性。另外,在实现自反特性的基础上,改进工作流系统的异常处理模块,实现了部分异常处理的自动完成。1 5 论文结构本文共包括七章。第一章:绪论。第二章:介绍工作流技术相关概念及工作流实现的w f m c 参考模型。第三章:介绍基本工作流系统i n t e l l i f l o w 的结构和组成工作流模型的各模块的设计。第四章:讨论工作流自反特性与工作流动态特性的关系及其在工作流技术中的地位、意义,通过对工作流动态特性要求、动态特性具体包括的内容进行研究,对工作流系统中实现自反特性的要求和包括的功能模块给出总结。第五章:以i n t e l l i f l o w 工作流平台为背景,给出基于e c a 规则的自反模块设计,实现对环境变化的主动发现和被动响应的自反触发机制,并对e c a 自反规则库中存在的事件循环触发和规则自反操作之间存在行为冲突两个基本问题分别给出判别算法。同时,在工作流过程定义元模型基础上,给出自反修改原语设计,在自反操作中自动将这些原语组成的动作序列转化成过程定义对象的修改操作,完成对过程定义的动态修改、修改提交和恢复运行等工作,得到一个完整的工作流自反操作模型。第六章:针对以上工作流自反操作模型给出详细的设计和实现。第七章:总结与将来工作展挚。第4 页国防科学技术大学研究生院学位论文第二章工作流及工作流参考模型2 1 工作流技术综述对工作流,很多组织和个人给出了自己的定义,其内容和含义基本相近。其中,工作流管理联盟( w f m c ) 作为传统工作流技术的代表,对工作流的定义是:一类能够完全或部分自动执行的业务过程,它根据一系列过程规则,使文档、信息或任务在一系列参与者之间传递并执行,从而完成业务目标。工作流管理系统是这样的一个系统,它详细定义、管理工作流程,并通过运行一些软件来执行这些工作流程。这些软件的执行顺序( 也即工作流程的内部执行顺序) 由工作流逻辑的计算机表示形式( 过程定义) 驱动【1 ”。工作流技术发展很快,根据其底层实现技术的不同,除了早期的基于文档的工作流以外,其体系结构有两个主要的发展方向。一是w f m c 和o m g 为代表的,以x p d l ( x m lp r o c e s sd e f i n i t i o nl a n g u a g e ) 过程定义语言为基础实现工作流系统,这是一种面向过程思想的体系结构【l 】。二是m i c r o s o f t ,b e a ,i b m ,o r a c l e 支持的以b p e l 过程定义语言为核心思想的方向。b p e l 建立在w e bs e r v i c e s 基础上,通过将多个w c bs e r v i c e s 集成完成业务流程,w e bs e r v i c e s 之间利用发送消息的方式通讯,是一种基于面向服务思想的工作流技术。 1 3 1 1 2 7 1 3 3 两者中,x p d l 将业务流程直接映射为形式化过程定义,由工作流系统根据这种形式描述来调度系统的各组成部分,按过程顺序推进业务执行。这种以过程化的形式描述表示业务流程的方法简单直观,容易实现。x p d l 经过十多年的发展,技术相对成熟,在许多实用工作流系统中得到体现。而b p e l 建立在w e bs e r v i c e s 技术基础之上,w e bs e r v i c e s本身也处于不断发展中。因此,出于构造一个高可靠性的稳定、安全的工作流系统的目的,以x p d l 为基础。根据自身需要进行扩展而得到自己的工作流模型,是许多工作流系统设计的出发点。2 2 工作流参考模型w f m c 给出一个基于x p d l 实现工作流系统的参考模型,模型主要分以下几部分:工作流过程定义、工作流执行服务器、客户端功能、应用组件调用功能、工作流协同、系统管理等。这几部分之间密切协同,完成整个工作流系统功能。w f m c 工作流参考模型结构如下:第5 页国】泞科学技术大学研究生坑学位论文普通用户图2 - 1 工作流参考模型体系结构过程定义和过程定义工具。过程定义是一个计算机化表示的业务流程描述。一个过程定义包含工作流执行软件运行一个业务过程所需的过程详细信息,包括过程的开始和结束条件、组成活动、在活动问进行导航的柳则、需执行的用户任务、可能会被调用的应用程序、所有工作流相关数据的定义等。在工作流系统中,一个过程定义可以存在多种具体表现形式,各种形式之问可以互相转化。过程定义实例:在工作流系统中,一个过程定义的一次运行所执行的业务流程,就是过程定义实例。过程参与者:过程定义中包括需要人工完成的任务,在实际执行中完成这个任务的人,称为过程实例的过程参与者。工作流过程定义工具是用以定制过程定义的客户端工具,作为工作流产品的一部分或业务过程分析产品的一部分提供给用户。工作流相关数据和应用数据。在工作流过程执行中产生,用来完成工作流过程执第6 页因防科学技术大学研究生院学位论文行中,执行路径导航判断或其他控制操作的数据,称为工作流相关数据。这部分数据可以被工作流执行服务器( 见本页定义) 直接访问。工作流应用数据则是指工作流系统调用完成具体业务功能的软件组件所操作的数据。它们是针对业务应用的,是企业完成具体业务功能需要的数据。尽管工作流执行服务器可能在这些软件组件问传递应用数据,但工作流应用数据直接由被调用的业务组件操作,工作流执 7 7 n 务器不应该对这部分数据进行修改。工作流执行服务器与工作流引擎。工作流执行服务器负责解释过程定义、控制过程实例、安排活动的执行顺序、向用户的任务表中添加工作项目、调用应用程序。这些职责需要一个或者多个协同工作的工作流引擎和其他模块共同完成。工作流引擎是是工作流执行服务器的核心部分,为工作流实例执行提供运行服务,主要完成以下功能:读取并解释过程定义。 控制过程实例的创建、激活、挂起、终止等。控制节点实例间的导航,包括工作流相关数据的解释、路径判断等。 提供支持用户操作的接口。 维护工作流控制数据和工作流相关数据。调用业务组件和提供外部访问的接口。提供控制、管理和监督工作流实例执行情况的功能。工作流引擎维护工作流控制数据,工作流控制数据包括各过程实例的内部状态信息,也包括工作流引擎的状态信息。如果过程定义涉及组织模型、角色等企业实体信息,那么为了完成以上任务,工作流引擎还需要访问组织与角色模型数据。任务表和任务表处理器。任务表记录系统分配给用户的任务。工作流执行服务器把用户需要执行的任务添加到任务表中,用户通过访问任务表得到要执行的任务。任务表处理器是一个软件组件,负责管理任务表数据,并在任务表的数据改变时进行相应的操作,包括响应工作流执行服务器的要求修改用户任务数据、向用户发送任务表改变通知,提供用户访问任务表支持等。工作流系统与企业的应用组件发生交互,需要实现与应用之间的接口。工作流引擎按照过程定义调用这些接口完成特定的任务,应用通过这些接口获得访问工作流执行服务的能力。以上模块构成了工作流模型的基本内容。这些模块通过以下方式协同完成工作流系统的功能:用户使用过程定义工具制定过程定义来描述业务流程,并在过程定义库中保存。当执行服务器接到执行某过程定义的申请时,读取并解释过程定义,启动一个过程定义实例来完成该过程定义的执行。在过程实例执行过程中,工作流引擎产生和维护工作流相关数据千控制数据,支持工作流应用数据的传送,调用相关软件组什执行过程定义中的各种第7 页国防科学技术大学研究生院学位论文业务操作,并通过任务表处理器处理与用户的人工交互。工作流管理系统是工作流模型的实现,具体完成工作流业务过程的定义和管理,按照在计算机中预先定义好的流程逻辑推进工作流实例的执行。传统工作流中,工作流管理系统的工作过程分两个阶段:过程定义建立期和过程定义运行期。在整个工作过程中,主要提供以下三个方面的支持。建立时期功能:负责根据业务流程产生工作流过程定义。用户通过使用过程定义工具,把实际的业务过程转变成形式的、计算机可以处理的定义。运行时期控制功能:工作流执行服务器读取和解释过程定义内容,负责一个过程实例的创建与删除,安排过程中各个活动的执行时间,调用适当的软件组件和其他资源,最终完成一个具体的用户业务过程。运行时期交互功能:处理系统与用户的交互,管理各种需要用户参与的人工活动的执行。w f m c 工作流参考模型仅给出系统模型框架,并未具体规定过程定义的形式和工作流引擎的运行方式。在现有的工作流系统中,过程定义表示的方法比较典型的有基于p e t r i n e t的过程定义,基于流程图的过程定义和基于e c a 规则的过程定义【l 。以w f m c 工作流参考模型为基础实现的传统工作流系统中,过程只能在建立时期制定和修改,运行期不会发生变化,过程定义固定而缺乏柔性。过程实例在执行过程中灵活应变的能力不足,一旦过程运行环境发生变化,出现与定义中的内容不匹配的情况,往往因为过程定义无法适应变化而使执行不能继续。另一方面,一个过程实例的执行可能需要耗费大量的资源和时间。如果过程无法执行下去时,简单的将过程实例取消,然后修改过程定义重新运行,将导致资源和时间的极大浪费。而且在某些情况下,这种取消是不允许的。赋予工作流模型一定的动态特性,使其能适应过程运行目的、环境和上下文的改变,执行不同的操作内容,最终完成业务流程,将大大提高工作流系统对实际情况的适应能力。工作流的动态特性,是工作流技术研究的一个重要方向。第8 页国防科学技术大学研究生院学位论文第三章基本工作流管理系统设计与实现3 1 引言i n t e l l i f l o w 工作流系统是国家“8 6 3 ”项目“面向金融领域的分布式工作流关键技术及应用框架”的研究成果,i n t e l l i f l o w 工作流系统模型基于x p d l 面向过程的基本思想,参照w f m c 工作流参考模型,并根据实际需求进行改进实现,达到了稳定、高效、灵活的目标。i n t e t l i f l o w 工作流系统是一个分布式工作流系统,基于数据库实现的轻量级的工作流引擎为系统的稳定性和可靠性提供保障。同时,系统对w f m c 参考模型进行了扩展,实现了完善的事务模型、灵活的系统消息通信机制以及强大的异常处理能力。系统提供了可视化建模工具,基于图形界面完成过程定义制定。此外,系统还提供了图形化监测与管理工具,动态监控系统和过程实例的运行。目前系统已开发完成,在多个在该平台上开发的应用系统投入运行,实际使用效果很好。3 2i n t e l l i f l o w 工作流平台基本体系结构i n t e l l i f l o w 工作流平台基本体系结构根据w f m c 参考模型实现。平台的主要组成部分包括: 工作流执行服务器。图形化建模工具。监控与管理工具。 资源、组织与角色管理系统。企业应用与人工交互框架。i n t e l l i f l o w 工作流模型是一种建立在关系数据库基础上的面向过程的工作流模型。这主要体现在,工作流系统运行中所有数据都在关系数据库中保存,包括过程定义内容,过程实例的相关数据、控制数据等。过程实例本身也对应为过程实例数据库表中一条表示过程实例当前状态的记录。工作流引擎推进一个过程执行,就是按照数据库中的过程定义内容依次执行动作,并更新过程实例的运行状态数据记录。另外,i n t e l l i f l o w 在利用关系数据库保存运行信息的基础上,借鉴基于消息的工作流思想,利用j m s 消息机制实现了工作流系统消息处理功能,提供了主动通知的信息交换模式,系统的通信方式灵活。第9 页国防科学技术大学研究生院学位论文图3 1i n t e l l i f i o w 工作流平台体系结构一个工作流系统的核心部分是过程定义模块和工作流引擎。在i n t e l l i f l o w 工作流平台中,工作流过程定义模块包括图形化过程定义工具、过程定义保存库和过程定义部署库,负责过程定义的建立、保存和维护。工作流引擎的基本功能参照w f m c 参考模型实现并扩展,i n t e l l i f l o w 工作流执行服务器的实现基于j 2 e e 技术,工作流引擎实现为e j b ,向其他模块提供访问接口,为用户的业务组件和监控管理工具提供服务,同时通过j m s 技术发送系统消息以向其它模块发送事件通知。资源、组织角色管理模块负责企业的组织模型保存,进行企业资源统一管理,对工作流系统运行提供支持。监控与管理工具为系统管理者提供控制和维护系统运行的能力。工作流系统实现的重要原则是过程定义逻辑与具体业务操作逻辑的分离,根据实际需要组织企业业务流程,这是工作流技术的根本出发点。因此,i n t e l l i f l o w 工作流平台中,完成具体业务的应用组件,由在平台上进行二次开发的用户根据平台提供的接口框架进行开发,并挂接到部署的系统。完成具体业务操作的业务组件按统一定义的工作流执行服务与应用之间的接口标准实现为j a v a 类发布到系统中,由引擎调用。客户端软件的开发属于应用的一部分。对于人工交互工作流平台同时支持b s 与c s模式的客户端。3 3 过程定义语言模型过程定义是对业务流程的描述,过程定义语言决定了系统对业务流程的描述能力,即第1 0 页国防科学技术大学研究生院学位论文工作流系统能实现什么样的业务流程。在i n t e l l i f l o w 工作流系统过程定义模型参照x p d l 实现,并扩展了事件、定时、事务处理等元素,提供了丰富的业务过程逻辑表示语义。为方便制定过程定义,系统提供了基于流程图的可视化图形建模工具,业务流程映射为流程图。过程定义的活动映射为节点,转移映射为边,在过程定义工具中以图形化元素表示,基于图形元素制定过程逻辑。图3 2 为一个信用证管理过程的定义流程图,在这个流程中,信用证被开立后,流程处于等待外部操作“事件”状态,有效期内用户可以进行“改证”、“撇证”和“结清”操作。“改证”动作需进行“改证复核”,可以重复多次。“撤证”操作的结果是同意撤证,则流程结束,否则流程继续处于等待部操作“事件”状态。而执行“结清”后,整个流程结束。信用证到期后,自动进行“结清”操作。这些操作分别通过连接边关联起来。x o r 台=事件xor分结涪结柬图3 2 图形化工作流过程定义过程定义工具还完成过程定义在流程图与x m l 文档形式之间的转换,并提供用户对过程定义部署,过程定义库维护的接口。在过程定义库中,过程定义以x m l 格式保存。以下是i n t e l l i f l o w 工作流系统过程定义语言的x m l s c h e m a 结构图:第1 1 页睁警丢搿占图3 - 3i n t e l l i f i o w 工作流过程定义数据结构一个过程定义有多种属性和元素,这里介绍其中比较重要的部分: h a n d l e :过程定义的全局唯一标识号,用以在过程定义库中检索。 i d :过程定义辅助标识,用以完成人工检索。n a m e :过程定义名。国防科学技术大学研究生院学位论文 m a i n v e r s i o n 和s u b v e r s i o n :过程定义的版本信息,用来表示执行同一个业务流程的不同版本过程定义。 n o d e s :过程定义中各种节点的集合。r o u t e s :表示节点间转移的边。s t a r t m o d e :过程定义允许的启动模式,包括手工启动、定时启动等。v a r i a b l e s :过程变量。其中,n o d e s 、r o u t e s 和v a r i a b l e s 是过程定义的业务逻辑表示的主要组成部分。这里对过程定义中的术语做定义如下:定义3 1节点:节点用来描述一个逻辑上独立,需要由一些相关资源,如人、硬件,或者计算机应用程序处理的活动。定义3 2边:表示节点执行间转移关系的有向边,该边的起点称为该边的源结点,该边的终点称为该边的目的结点。定义3 3过程变量:在一个工作流定义中,用来在不同位置的节点和连接边之间传递信息的数据项,称为过程变量。定义3 4元素:过程定义中的节点、边、过程变量称为这个过程定义中的元素。定义3 5前驱边:过程定义中指向一个节点的边,称为这个节点的前驱边。定义3 6后继边:过程定义中从一个节点出发的边,称为这个节点的后继边。定义3 7执行路径:在流程图形式的过程定义中,引擎所执行的任两个节点之间所有的节点和边按过程定义中的顺序组成的有序集合。定义3 8执行分支:过程定义一次执行中,并发执行的多条执行路径称为执行分支。在i n t e l l i f l o w 工作流模型中,节点主要分为八类: 开始节点:在i n t e l l i f l o w 模型中,开始节点表明了过程实例的执行入口,在开始节点执行时,工作流引擎负责根据工作流过程定义内容,建立过程实例运行的初始数据。并由开始节点得到下一个需要执行的节点索引号,根据索引号从过程实例中得到具体的节点添加到执行队列中。 结束节点:这是一个过程定义的最后一个节点。引擎执行到结束节点时,从数据库中清除过程实例的所有数据,完成过程实例执行。第1 3 页国防科学技术大学研究生院学位论文任务节点:这是过程定义中最主要的节点。任务节点根据是否涉及人工操作,分人工节点与自动节点。一个任务节点的内容包括节点属性和一系列的执行动作。节点属性描述节点本身特征,包括名称、唯一标识、节点类别。根据节点具体完成的任务,将节点执行内容按操作顺序分解成为多个“动作”( a c t i o n ) ,每一个动作代表一个具体执行内容。系统中定义的动作有三种:调用业务组件的c a l i b u s i n e s s a c t i o n 、分配人工任务的a s s i g n t a s k a c t i o n 和执行系统提供的自动操作的a c t i o n ,如发送消息的s e n d m e s s a g e a c t i o n 。自动节点中,定义这些动作的组合,以顺序执行方式完成该节点的任务。人工节点除了由这些a c t i o n 组成执行动作外,必须包含一个a s s i g n t a s k a c t i o n ,定义人工任务内容和任务分派策略,以在运行时生成该任务向选定的用户进行分派。分支节点:一个分支节点有两条以上的后续边,表示执行逻辑的分支。节点本身没有执行内容,引擎执行到该节点时,根据节点的后续边生成执行分支。系统支持在一个过程实例中并发的执行多个分支。聚合节点:聚合节点主要处理多个并行的过程分支汇聚的情况,多个分支执行到聚合节点,合并成一条执行路径。聚合节点分两种,分别是“与聚合”( a n d - j o i n )和“或聚合”( o r j o i n ) 。与聚合指过程实例执行在该节点处等待,直到所有前驱分支都被执行完毕后,过程才继续执行。或聚合指只要有一个执行分支执行到该聚合节点,聚合节点即满足执行条件,过程继续执行。聚合节点本身也没有实际执行内容,只是标志多条分支的合并,并转向下一节点执行。 事件节点:这个节点的功能是标志过程挂起,等待特定事件的到来并处理,具体在事件管理小节说明。 定时节点:过程执行到此进入挂起状态,等待规定的时间以后再继续执行。 子流程节点:启动另一个过程定义的实例。在整个过程定义模型中,有且只有一个开始节点,至少有一个结束节点,可以有多个结束节点。每种节点有各自定义格式,以下是一个任务节点定义的结构:第1 4 页国防科学技术大学研究生院学位论文:一0 t t s k u s e r x x t c o l u m 二而i n g sj。;s 品,0 冉囊a 8 愿$ c t o = , 罴o ,。l 彘-图3 - 4i n t e l l i f i o w 工作流过程定义任务节点节点中包括任务的名称、类型和参数、执行动作a c t i o n 等属性。其它属性还有: h a n d l e :任务节点唯一标识。 i d :任务人工检索标识。 t a s k u s e r e x t c 0 1 u m n m a p p i n g s :记录任务的人工操作类别,在过程定义制定时起辅助作用。在工作濂图中,边表示节点执行的转移。每条边都有三个基本属性:源节点、目的节点和附属于该边条件表达式。除分支节点和结束结点外,每个节点只能有一条后继边,分分支结点可以有多个后继边,结束节点没有后继边。除聚合节点和开始结点外,每个节点只有一个前驱边,聚合结点可以多个前驱边,开始节点没有前驱边。边的条件表达式代表通过该边转移可以发生的条件。边条件中可以引用的内容包括过程变量、系统状态信息、业务逻辑函数等。只有在分支节点之后的边才需要边条件。一个分支节点后可以接多个后继边,每个边代表的转移是否可以发生,取决于该边的边条件是否得到满足。以下是一个边定义的结构:第1 5 页国防科学技术人学研究生院学位论文:- j 2 x s 卫e f l n l t8囊:。曩嚣嘉曩黔:垦百艟省妓图3 5i n t e l l i f i o w 工作流过程定义路径对于一个过程定义来说,与业务流程执行有关的数据,主要包括工作流相关数据和工作流应用数据。过程定义的相关数据是工作流过程实例执行过程中由工作流引擎访问,用来完成过程导航、控制的数据。过程相关数据在过程定义中表现为过程变量,在过程定义中被显式的声明。过程变量定义结构如下:- - l 避l 图3 6i n t e l l i f i o w 工作流过程变量过程变量结构中主要包括变量名、变量类型、变量值等内容。

温馨提示

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

评论

0/150

提交评论