(电路与系统专业论文)基于J2EE的工作流引擎设计与实现[电路与系统专业优秀论文].pdf_第1页
(电路与系统专业论文)基于J2EE的工作流引擎设计与实现[电路与系统专业优秀论文].pdf_第2页
(电路与系统专业论文)基于J2EE的工作流引擎设计与实现[电路与系统专业优秀论文].pdf_第3页
(电路与系统专业论文)基于J2EE的工作流引擎设计与实现[电路与系统专业优秀论文].pdf_第4页
(电路与系统专业论文)基于J2EE的工作流引擎设计与实现[电路与系统专业优秀论文].pdf_第5页
已阅读5页,还剩73页未读 继续免费阅读

(电路与系统专业论文)基于J2EE的工作流引擎设计与实现[电路与系统专业优秀论文].pdf.pdf 免费下载

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

文档简介

摘要 从【- 个1 1 1 :纪9 0 年代以来,随着企业活动范围的不断扩大,企业 之间交往的吖i 断期1 深,j 一作流管理系统在企业中得到了广泛的应用, 帮助企业实现1 7 i 己的业务逻辑,规范企业的工作流程,极大地提高 j l :作效率。l + 作流技术研究以及相关的产品的开发也进入了快速 发展阶段,j k - 多技术被集成进来,文件管理系统、数据库、电子邮 f t :、i n t e r n e l 服务等郁l i 被容纳到工作流管理系统之中。工作流引擎 卜作流管理系统的核心部分。当前已经有不少商业化的和开源的工 作流筲;理系统,但大多存在扩展性差、与业务系统结合不灵活、没 有规范的接u 等缺点。基丁卜述问题,本文提出了基于j 2 e e 的工作 流引擎原型。 首先,介纠j 7 论文的研究背景,对国内外商业化及开源工作流引 擎进行j 7 分析和综述,闸述了论文的主要研究内容和总体结构。其 次,对一r 干1 :流相关概念,参考模型,工作流技术的现状和发展等方 嘶作r 深入研究,较为完整的叙述了与工作流相关的概念和理论知 识。第二,闸述j 工作流模型和工作流建模的方法。着重讲解x p d l 接 j 1 规范的内容。第四,运用了面向对象技术和面向对象的设计 模式,设计j 7 卜作流模型的实现,以及x p d l 解析器,通过解析器 的工作,把x p d i ,的内容读取到引擎中,并由引擎执行。第五,工 作流引擎采用基于w i m c 的规范,核心部分直接对w f m c 规范的引 擎接口部分进行了继承和扩展,所有核一1 5 接口都有一个j a v a 实现类 相对飚,在。史现类巾实现了方法和属性、并作了一些扩展。实现了 1 :作流引擎的基本功能如工作流过程的创建、挂起、继续等管理控 制功能和 一作流活动的顺序、发散、汇聚、同步等工作流活动模式。 最后,文啦研究j ,实现工作流引擎与业务系统集成的方法。 关键词:1 流引擎,f :作流管理联盟规范,x m l 过程建模语言, 设训1 巧实现 a b s t r a c t a st h es c o p eo fb u s i n e s se x p a n d i n g ,r e l a t i o n sb e t w e e nc o r p o r a t i o n s d e e p e n i n g ,t h ew o r k f l o wm a n a g e m e n ts y s t e m ( w f m s ) h a sb e e na p p l i e d a b r o a di n c o ! p o r a t i o n s f r o ml9 9 0 s i tb e l p st h ec o r p o r a t i o nr e a l i z ei t s o v r lb u s i n e s s l o g i c ,n o r m a l i z e i t s w o r k i n gp r o c e s s a n dr a i s et h e w o r k i n ge f f i c i e n c yg r e a t l y r e s e a r c h e s o nw o r k f l o wt e c h n o l o g ya n d p r o d u c t sd e v e l o p m e n to f i th a v eb e e nd e v e l o p e dr a p i d l ya sw e l l m a n y t e c h n i q u e s h a v eb e e n i n t e g r a t e d i nw f m ss u c ha sd o c u m e n t m a n a g e m e n ts y s t e m ,d a t a b a s e ,e m a i l a n di n t e r n e ts e r v i c ee t c t h e w o r k t l o we n g i n ei st h ec o r eo faw f m s t h e r ea r em a n yc o m m e r c i a l a n d o p e n s o u r c ew f m sf o r t o d a y ,w h i l e m o s to ft h e m g e t s a m e d i s a d v a n t a g e s s u c ha sl o w e x p a n s i b i l i t y ,u n f l e x i b l y c o m b i n e dw i t h b u s i n e s ss y s t e ma n da t a c t i ci n t e r f a c e se t c t os o l v et h e s e sp r o b l e m s ,a p l o t o t y p co f w o r k f l o we n g i n eb a s e d0 1 1j 2 e ei sp r e s e n t e di nt h i sp a p e r i nt h e p a p er ,f i r s t ,b a c k g r o u n d o ft h er e s e a r c hi si n t r o d u c e d ,t h e a c t u a l i t yo fo p e ns o u r c ea n dc o m m e r c i a lw o r k f o l we n g i n ei nt h ew o r l di s a n a l y z e d a n ds u m m a r i z e d t h ec o n t e n to ft h e p a p e r a sw e l la st h e s t r u c t u r ea r ee x p a t i a t e d s e c o n d ,t h ec o n c e p t i o n sa n dr e f e r e n c em o d e lo f w o r k f l o w ,t h ep r e s e n t c o n d i t i o na n d d e v e l o p m e n t o ft h ew o r k f l o w t e c h n i q u ea r e r e s e a r c h e dd e e p l y c o r r e l a t i v ec o n c e p t i o n sa n dt h e o r e t i c s o fw o r k f l o wa r en a r r a t e d t h i r d ,m o d e la n dm e t h o do fm o d e l i n go f w o r k f l o wa r ed i s c u s s e d e m p h a s e si nc r i t e r i o no fi n t e r f a c e 1o fx p d l f o u r t h ,t h er e a l i z a t io do fw o r k f lo wm o d e la n dx p d l p a r s e ra r ed e s i g n e d u s i n go o a & o o d i n f o r m a t i o n s i nx p d la r er e a di n t ot h e e n g i n ef o r r u n n i n gb yt h ep a r s e i f if t h ,t h ec r i t e r i o no f w f m ci sa d o p t e d ,i m p o r t a n t p a r t s a r ei n h e r i t e da n de x p a n d e df r o mi n t e r f a c e so ft h ee n g i n e b a s e e d o nw f m cd i r e c t l y e v e r y k e r n e li n t e r f a c ei s c o r r e s p o n d e d t oaj a v a r e a l i z a t i o nc l a s s m e t h o d sa n dp r o p e r t i e sa r ed e s i g n e di nt h er e a l i z a t i o n c l a s s e sa n da r e e x p a n d e d a sw e l l t h er e a l i z a t i o n c l a s s e sr e a l i z et h e m e t h o d s p r e s c r i b e d b yw f m c ,e s p e c i a l l y t h e m a n a g e m e n t c o n t r o l i i f u n c t i o n ss u c h a s c r e a t i n g ,s u s p e n d i n g ,c o n t i n u i n g i nt h ew o r k f l o w p r o c e s s a n dt h e a c t i v i t yp a t t e r n s s u c ha s s e q u e n c e ,s p l i t ,j o i n a n d s v n c h r o n i z a t i o ni nw o r k f l o wa c t i v i t i e s ,t h a tm e a n st h eb a s i cf u n c t i o no f t h ew o r k f l o wi sr e a s z e d 。a tl a s t ,t h em e t h o dt oi n t e g r a t et h e w o r k f l o w a n dt h eb u s i n e s ss y s t e mi sd i s c u s s e d k e y w o r d s :w o r k f l o we n g i n e w f m c 。x p d l ,d e s i g n & r e a l i z a t i o n i i i 1 1 课题背景 第一章绪论 1 1 1 工作流技术的来源和发展 工作流的概念起源于生产组织和办公自动化领域,提出的目的 是通过将1 二作分解成定义良好的任务、角色,按照一定的规则和过 程来执行这些任务并对它们进行监控,达到提高工作效率、降低生 产成本、提高企业生产经营管理水平和企业竞争力的目标。在计算 机网络技术和分布式数据库技术迅速发展,多机协同工作技术日益 成熟的基础上,于2 0 世纪8 0 年代中期发展起来的工作流技术为仓 业更好地实现这些经营目标提供了先进的手段。工作流技术一出现 马i :就得到广泛的重视和研究。至今工作流管理技术已成功地运用 到图书馆、医院、保险公司、银行等行业,然而它更重要的应用还 是在工业领域,特别是制造业领域。 1 9 9 3 年,工作流管理联盟( w o r k f l o wm a n a g e m e n tc o a l i t i o n , w f m c ) 的成立标志着工作流技术进入了相对成熟相对规范的阶段。 为了实现不同工作流之间的相互操作,w f m c 在工作流相关术语j 、 结构体系2 1 、应用程序接口 3 1 、管理拧制接e l f 4 1 、过程语言描述1 5 等 方面制定了一系列标准和规范。这些工作在很大程度上促进了工作 流技术的发展和工作流管理系统在企业中的应用。 目前,在全球范围内,对工作流的技术研究以及相关的产品开 发进入了更为繁荣的阶段,更多更新的技术被集成进来,文件管理 系统、数据库、电子邮件、i n t e r n e t 服务等都已被容纳到工作流管理 系统之中。工作流产品的市场每年以两位数字的速度迅猛增长。市 场上工作流产品发展迅速,据统计,1 9 9 7 年工作流产品的增长率超 过3 5 。作为支持企业经营过程重组( b u s i n e s s p r o c e s s r e e n g i n e e r i n g ,b p r ) 、经营过程自动化( b u s i n e s sp r o c e s sa u t o m a t i o n , b p a ) 的一种手段,工作流技术的研究应用目益受到学术界与企业界 的重视。 1 1 2 工 乍流系统的传统分类 从技术角度来说,工作流管理系统综合了计算机科学和管理科 学多个领域的原理、方法和技术,集成这些领域不同的概念带来许 多挑战。像扩展性、可用性、可管理性、灵活行和安全性等企业应 用特征,对工作流管理系统提出了更高的设计要求。 1 根据不问应用场合分类1 6 1 ( 1 ) 生产式工作流( p r o d u c t i o nw o r k f l o w ) :工作流产品的主要目的 就是管理大量相似的任务,优化生产效率。在生产式工作流中采用尽 可能多的自动化和线性化处理任务,对于异常的处理由人: 干预完 成。 ( 2 ) 管理式工作流( a d m i n i s t r a t i v ew o r k f l o w ) :特点是容易定义流 程。流程定义通常用表单形式创建。 ( 3 ) 协同式工作流( c o l l a b o r a t i v ew o r k f l o w ) :主要面向具有共同目 标的团队工作,有效的使用协同工作流支持团队工作被认为是各种企 业成功的关键。 ( 4 ) 专门式工作流( a d h o c w o r k f l o w ) :a d h o e 工作流系统中, 用户能够快速容易地创建和修改流程定义,以适应应用环境。 2 根据底层实现技术分类【6 j ( 1 ) 以通讯为中心:以电子邮件为底层的通讯机制,通过邮件来完 成工作流执行中的消息传递,数据分发与事件通知。 ( 2 1 以文档为中心:以共享文件的方式来完成任务,同外界应用交 互能力有限,主要应用于电子文档在相关人员之间的传递,以便不同 的人进行处理和审阅。 ( 3 ) 以过程为中心:应用于生产型工作流,一般建立在数据库之上, 用自己专用通讯机制并提供同外部交互的接口。工作流过程由一系 列任务节点组成,各个节点按照各自的规则把数据发送到其他节点, 而数据的值作为活动推进的控制条件。 3 根据工作流系统采用的任务项传递机制不同分类 ( 1 ) 基于消息的工作流系统【4 门:以前主要利用电子邮件来传递文档 消息,现在开始出现了利用消息中问件作为任务消息的可靠传递。 ( 2 ) 基于群件开发的工作流系统:代表性的产品有i b m 的l o t u s n o t e s ,n o v e l l 的g r o u p w i s e 。 ( 3 ) 基于w e b 的工作流系统1 8 j :通过w e b 服务器来完成任务的协 同处理。许多开源和商业工作流是基于t o m c a tw e b 服务器和j b o s s 、 w e b l o g i c 、w e b s p e r e 等应用服务器的,是目前工作流管理系统领域中 发展最为迅猛的一个方向。 ( 4 ) 基于c o r b a 的工作流系统p j :可分布式工作流系统的另外一 种实现,已经有了基于c o r b a 的工作流管理的实现。 1 1 3 工作流研究现状 从 :个世纪9 0 年代,特别是成立了工作流管理联盟以来,工作 流技术越来越受到人们的关注,其产品也得到了广泛的应用。国外 许多研究机构,大学及开发商提出了不同解决方案,较著名的有i b m a l m a d e n的基于持久消息队列的分布式工作流系统 e x o t i c a f m q m i l “1 i i ;佐治亚大学设计的具有自适应能力的工作流系 统m e t e o r i6 、1 1 】;基于分布式主动数据库技术的w i d e t 】等。业界已 有的商业工作流系统有i b m 的m q s e r i e sw o r k f l o w ,a c t i o n 公司的 w e t r o ,f i l e n e t 公司的v i s u a l 、o r k f l o 等,工作流产品市场在国外已 经成为1 t 应用市场中最活跃的部分之一。 虽然国内信息化建设进程相对滞后,管理水平还没有达到国外 当前水平,整个工作流产品还处于起步阶段,但已经有了不少基于 工作流的项目在成功实施,国内一些先进的软件平台企业也推出了 具有自己特色的工作流产品。可以预见,随着国内信息产业的发展 和企业技术的进步,国内工作流应用系统的市场前景将是光明的。 1 1 4 选题意义 作为计算机支持的协同t 作( c s c w ) 研究的一个重要方向,工作 流管理系统的主要t :1 标是通过调用有关的信息资源与人力资源来协 调业务过程中的各个环节,使之按照一定的顺序依次进行,从而实 现业务过程的自动化。它从全局的角度来管理完成企业的业务日标, 从而可以较高地提高企业的运行效率,及时发现和解决业务流程执 行过程巾出现的问题,有关的决策者更可以及时、迅速地了解任务 的执行过程和进度。 目前大多数工作流系统都存在一些不足,如工作流产品之间缺 乏统一的标准;技术本身不很成熟;工作流管理系统实现比较复杂; 不同系统之间的无缝互操作还不完善等。而工作流产品则有的可控 制性不强,如基于邮件的工作流产品;有的又过于庞大,象基于 c o r b a 的工作流产品,并且国内很少有采用c o r b a 的计算机环境, 实践性、可应用性不强。目前基于j 2 e e 的技术有着强大的商业计算 能力,又被大多数公司所接受。基于此,b e a w e b l o g i c 推出了自己 基于j 2 e e 的专有工作流产品,但与w f m c 不兼容,因此在国内应用 的案例还不多见。 基于上述考虑,本课题主要进行以卜研究: ( 1 )研究w f m c 工作流引擎的结构特点与实现技术,包括工作 流过程建模方法的探讨等。 ( 2 ) 研究基于j 2 e e 的开发体系,实现引擎功能在j 2 e e 的实现。 ( 3 ) 研究工作流引擎如何支撑w e b 业务逻辑,做到引擎的通用性。 本文的研究工作将为基于j 2 e e 的工作流管理系统在企业中的应 用研究提供一条新的思路。 1 2 课题研究内容及本文结构安排 本项目重点针对工作流引擎的实现进行研究。该工作流引擎将 遵循w f m c 规范并作适当扩展;利用j 2 e e 技术分布式计算能力,把 工作流引擎设计成一个跨平台、可分布式的引擎。采用工作流控制 逻辑和上层w e b 业务处理逻辑分离的设计方式,做到与多个w e b 应 用进行较好的结合。 第一章绪论。介绍论文研究的背景,并对国内外、商业、开源 的工作流引擎进行分析和综述。 第二章工作流标准和现状。研究与分析工作流相关概念,参考 模型,工作流技术的现状和发展等,叙述工作流技术的基本原理。 第三章工作流模型及工作流建模。分析x p d l 接口1 规范,遵 照工作流管理联盟提出的x p d l ( 基于x m l 过程描述语言) ,使用 d o m 4 j 对x m l 数据进行解析,实现引擎对工作流过程模型的读取 功能。 第四章工作流引擎设计与实现。设计遵循w f m c 规范的工作流 引擎,使之实现基本过程类、活动类、资源类、过程管理者类等引擎 基础实现类以及顺序、分支、汇聚等基本工作流模式。 第五章工作流管理系统与业务系统的结合。主要研究如何实现 t 作流引擎与业务系统集成的方法。 结语总结全文及对今后工作的展单。 2 1 工作流概述 2 1 1 工作流定义 第二章工作流标准和现状 根据w f m c 的定义,工作流( w o r k f l o w ) 就是自动运作的业务 过程部分或整体,表现为参与者对文件、信息或任务按照规程采取 行动,并令其在参与者之问传递【l2 。简单地说,工作流就是一系列 相互衔接、自动进行的业务活动或任务。如果将整个业务过程看作 是一条河,其中流过的就是工作流。 从t 作流定义中可以看出,工作流是经营过程的一个计算机实 现,而工作流管理系统【1 2 j 贝u 是这一实现的软件环境。使用:【:作流作 为经营过程的实现技术首先要求。t :作流系统能够反映经营过程的以 卜几个问题,即经营过程是什么( 由哪蝼活动、任务组成,也就是 结构上的定义) 、怎么做( 活动问的执行条件、规则以及所交互的信 息,也就是控制流与信息流的定义) 、由谁来做( 人或计算机应用程 序,也就是组织角色的定义) 、做得怎样( 通过工作流管理系统对执 行过程进行监控) 。图2 1 给出了一个称为工作流伞的示意图,反映 了工作流覆盖的经营过程范围与对应的j :作流研究领域。 经营过程定义l 工作流蛮施 经营过程重组1 工作流皇动他 j 在企业应用中,工作流经常与经营过程重组相联系,完成对一 个组织( 或机构) 中核心经营过程( 或者称为关键经营过程) 的建 模、评价分析和操作的实施【l3 l 。虽然并非所有的b p r 都需要采用:l : 作流的方式实施,但是,工作流技术通常是实施b p r 的一个较好方 法,凶为工作流提供了经营过程逻辑与其信息支撑系统的分离,辫: 实现了应用逻辑和过程逻辑的分离,这种方式在企业进行实际应用 时具有显著的优点。它可以在不修改具体功能模块实现方式( 硬件 环境、操作系统、数据库系统、编程语言、应用开发_ t 具、用户界 面等) 的情况下,通过修改( 重新定义) 过程模型来改进系统性能, 实现对生产经营过程部分或全部地集成管理,有效地把人、信息和 应用工具合理地组织在一起,提高软件的重用率,发挥系统的最大 效能。 2 1 2 工作流的技术优势和适用范围 工作流管理的日的是根据预定目标,找到合适的方法和手段来 优化工作流程。其在食业的应用会给企业带来巨大的效益。采用工 作流管理将使企业改变传统的按照功能来配置人员的组织结构,变 成按照氽业要实现的主要业务流程来配置组织结构,这样可以大大 缩短主要业务过程的处理时问,提高对市场的响应能力。组织结构 的改变将大大减少在企业内部不必要的物料、信息的传递时间。当 然,整个企业组织结构的调整首先需要调整传统的以部门组织生产、 人员从属于某个部门的做法,变成以项目组织生产和人员的工作方 法。一个人可能同时从属于多个项口。 1 企业应用工作流管理系统主要技术优势 f 1 1 提高企业管理的规范化程度。 ( 2 ) 更好的与上卜游企业形成快速响应市场的供应链网络。 f 3 ) 降低业务过程的整个处理时问,如在办公自动化环境中,通过 更好地规划工作流程,并行执行相互独立的活动,减少文档传递过 程中不必要的中间状态等方法来降低文档传递和临时储存时间。 ( 4 ) 降低管理成本,如避免不必要的重复工作,提高工作效率。 f 5 1 改进t 作质量,如自动提供为完成某个任务所需要的相关信 息。 ( 6 ) 在: 作人员之间更好地均衡负荷,如在工作人员缺勤的情况 下,自动地柔性分配潜伏人员。 ( 7 ) 通过在工作流模型中加入可预计的故障处理策略来提高系统 的柔性。 ( 8 ) 在工作流的基础上改进控制策略,降低相应的控制成本,如通 过监控1 二作流执行状态,利用分析和控制工具来进行优化控制。 ( 9 ) 通过对已经完成的工作流实例的分析,找出存在的不足,进而 不断改进工作流程。 ( 1 0 ) 使工作内容更加丰富, :且提高工作人员的业务能力,减 少工作人员进行单调乏味并且一卜分耗时的文档查找工作。 2 工作流技术可以应用于以卜一些领域并发挥晕要作用。 ( 1 ) 并行工程:工作流技术可以很好地用于产品开发过程的建模和 管理,它也可以作为产品协同设计、产品设计中的冲突协调、产品 数据管理与流程控制的支撑系统。在这一领域的应用中,需要增强 工作流对产品数据及其相关集成文档的描述能力,并且需要在工作 流技术融入c s c w 的技术和方法。 ( 2 ) 敏捷制造:工作流管理系统可以作为企业间信息集成的使用工 具,基于w e b 和基于邮件方式的工作流管理系统可以为企业灵活地 组建动态联盟和实现信息交换发挥重要作用。在这一应用领域中, 要充分考虑广域网环境下系统之间信息传递的可靠性问题,以及不 同工作流系统之间的互操作和重构问题。 ( 3 ) 供应链管理:工作流管理技术可以较好的用于实现供应链建模 和管理功能,结合工作流仿真和优化技术,还可以用于进行企业分 销体系的优化。 f 4 1 企业经营过程重组:这是。r 作流技术应用的主要领域。虽然t 作流管理为系统的重构提供了必要的手段,但是要真正实现企业经 营过程的快速重组,企业的应用系统需要按照组件的方式进行构建 或改造,而且对应用组件的粒度要求应该与过程重组所需的灵活性 相匹配。即灵活性要求较高,应用组件的粒度应该越小。 f 5 1 企业建模与系统集成:以工作流过程为核心,从功能、信息、 组织与资源视图为辅助手段研究集成化的企业建模方法,并开发相 应的集成化企业建模工具。在进行这方面的研究工作时,要重点解 决不同视图模型之问的集成问题和模型的致性问题,在此基础上, 可以建立以工作流管理系统为基础的集成平台和集成框架软件,从 而实现方便、快捷、灵活的应用系统集成。 工作流技术综合了计算机科学和管理科学中诸多研究领域的原 理、方法和技术,如:数据库管理、面向对象技术、c s 技术、汇编 语言、图形化用户界面、系统集成、消息传递、文档管理、仿真等 等。近年来,企业对过程建模、b p r 工具、敏捷制造、并行工程的 需要为工作流技术的应用提供了一个广阔的市场,使工作流产品得 以迅速发展。同时,工作流产品供应不断将信息技术、w e b 技术等 研究中的最新研究成果应用于自己的产品开发中,促进了它的普及 应用。虽然目前的工作流产品还存在很多问题,但是随着工作流技 术的进一步发展,它必将在提高企业的效率和竞争力,使企业更好 地适应市场变化等方面起到举足轻重的作用。 2 2 工作流参考模型 2 2 1 工作流管理系统功能 根据w f m c 的定义,工作流管理系统( w o r k f l o wm a n a g e m e n t s y s t e m ,w f m s ) 是一个软件系统,它完成:i _ = 作流的定义和管理,并 按照在计算机中预先定义好的工作流逻辑推进工作流实例的执行。 通常,工作流管理系统是指运行在一个或多个工作流引擎上用 于定义、实现和管理工作流运行的一套软件系统,它与工作流执行 者( 人、应用) 交互,推进工作流实例的执行,并监控工作流的运 行状态。 虽然不同的工作流管理系统具有不同的应用范围和不同的实施 方式,但它们具有很多共同的特性。概括地说,工作流管理系统提 供了3 种功能( 见图2 2 ) : ( 1 1 建市阶段的功能:主要考虑工作流过程和相关活动的定义 和建模功能。 ( 2 ) 运行阶段的控制功能:在一定的运行环境下,执行工作流过程, 并完成每个过程中活动的排序和调度功能。 ( 3 ) 运行阶段的人机交互功能:实现各种活动执行过程中用户与l t 应用工具之间的交互。 2 2 2 工作流参考模型 陶2 - 2 工作流管理系统的特性 图2 3 给出了w f m c 提出的工作流参考模型1 2 j 。参考模型描 述了工作流管理系统结构中主要的模块以及模块之间的接口。工 作流执行服务器周围的接口是w a p i ( w o r k f l o wa p i s ) ,通过这 些接口可以访问工作流系统的服务,还可以与其他系统组件f n j 进 行交互。w f m c 定义的5 类接口的功能: 接口1 :过程定义交换接口,定义了过程模型的互换格式和读写 操作; 接口2 :客户端函数接口,约定所有客户应用与工作流服务之间 的功能操作方式; 接口3 :应用程序接口,工作流机和直接调用的应用程序之间的 直接接u ; 接口4 :互操作接口,定义不同工作流管理系统之间的信息交互; 接l _ _ i5 :系统管理与监控接口,实现对工作流的管理和监控。 图2 - 3 工作流参考模型 过程定义工具:以计算机能处理的形式进行过程定义,现在 的大多数过程定义工具采用了图形方式,过程设计者通过绘图方 式来创建过程模型,最后输出一个x p d l 文件9 有的过程定义工 具还有分析、检测功能,帮助设计者设计出良好的过程模型。 工作流执行服务:由一个或多个工作流引擎组成,提供过程 实例的执行,为活动进行导航,与外界资源交互完成各项活动, 维护控制数据和相关数据等功能。 工作流客户端应用:提供用户操作工作流管理系统分配来的任务, 由工作流任务表管理器和任务操作共同完成。工作流任务表管理 器是一个软件模块,负责管理工作漉的任务表,并完成与工作流 参与者的交互操作。 工作流引擎直接调用应用:在工作流任务执行过程中,一些 不需要人员参与的活动会直接润用一些应用。在简单的情况下, 工作流引擎使用过程模型中定义的活动信息、应用程序类型,所 需要的数据来激活外都应用程序;在复杂的情况下采用工具代理 的方式。工具代理与工作流引擎之间通过专用集成接口来完成数 据交换和消息传递。 系统管理和蠊控工具:对工作流在整个组织内的流动状况进 行监控,并提供一系列管理功能,实现安全性、过程控制、授权 等操作。典型的功能范闱包括用户管理、角色管理、临控管理、 资源管理、过程监控管理。具体如:过程模型的实例化,启动、 挂起、恢复、终止过程实例;管理正在执行的过程实例等。 2 2 3 工作流实现模型 1 工作流管理系统的组成部分 图2 4 为w f m c 提出的工作流参考模型的体系结构图。这个参考 模型的体系结构给出了抽象的工作流管理系统的功能组成部件和接 口,它能够满足工作流管理系统和产品应该具有的主要功能,可为 实现工作流产品之间的互操作提供公共的基础。从图2 4 可以看出, 工作流管理系统主要由三部分组成1 2 i : ( 1 ) 软件构件:完成工作流管理系统不同组成部分功能的实现,包 括过程建模:l 具,工作流引擎,任务表管理器和用户界面; ( 2 ) 系统控制数据:工作流管理系统中的一个或多个软件构件使用 的数据,包括过程定义,组织角色模型数据,工作流控制数据,工 作流相关数据,任务表; f 3 1 应用与应用数据:对于工作流管理系统来说,它们不是工作流 管理系统的组成部分,而是属于外部系统和数据,它们被工作流系 统调用来完成整个和部分工作流管理的功能,如被工作流管理系统 调用的外部应用以及这些应用操作的数据。 2 工作流实现模型各个模块说明 ( 1 ) 过程建模( 定义) 工具:过程建模工具( p r o c e s sd e f i n i t i o n t 0 0 1 ) 被用来创建计算机可处理的业务过程描述。它可以是形式化 的过程定义语言或对象关系模型,也可以是简单地规定用户间信息 传输的一组路由命令。 ( 2 ) 组织角色模型:包含了组织结构和组织中角色的信息。这 些信息往往与流程定义信息紧密相关。 f 3 ) 工作流执行系统和工作流引擎:工作流执行系统 0 ,c 2 获得托肯,任务b 被执行;若x a c t i v e :活动正在执行中。 a c t i v e - - i n a c t i v e :活动在运行中出现异常,重新回到就 绪状态 a c t i v e - - c o m p l e t e d :活动顺利执行 图4 - 5 工作流活动的状态转化 r e s u i t s i g n a t u r e :埘a 静 w f p r a c e s e m g r l m p i o 4 1 h o w _ m a n y _ p r o c e s s o g e t _ i t e r a t e r _ p r o c e s s o e t _ s e q u e n c e _ p m c e s s o i 钆m e m e r _ o f _ p r o c e s s o 协o c e s s m g r _ s t a t e 0 s e t j r o c e s s _ m g r _ s t a t e o n a m e o d e s c n p t i o n o c a t e g o n o e r s i o n0 c o n t e x t _ s i g n a t u r e o 铆e s u l l ! ;l g n a t u r e 0 c r e a t e _ p r e c e s e o 图4 1 0 过程管理炎 w f p r o c e s s l m p l e :过程实现类,用于执行商业业务流程的实体。基本 方法包括一魑过程的基本操作,以及对一些过程状态、上下文、结 果等属性的存取接口。过程建立的时候与请求者相关联,在请求者 创建过程实例的时候初始化上下文。过程状态发生改变时,由审计 系统产生日志信息。一个过程包括一系列活动,对应子各令过程执 行的步骤。一个过程模型包括一个活动集合和各个活动之间的执行 顺序上的逻辑关系。 过程实现类 图4 1 1 ) 中几个重要方法: r l 、w f p r o c e s s i m p l ( ) :过程的实例化。设置一些基本属性的值,接 着为活动创建一个h a s h m a p 类型的数据结构,为容纳活动开辟 一个内存空间。最后是初始化过程的上下文。 f 2 1s t a r t ( ) :启动工作流过程。首先初始化相关属性的值,然后调用 c h a n g es t a t e ( ) 设置过程状态,最后是调用r u n ( ) 方法。 f 3 1s e tp r o c e s sc o n t e x t ( ) :设置过程的卜 卜文。 f 4 1 r e s u l t ( ) :从工作流过程中返回结果。 f 5 1r u n ( ) :工作流过程的执行。得到第一个活动( 起始活动) ,并 能通过i t e r a t o r 遍历整个过程的活动。找到活动后就可以执行活动。 、聊妒r o c e s s i m p , t w f p r o c e s s l m 口i o a b o r t o e l i t e r a t o r _ h i s t o r y o e l s e q u e n c e _ h i s t o r y o n o 忆c l o s e d o h o w _ m a n y _ h i s t o r y o i s m e m b e r _ o f h i s t or y o r e s u m e o s e l p r o c e s sc o n t e x t o s u s p e n d 0 喳i _ = m i n a t e ( ) 图4 - 1 l 过程实现类 w f a c t i v i t y l m p l e :活动实现类( 见图4 1 2 ) 代表过程执行中的一个 步骤或一个子过程( s u b f l o w ) 。它本身提供对自身执行状态的控制和 对活动属性的存取接口。活动的状态与过程的状态密切相关:过程 暂停,活动也要暂停。如果活动执行的是以子过程执行来实现的话, 则活动的上下文信息要记录现在正在执行的子过程的上下文,活动 的属性初始化依据所属过程的属性而来。活动和过程实例状态的转 换都从父类w f e x c e t i o n o b j e c t i m p l 继承而来。 w t a c t i v i t y t m p l a b o a o q c o m p l e t e o 4 1 c o n t a i n e r o g e t _ a c t i v i t i e s _ i n _ s t a t e o g e t _ i t e r a t o r _ a s s i g n m e n t o g e t _ i t e r a t o r _ h i s t o w o ! g e t _ i t e r a t o r _ p e r f o r m e r o g e t , i t e r a t o r _ s t e p o g e ts e q u e r l c e _ a s s i g n m e n t o 。 g e l s e q u e n c e _ h i s t o r y 0 g e t _ s e q u e n c e _ p e f f o r m e r o g e t :s e q u e n c e s t e p o 图4 1 2 活动实现类 关键方法: s t a r t a c t i v i t y ( ) :启动活动。根据活动类型的不同,调用不同的 活动类型方法。下面是部分代码( 仅显示重要步骤) 。 s w i t c h ( t y p e ) c a s ea c t i v i t y a c t i v i t y t y p e r o u t e :路l | j 类型活动 t h i sf i n i s h ( t ) ;4 t 么都不执行,育接调用“完成” c r s ea c t i v i t ya c t i v i t y t y p e _ 5 o 人工活动 t h i sr u n n o ( ) ; c a s ea c t i v i t y a c t i v i t y t y p e t o o l :t o o l s 类型 t h i sr u n t o o l ( t ) ; f i n i s h ( t ) ; c a s ea c u v i t y a c t i v i t y t y p e s u b f l o w :子过程类型 s t a r t s u b f l o w t h r e a d 2 t h r e a dc u r r e n t t h r e a d ( ) ; t h i sr u n s u b f i o w ( t ) ;开始一个子过程 s t a r t s u b f t o w t h r e a d = n u l l ; c a s ea c t i v i t ya c t i v i t y t y p e b l o c k :块活动, t h i sr u n b l o c k ( t ) ;遗留的类型,w f v l c 建议用s u b f l o w 代替。 人: 类型活动 p r o t e c t e dv o i dr u n n 0 0t h r o w sb a s e e x c e p t i o n ,c a n n o t s t a r t 说明:人一 活动,由参与者执行;引擎不需要执行额外的操作。 t o o l s 娄型 p r o t e c t e d v o i d r u n t o o l ( s h a r k t r a n s a c t i o nt ) t o o l a g e n t g e n e r a l e x c e p t i o n ( c h a n g e s t a t e ( t ,w o r k f l o w c o n s t a n t ss t a t e 4 5 t h r o w s b a s e e x c e p t i o n , c a n n o t s t a r t o p e n r u n n i n g ) ; t o o l a g e n t m a n a g e rt a m = 设置工具代理; t a me x e c u t e a c t i v i t y ( t h i s ) ;通过工具代理来肩动外部应用 s u b f l o w 活动类型 p r o t e c t e dv o i dr u n s u b f l o w 0 t h r o w sb a s e e x c e p t i o n ,t o o l a g e n t g e n e r a l e x c e p t l o n s u b f l o w s u b f l o w 2 9 e t a c t i v i t y d e f i n i t i o n ( t ) g e t s u b f l o w o ; i f ( s u b f o w = = n u l l ) f 如果子过程为空,返回 子过程自有属性 w f p r o c e s s m g r 】m g r s ; w f p r o c e s s m g rm g r ; w f p r o c e s $ s u b p r o c : s t r i n gs b f l w p k g m w i t h v e r s i o n s t r i n gs b f l w p k g l d ; s t r i n gs b f l w p k g v e r s i o n ; s t r i n gs b f l w p r o c l d ; s b f l w p k g l d = 得到子过程的包l d , s b f l w p k g v e r s i o n = 得到子过程的包版本号, s b f t w p r o c l d - 得到子过程的唯一i d , s t r i n gp m g r n a m e = 得到子过程的过程管理者的标识 m g r = g e t

温馨提示

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

评论

0/150

提交评论