(计算机应用技术专业论文)基于j2ee的轻量级工作流引擎的研究与实现.pdf_第1页
(计算机应用技术专业论文)基于j2ee的轻量级工作流引擎的研究与实现.pdf_第2页
(计算机应用技术专业论文)基于j2ee的轻量级工作流引擎的研究与实现.pdf_第3页
(计算机应用技术专业论文)基于j2ee的轻量级工作流引擎的研究与实现.pdf_第4页
(计算机应用技术专业论文)基于j2ee的轻量级工作流引擎的研究与实现.pdf_第5页
已阅读5页,还剩61页未读 继续免费阅读

(计算机应用技术专业论文)基于j2ee的轻量级工作流引擎的研究与实现.pdf.pdf 免费下载

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

文档简介

湖北工业大学硕士学位论文 摘要 工作流引擎是工作流管理系统的后台核心,工作流引擎的设计是工作流管理 系统设计实现的关键所在。针对目前工作流系统普遍存在的柔性差、互操作性差、 开发成本高等缺点,通过对w f m c 的工作流标准进行分析。本文提出了专门针对中 小企业应用特点,基于j 2 e e 的轻量级工作流引擎( j w f l o w ) 设计方案,并深入研 究它的关键技术,实现了其原型。为此本文主要做了以下工作: 首先,通过对工作流技术的全面阐述,分析了工作流目前发展的现状和不足, 为自己的相关研究工作划定了问题域范围: 其次,研究了工作流管理系统功能层次及系统基本结构,较为完整的分析了 工作流参考模型的模型框架及接口功能。 第三,提出一个基于j 2 e e 的轻量级的工作流引擎j w f l o w 的设计方案。本着 轻量级的设计原则出发,针对中小企业的应用特点,设计了工作流引擎的组织模 型、资源模型,提出了一个基于活动网络的层次结构的过程模型。设计了满足x m l 规范的定向图过程定义及描述。提出了j w f l o w 工作流引擎的核心组件的系统结构 及核心类设计。 第四,在j 2 e e 平台上实现了j w f l o w 。它是基于j b o s s 服务器、以消息驱动进 行通信、支持标准的a p i s o a p 、j m s 和m d b ,实现了工作引擎核心组件异步通信模 式;实现了j w f l o w 的事务处理及x m l 过程文档解析,提出了过程实例和活动实例 的全命周期管理算法。并进行了引擎功能测试。 关键词:工作流引擎,j 2 e e ,消息驱动,w f m c ,轻量级 湖北工业大学硕士学位论文 a b s t r a e t w o r k f l o we n g i n ei st h ec o r eo fb a c k g r o u n di nw 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 ) d e s i g n i n gaw e l lw o r k f l o we n g i n ei st h ek e yt o r e a l i z eaw f m s b y d i s c u s s i n gt h ew e a k n e s so ff e x i b i l i t ya n dc o o p e r a t i o n a n dh i g h l yd e v e l o p m e n tc o s ti n w f m sa tp r e s e n ta n da n a l y z i n gt h ew o r k f l o ws t a n d a r d si s s u e db vw f m c ,t h i s d i s s e r t a t i o np r o p o s e san e wd e s i g ns c h e m ao fl i g h l w e i g h tw o r k f l o we n g i n eb a s e do n j 2 e ef o rs m a l l m i d d l es c a l ec o o p e r a t i o na n dt a k e ss o m ed e e p l yr e s e a r c ha n df i n i s ht h e p r o t o t y p e t h em a i nc o n t e n t so f r e s e a r c hi n 血i sd i s s e r t a t i o na r ea sf o l l o w : f i r s t l yt h i sp a g ea n a l y z e st h e c u r r e n ts t a t u sa n dt h es h o r t a g eo fw o r k f l o w d e v e l o p m e n tb yi n t r o d u c i n gt h ew o r k f l o wt e c h n o l o g i e s w h i c hd r a w st l l ed e m a r c a t i o n o fc o n c e r n e di s s u e si nr e s e a r c h s e c o n d l yt h i sp a g er e s e a r c h e st h ef u n c t i o na n dl a y e ra n df o u n d a t i o ns t r u c t u r eo f w f m c ;a n df u l l ya n a l y z et h em o d e l i n gs t r u c t u r ea n di n t e r f a c eo fw o r k f l o wr e f e r e n c e m o d e l t h i r d l yt h i sp a g ep r o p o s e san e wl i g h t w e i g h tw o r k f l o we n g i n eb a s e do nj 2 e e b y l i g h t w e i g h td e s i g np r i n c i p l ea n df o rs m a l l - m i d d l es c a l ec o o p e r a t i o n , t h i sd i s s e r t a t i o n d e s i g no r g a n i z a t i o na n dr e s o u r c em o d e la n dp r o c e s sm o d e lb a s eo na c t i v i t y n e t a n d d i r e c t l yg r a p hd e f i n i t i o nb a s e do nx m la n ds y s t e ms t r u c t u r eo fc o r ec o m p o n e n t sa n d c l a s s e s f o u r t h l yt h i sp a g ei m p l e m e n t st h ew o r k f l o we n g i n eo nj 2 e eb a s e do nj b o s s , u s e dm e s s a g ed r i v e nf o rc o m m u n i c a t i o n s u p p o r t e ds t a n d a r da p i s o a p ,j m sa n d m d b i ti m p l e m e n t ss y n c h r o n i s mc o m m u n i c a t i o nm o d e la m o n gc o r ec o m p o n e n to f w o r k f l o we n g i n e ,a n dt r a n s i t i o nm a n a g e ra n dx m lp r o c e s sd o c u m e n tp a r s e ,a n d p r o p o s el i f ec y c l em a n a g e ra r i t h m e t i co f p r o c e s sa n da c t i v i t yi n s t a n c e s k e y w o r d s :w o r k f l o we n g i n e ,j 2 e e ,m e s s a g ed r i v e n ,w f m c ,l i g h t w e i g h t 诹吾亡工繁火港 学位论文原创性声明和使用授权说明 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师指导下,独立进行研究工作所取 得的研究成果。除文中已经标明引用的内容外,本论文不包含任何其他个人或集体已经 发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已在文中以明确方 式标明。本声明的法律结果由本人承担。 学位论文作者签名:名笺诱日期:加口i 年y - 月;z 日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有权保留 并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授 权湖北工业大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采 用影印、缩印或扫描等复制手段保存和汇编本学位论文。 学位论文作者签名:钍;罅 指导教师签名易孑? 杉 日期:沙,f 年,月2 日 日期:p 6 年r 月咖 湖北3 - 业大学硕士学位论文 第1 章绪论 1 1 工作流的起源及发展 工作流的概念最早起源于生产组织和办公自动化领域。它是针对r 常工作中 具有固定程序的活动而提出的一个概念。工作流系统通过将工作分解成定义良好 的任务和角色,按照一定的规则和过程来执行这些任务,并对他们进行监控,从 而达到提高办事效率、降低生产成本、提高企业生产经营水平和企业竞争力的目 的“】。实际上,自从进入工业化时代以来,有关过程的组织管理与流程的优化工作 就一直在进行,这是企业管理的主要研究内容之一。 2 0 世纪8 0 年代初期,在个人计算机尚未作为信息处理工具出现的时候,人 们为了提高信息收集、处理、存储、应用、传递、共享的效率,而希望建立一种 无纸化的计算机工作环境,于是一些公司建立了自己专用的或可商品化的表单传 递应用系统( f o r m s r o o t i n ga p p l i c a t i o n ) ,这些系统通常运行在大型机或小型 机上,用于实现日常表单处理的电子化和自动化,这种系统可以看成是现代工作 流管理系统的一个雏形。2 0 世纪8 0 年代中期,f i l e n e t 和v i e w s t a r 等图形化处 理公司率先开拓了工作流产品市场,成为最早的一批工作流产品供应商。他们把 图像扫描、复合文档、结构化路由、实例跟踪、关键字索引以及光盘存储等等功 能结合在一起,形成一种用于文档处理的图像处理系统,它可以把扫描得到的计 算机文档,按照。定的规则发送给相关人员,这便是早期的工作流管理系统。 f i e n e t 于1 9 8 4 年推出的w o r k f l o wb u s j n e s ss y s t e m 、v i e w s t a r 于1 9 8 8 年推出 的v i e w s t a r 、a c t i o n t e c h o n o g y ,8 0 年代推出的c o o r d i n a t o r ,便是其中的典型代 表。”1 。进入2 0 世纪9 0 年代,随着计算机的普及,计算机网络技术的迅速发展, 企业的信息化程度提高,企业信息资源越来越表现出一种异构分布、松散耦合的 特点。1 。企业的分散性、决策制定的分散性和对日常事务活动详尽信息的需求,以 及c 1 i e n t s e r v e r 体系结构,分布式处理技术( c o r b a 、w w w 、c o m d c o m 、j a v a ) 的目益成熟,都说明了这样一个事实:集中式信息处理的时代已经过去,实现大 规模、异构、分布式执行环境,使得相互关联的任务能够高效运转并接受密切监 控成为一种趋势。i n t e r n e t 的发展和普及为电子商务( e - c o m m e r c e ) 提供了技术 可能,电子商务的独特优势是必将成为未来商务活动的新模式。而电子商务的重 要功能就是商务流程的管理和监控,如企业供应链管理系统8 c m 5 3 ( s u p p l yc h a i n 湖北工业大学硕士学位论文 m a n a g e m e n t ) 和企业客户关系管理c r m ( c u s t o m e rr e l a t i o n s h i pm a n a g e m e n t ) 。 在这种技术背景下,工作流管理系统也由最初的无纸化办公环境转而成为实现业 务流程自动执行的必要工具。这样的一个转变也把工作流技术带入了一个崭新的 阶段,使得人们对工作流从更深层次、更广领域上对工作流展开了广泛的研究_ t 作。 1 9 9 3 年工作流技术的标准化组织工作流管理联盟w f m c ( w o r k f l o wm a n a g e m e n t c o a l i t i o n ) 的成立标志着:f 作流技术的发展进入了一个新阶段,更标志着工作流 技术在计算机应用领域之中被明确地划分出自己的一席之地,相应的概念与术语 得到了人们的认可。w f m c 的宗旨是促进工作流的应用,并制定了工作流技术的一 系列标准。虽然工作流产品已逐渐成为许多学者研究的热点和被许多供应商看好 的渐趋热点i t 市场产品。但是当前的工作流管理技术和产品距理想工作流产品尚 有较大的差距,不过随着工作流理论研究的完善和技术产品的成熟,工作流系统 被认为必将成为企业信息环境中不可或缺的软件平台。t h o m a sk o u r o p o u l o s 在文 献”中预言工作流系统将最终成为覆盖各类台式机与网络操作系统之上的业务操 作系统b o s ( b u s i h e s so p e r a t i o ns y s t e m ) ,将带来操作系统、信息管理软件的一 次革命,乃至在将来从企业应用步入家庭应用,成为新时代的家庭信息平台f i p ( f a m i l yi n f o r m a t i o np i a t f o r m ) 。当前工作流管理系统在许多企业信息系统中 己得到了一定的应用,如:图像处理领域、文档管理系统、产品数据管理系统、 群件系统、电子商务领域、e r p 系统等。工作流管理系统最直接的用途就是和企业 业务流程重构b p r ( b u s i n e s sp r o c e s sr e e n g i n e e r i n g ) 技术相结合管理企业的 各种流程,实现企业流程的自动化。工作流是业务流程重构技术的实现和延伸。 此外当前企事业单位存在大量的老旧应用系统,各个不同企业问的应用系统存在 更加大的区别。针对解决这类“信息孤岛”的问题,人们提出了许多信息集成的 框架,如基于x m l 的信息集成框架、基于s t e p 标准的工程信息集成框架,纵观这 些技术我们认为,他们多局限于静态信息的交换格式的定义,而对于各个应用系 统闻相互协作共同完成某项任务的情形却考虑较少,这种情况下需要多个应用系 统按照结构化或非结构化流程来协同工作,在任务的不同时问激活不用的应用系 统,并向应用系统传递相应的参数,而工作流技术正好满足了这一要求。工作流 管理系统可以按照流程的定义,在适当的时间激活相应的应用系统,传递相应的 参数,获取应用系统的处理结果,把其传递到下一应用,从而实现应用系统的集 成。 湖北工业大学硕士学位论文 1 2 国内外研究现状及不足 现代企业强调将传统的以职能为基础的组织机构和运作机制转变为以过程为 中心的管理模式,在信息集成的基础上实现过程集成已经受到越来越多的企业和 研究单位的重视。工作流技术是实现这一集成的有效途径之,其研究与应用r 益受到重视,相应的工作流软件开发工作也十分的活跃。工作流技术在c i m s 和办 公自动化中具有十分广阔的应用前景,在并行工程、企业经营过程重组、供应链 管理、敏捷制造、电子政务等领域中都开展了关于工作流应用的研究。随着工作 流管理系统需求的不断膨胀,工作流的相应研究也迅速的发展。由于各种新技术 层出不穷,各个采用了新技术的工作流管理系统也不断推出,目前,工作流领域 存在如下几种不同方向的工作流管理系统: 1 基于成熟产品的工作流管理系统,以m j c r o s o f te x c h a n g e 和i b md o m i n o n o t e s 为典型的成熟群件平台,在它上面做二次开发容易实现,但是不能完全 拥有自主版权,并且其多样性的适应性较差。 2 智能工作流管理系统,通过运用人工智能技术到工作流管理系统提高工作 流管理系统的智能性。i 。m y e r s 和m b e r r y 在文献”中详细讨论了人工智能技术对 w f m s 的影响,他们认为人工智能的过程控制致力于实物( 如机器、设备) 的过程 控制,而工作流则侧重于商业和制造业企业流程的控制;人工智能的技术对工作 流管理有许多借鉴意义:反应控制( r e a c t i v ec o n t r 0 1 ) 理论,对于流程的监控。 自适应和错误处理具有重要意义:反应调度( r e a c t i v es c h e d u l i n g ) 和资源分配 算法,则对于动态、复杂、实时性要求较高的流程调度引擎的设计具有现实的指 导意义;规划p a n n i n g 算法”,可以帮助工作流系统从大量的工作流定义案例中归 结出新的流程定义及使流程定义具有自学习的功能,有助于目标拉动型w f m s 的研 究与发展。 3 文献1 ,则提出了基于a g e n t 技术的w f m s 体系结构,把分布式人工智能代 理的技术引入了工作流管理系统;文献1 讨论了一个基于a i 的工作流使能的反应 控制系统s w i m 的体系结构和基本组件。 4 面向对象的w f m s ( o b j e c t o r i e n t e dw f m s ) ,随着面向对象技术的成熟与应 用,许多学者开始研究如何利用面向对象的技术来推动工作流技术的发展,主要 包括两个领域:第一,如何利用面向对象技术如:名字服务、安全控制技术来简 化w f m s 的实现,提高w f m s 的性能和适应h a d 环境的能力,如佐治亚大学的m e t e o r 产品则是其中的代表,它是一种基于c o r b a 标准面向对象的w f m s ,文献”1 详细地论 证了如何用面向对象技术提高w f m s 的容错能力,文献9 1 探讨了如何让利用c o r b a 湖北工业大学硕士学位论文 的对象事务服务来构建可靠工作流产品o p e n f l o w 的技术;第二,如何利用面向对 象的分析方法来构建面向对象的流程定义,以提高流程定义的可重用性。文献“” 中详细讨论了m o k a s s i n 项目的面向对象的流程定义元模型,文献“。用u m l 方法给 出了w o n d e r 系统面向对象模型。 5 分布式w f m s ,为了提高系统的鲁棒性,许多学者研究如何实现w f m s 的分布 处理,一个流程可以使用多个分布的工作流引擎,每个工作流引擎可以调度不同 流程实例或流程实例的不同任务,一个调度引擎发生故障时,不会影响其它引擎 的工作。分布式系统会带来一系列的问题,如数据。一致性、并发性、备份和恢复 问题,这些是当前研究的热点。 6 基于w e b 构架的w f m s ,基于w e b 构架的应用系统,由于零安装、移动性好、 易操作等优点得到了巨大的发展,许多应用系统转移到基于w e b 构架上来,w f m s 也不例外。现有的许多w f m s 也增加了对w e b 的支持,但多局限于用w e b 来实现任 务项( w o r k l t e m ) 的处理,而在s e r v e r 端通过c g i 与工作流引擎通信这种体系结 构“,c g i 程序的瓶颈、h t m l 不能表示结构化数据都使现有的对w e b 支持的系统效 率不高。如何利用x m l 和j a v a 等技术来实现w e b 构架的w f m s ,是一个还需研究的 课题。韩国国立汉城大学的y e o n s n o k 和s u bh o b 等人提出w wf l o w 的体系结构, 使用j a v a 、s e r v l e t 技术对c g i 模式进行了改造“”美国明尼苏达大学的r t r i p a t h i 等人利用x m l 技术实现了分布式工作流管理系统:挪威科学与技术大学的a i w a n g 基于x m l 技术实现了e r p r i t 支持的r e n a i s s a n c e 项目流程定义的自动执行”。 7 基于e c a 的适应性工作流,在实际中往往需要根据具体情况动态地确定执 行路由,这就需要工作流模型能表达出不同情况下的不同处理方法。近年来,数 据库的非传统应用促进了对主动数据库的研究和应用,并且引起了对软件主动性 的研究。它采用事件触发机制来组织应用系统,或者为应用系统增加主动功能。 当一个事件发生后,事件监视器捕获该事件,然后依据事件一一条件一一动作 ( e c a ) 规则进行条件判断,选择合适的执行动作“。在企业业务执行过程中,各 个活动的进行总是伴随着事件的发生。特定的事件触发特定的活动,而活动的结 束又引发新的事件,因而用事件也可以描述业务过程的动态特性。 目前工作流系统的应用虽然随着各种各样采用新技术的系统的推出得到越来 越广泛的应用,但是总得来说工作流系统的应用还是处于一个非常谨慎的状态, 根本原因就是当前的工作流系统存在着各种各样的缺陷或者说不足: 1 工作流运行必须要有底层的通信基础结构的支持:也就是说,工作流系统 必须要建立在适当的底层通信基础之上,以便实现执行工作流所需要的分布计算 环境。比如,c o r b a 、d c o m 、j 2 e e 都是可以选择的,但是,就目前能够实现分布计 湖北工业大学硕士学位论文 算环境的产品来看,他们在实际应用中仍然显得不够成熟,而且在价格上也给企 业造成一定的负担。企业若想部署工作流管理系统,还必须要格外付出经费与精 力去构筑底层环境,这种情况是企业所不希望的,实际上它也限制了工作流管理 系统在企业的广泛应用。 2 标准化程度差:不间的厂商所提供的工作流产品具有自己独立的一套工作 流模型、工作流定义语占以及a p i 函数。在缺乏标准的情况下,用户一旦选定一 种产品之后,就很难再过渡到其它同类产品上了;而且不同的系统之间缺乏互操 作的接口,使得用户有很多后顾之优。 3 性能问题:目前大多数工作流产品无法满足企业每天处理上万个,甚至每 小时处理几千个业务的需求。 4 柔性”问题:无论是过程模型的表示还是角色解析,现有的工作流系统表现 出柔性差的特点。一些企业的实际应用常常有对执行路由的动态需求以及工作项 执行人的动念选派,对于这些需求现在的工作流系统都不能很好的给予支持。 5 鲁棒性“”问题:工作流系统在企业的实际应用中,常常会由于某些不常规的 操作,造成流程执行的错误。这些不常规操作包括流程定义的不合法性、操作的 时间过长等等。对于这些错误问题的妥善解决也是以后的工作流系统需要做的工 作。 6 工作流技术尚不成熟:目前没有一种工作流产品或原形系统能够在过程执 行的可靠性达到与关系数据库管理系统同水平的功能。 1 3 本文研究内容及意义 当前己经有不少商业化的和开源的工作流管理系统,多工作流产品从数据存 储到运行环境往往都有一整套独特的体系结构,除了具备了工作流的基本功能外, 还同时宣称可以任意集成第三方的应用,有的还嵌入程度不等的应用开发功能, 也同时增加了学习的难度,并且软件开发及维护成本极高。但是对于大多数而言, 企业系统需要的并非这些复杂特性,而只要符合其需求的工作流,并不追求工作 流引擎的功能的完备和复杂,只是实现其中必不可少的功能和特征,且不会大幅 度提高软件的开发成本。针对上述问题,本文提出了专门针对中小企业应用特点, 基于j 2 e e 的轻量级工作流引擎( j w f l o w ) 设计方案,并深入研究它的关键技术, 实现了其原型。为此本文主要做了以下研究: 首先,通过对工作流技术的全面阐述,分析了工作流目前发展的现状和不足, 为自己的相关研究工作划定了问题域范围: 其次,研究了工作流管理系统功能层次及系统基本结构,较为完整的分析了 湖北工业大学硕士学位论文 工作流参考模型的模型框架及接口功能。 第三,提出一个基于j 2 e e 的轻量级的工作流引擎。本着轻量级的设计原则出 发,针对中小企业的应用特点,设计了工作流引擎的组织模型、资源模型,提出 了一个基于活动网络的层次结构的过程模型。设计了满足x m l 规范的定向图过程 定义及描述。设计了j w f l o w 工作流引擎的核心组件的系统结构及核心类设计。 第四,在j 2 e e 平台卜实现了j w f l o w 。它是基于i b o s s 服务器,以消息驱动进 行通信,支持标准的a p is o a p ,j m s 和m d b ,实现了工作引擎核心组件异步通信模 式;分析了j w f l o w 的事务处理及x m l 过程文档解析,提出了过程实例和活动实例 的全命周期管理算法。并进行了引擎功能测试。 1 4 论文结构 第一章绪论。介绍论文研究的背景,并对国内外、商业、_ 丌源的工作流引擎 进行分析和综述。最后给出本文的研究内容。 第二章工作流管理系统及工作流参考模型。研究与分析工作流管理系统的功 能层次及系统基本结构及工作流参考模型的框架及规范。 第三章j w f l o w 工作流引擎的设计。提出了一个基于j 2 e e 架构的轻量级的工 作流引擎设计方案。 第四章j w f l o w 工作流引擎的实现。讨论了j w f l o w 工作流引擎的核心组件异 步通信的实现,及事务处理、x m l 文档解析、工作流过程执行相关算法。引擎功能 测试。 第五章总结与展望。总结全文及对今后工作的展望。 湖北工业大学硕士学位论文 第2 章工作流管理系统及工作流参考模型 2 1 工作流管理系统简介 2 1 1 工作流管理系统的功能层次 从一般意义上说,一套工作流管理系统的功能“,可以分为三个方面: 1 建立阶段( b u i i d t i m e ) 功能:主要考虑工作流过程和相关活动的定义和 建模功能。 2 运行阶段( r u nt i m e ) 的控制功能:在一定的运行环境下,执行工作流过 程,并完成每个过程中活动的排序和调度功能。 3 运行阶段的人机交互功能:实现各种活动执行过程中用户与应用程序( 工 具) 之侧的交互。为完成上述功能,工作流管理系统需要考虑众多因素,w f m c 提 供了一个:亡作流管理系统的体系结构模型,包括过程定义工具、过程定义、工作 流执行服务( w e s ) 和工作流引擎、工作流控制数据、工作流相关数据、工作表和工 作表处理程序、应用程序和应用数据等。图2 1 描述了上述功能问的关系: 图2 i 工作流管理系统的功能层次图 2 1 2 工作流管理系统基本结构 工作流管理系统的基本模型结构如图2 2 所示,在一般的模型中,有三种类 型的部件。l 、w f m s 内提供各种功能支持的软件组元;2 、为一个或多个软件组元 湖北工业大学硕士学位论文 使用的各种系统定义和控制数据;3 、应用程序和数据库。 图2 工工作流管理系统的基本模型结构 工作流管理系统中主要部件和数据的作用如下: 1 过程定义工具:用来创建计算机可以处理的业务过程描述。它可以是形式 化的过程定义语言或对象关系模型,也可以是简单规定的用户间信息传递的一组 路由命令。 2 过程定义:包含了所有使业务过程能被: 作流执行服务的必要信息。这些 信息包含起始和终止条件、各个组成活动、活动的调度规则、各业务的参与者需 要的工作、相关应用次序和数据的调用信息等。 3 工作流执行服务和工作流引擎:工作流执行服务也称为执行环境或工作流 机,包括一个或多个工作流引擎。工作流引擎是工作流管理系统的核心软件组元。 它的功能包括:解释过程定义、创建过程实例并控制其执行、调度各项活动、为用 户工作表添加工作项、通过应用程序接口( a p i ) 调用应用程序、提供监督和管理功 能等。:作流执行服务可以包括多个引擎,不同工作流引擎通过协作工作执行工 作流。 4 工作流控制数据:指被工作流执行服务和引擎管理的数据,例如工作流实 例的状态信息、每一个活动的状态信息等。 5 工作流相关数据指与业务过程相关的数据:工作流管理系统( w f i s ) 使用这 些数据确定工作流实例的状态转移,例如过程调度决策数据、活动间的传输数据 等。工作流相关数据既可以被工作流引擎使用,也可以被应用程序调用。 6 工作表和工作表处理程序:工作表列出了与业务过程的参与者相关的系 湖北工业大学硕士学位论文 列工作项,工作表处理程序则对用户和工作表之间的交互进行管理。工作表处理 程序完成的功能有:支持用户在工作表中选取一个工作项重新分配工作项、通报工 作项的完成、在工作项被处理的过程中调用相应的应用程序等。 7 应用程序与应用数据:应用程序可以被工作流管理系统调用或通过应用程 序代理被间接调用。通过应用程序调用,w f m s 部分或完全自动地完成一个活动, 或者对业务参与者的工作提供支持。与工作流数据和相关数据不同,应用数据对 应用程序来讲是局部数据,对w f m s 的其它部件来说是不可见的。 2 2 工作流参考模型 2 2 1 工作流参考模型简介 工作流参考模型是工作流联盟( w f m c ) 提出的关于工作流管理系统的一个基 本框架,它给出了抽象的工作流管理系统的功能组成部件和接口,能够满足工作 流管理系统和产品应该具有的主要功能特征,为实现工作流产品之间的互操作提 供公共的基础。所有工作流系统都包含一系列的公共组件,组件问采用一套被定 义好的方法进行协作;不同的产品在这些公共的组件中,会表现出不同的处理能 力。为了实现不同工作流产品间的协同工作,需要在这些组件问制定一套标准的 接口和数据交换格式。通过实现这些标准接口,可以达到产品间的协同工作。 2 2 2 工作流参考模型框架 图2 3 描述了工作流参考模型体系结构中的主要组件与接口。工作流执行服 务器周围的接口是w a p i ( w o r k f l o wa p i s ) ,通过这些接口可以访问工作流系统的 服务,这些接口还控制工作流控制软件与其他系统组件问的交互。在这5 个接口 中的许多功能,都是被2 个或更多接口同时拥有的,因此w a p i 可以看作是统一的 服务接口,可以交叉使用这5 个接口来支持工作流管理功能,而不是单独的使用 其中某个接口。 9 湖北工业大学硕士学位论文 2 2 3 参考模型接口介绍 图2 3 工作流参考模型 工作流联盟定义了五类接口,下面分别介绍这几个接口的功能。 1 接口l :工作流过程定义转换接口 为了实现不同工作流管理系统之间、管理系统与建模工具之间相互交换工作 流模型( 主要指工作流过程定义) ,工作流管理联盟( w f m c ) 定义了一套用x m l 描述 工作流元模型的标记语言x p d l ,构成了接口1 。作为一个标准、通用的工作流定 义语言,x p d l 定义了一个最小集合的工作流建模实体与属性,提供了一般意义下 的公共交换格式。所有的工作流过程定义工具都可以有自己的内部表示,并可以 和通用交换格式进行转换。这就要求供应商至少提供阻下两个接口( 输入、输出 层) :依据公共过程定义语言x p d l ,将以字符流形式输入的过程定义转换为供应 商的内部表示。依据公共过程定义语言x p d l ,将以供应商的内部表示的过程定 义转换为字符流形式输出。 工作流流程定义是对业务过程的抽象表示,是w f m s 的重要基础。由于企业业 务流程的复杂性和多样性,要求工作流模型能够完整的定义任意情况下的业务流 程。 2 接口2 :客户端接口 这个接口在工作流执行服务器与工作流客户端应用程序问建立一个非常灵活 的通信机制,来构建各种可能遇到的运行系统。包括通过任务表处理器与终端用 户进行交互,与普通的办公系统进行集成,终端用户对任务表中任务项的操作, 调用外部应用程序,处理相关数据等。主要有以下几个功能: 通信建立:各个参与运行的系统之间通信的建立与断丌: 1 0 湖北工业大学硕士学位论文 工作流定义操作:对于过程模型的名称和属性的查询和检索功能; 过程实例管理功能:创建、开始、结束、挂起、重新激活一一个过程实例; 查询过程实例的属性: 任务项列表功能:查询、获得任务项列表中的项目;任务项完成、终止等 消息的通知;设置和查询任务项属性; 数据处理过程:查询、返回工作流相关数据、应用数据; 应用程序调用。 3 接口3 :应用程序调用接口 工作流管理系统应该能够处理在所有平台f 和网络环境中进行调用的逻辑, 并需要能使用公共格式和编码进行应用数据或相关数据传递的方法。在简单的情 况中,工作流引擎在本地处理应用程序调用,使用过程定义中的信息来确定活动 的性质、将要调用的应用程序的类型和所需的数据。被调用的应用程序可能存储 在工作流引擎中,或者与工作流引擎一同存储在相同的平台下,或者存放在一个 独立的网络访问的平台中。主要的应用程序调用a p i 如下: 通信建立:建立、断开与应用程序( 或应用程序代理) 的通信; 活动管理功能:开始、挂起、重新激活、推出活动;通知活动结束;查询 活动属性、消息事件; 数据处理功能:提供工作流相关数据( 在活动执行前向应用程序提供数据, 活动结束后从应用程序中获得所需数据) ;提供工作流应用数据或提供数据地址; 4 接口4 :异种工作流执行服务器之问的互操作接口 本接口用来支持异种工作流系统中信息与控制流的交互,主要有以下功能: 通信建立; 对工作流模型和其中对象的操作; 过程实例控制和状态操作; 活动管理操作; 数据处理函数; 5 接口5 :系统管理与监控接口 用来对工作流执行系统的管理和监控,主要功能有: 资源控制:设置、取消、修改过程或活动实例的并发层次; 角色管理:定义、删除、修改角色一参与者的关系:修改角色的属性; 用户管理:建立、删除、暂停和修改用户或工作组的权限; 过程实例的管理:对过程模型进行实例化:修改过程实例或活动实例的状 态;终止过程实例; 湖北工业大学硕士学位论文 状态管理:查询过程或活动实例的运行状态; 2 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 ) ,开始于1 9 9 3 。w f m c 发布的参考模型相对成熟完善,它定义了工作流管理 系统和其他相关部分之间的接口。w f m c 的另一项成果是x p d l 规范。x p d l 定义了 描述工作流声明部分( d e c l a r a t i v ep a r t ) 的x m l 结构。因此目前w f m c 推出的工作 流参考模型和x p d l 是工作流领域中最好的规范。 工作流模型规范目前处于一种百家争鸣的局面,主要有 ( 1 ) w f i c sx p d l w f m c 是由约3 0 0 家成员参加的组织,基于参考模型定义 了。系列的标准。参考模型用用例( u s ec a s e ) 的形式描述了工作流系统和其他相 关部分之间的关系。x p d l 是w f m c 制定的描述业务流程控制流( c o n t r o lf l o w ) 的 x m l 格式规范。1 9 9 4 年1 1 月,w f m c 发布了工作流管理系统的参考模型。参考模型 提出了五类接口“”,有关过程模型的定义则构成了接口1 的核心内容。接口1 早期 的标准为w p d l ( w o r k f l o wp r o c e s sd e f i n i t i o nl a n g u a g e ) 后来,这一接口的规范 变更为x p d l 。x p d l 是至今工作流领域最为重要的一个标准,目前大多数工作流引 擎是依据该标准设计开发的。 ( 2 ) e b x m l sb p s s e b x m l 。2 “是协同流程的相关标准集,主要关注不同公司流 程之间的通讯。可以看作e d i 的继承者。e b x m l 是由o a s i s 和u n c e f a c t 联合发起。 b p s s 是e b x m l 的规范,其中的概念和本文的阐述很接近。 ( 3 ) b p m i sb p m l w s c i 一( i n t a l i o ,s u n ,s a p ) b p m i o “定义的一个规范( b p m n ) , 描述如何将“可执行”业务流程可视化地表现。 ( 4 ) b p e l w e b 服务业务流程执行语言,是一种编程语言,它明确定义了基 于w e b 服务的业务流程,由一系列基于消息交换的规范( x l a n g ,w s f l ,b p m l ) 产生。 还有一个将此规范引入到j a v a 的提案:b p e l j 。 ( 5 ) u b l t h eu n i v e r s a lb u s i h e s sl a n g u a g e 1 ,定义了用于不同组织问通讯 的x m l 文档标准库。可以看作是对e b x m l 的补充,因为e b x m l 只定义了建立组织 阻j 流程的基础。此规范的竞争对手是r o s e t t a n e t 标准中的一个子集。 现在还处于工作流的初级发展阶段,新旧规范仍在争夺工作流的未来标准, 新的技术随着社会的需求和技术的发展会逐渐融入工作流管理系统的实现中。现 在,m s i i b m b e a 等跨国巨头越来越主推b p e l 4 w s “标准,并且已经发布基于b p e l 4 w s 湖北工业大学硕士学位论文 标准的系列产品,而且,他们还主推t n t e g r a t i o n p o r t a l 瞄1 的概念,这些概念将 把工作流带入更高级的阶段。 2 4 本章小结 本章首先研究与分析工作流管理系统的功能层次及系统基本结构,明确了工 作流管理系统与工作流引擎之间的关系;然后介绍了工作流参考模型,及工作流 模型规范。 湖北7 - 业大学硕士学位论文 第3 章j w f l o w 工作流引擎的设计 3 1 j w f i o w 的设计思想 目前,软件产品的规模和功能趋于大型化和复杂化,而本文根据对w f l c 标准 的研究,针对关键业务的开发需求,提出基于j 2 e e 架构的轻量级工作流引擎的设 计和应用,该引擎强调小型化特征。许多工作流产品从数据存储到运行环境往往 都有一整套独特的体系结构,除了具备了工作流的基本功能外,还同时宣称可以 任意集成第三方的应用,有的还嵌入程度不等的应用开发功能,也同时增加了学 习的难度。但是对于大多数而言,企业系统需要的并非这些复杂特性,而只要符 合其需求的工作流,并不追求工作流引擎的功能的完各和复杂,只是实现其中必 不可少的功能和特征,并且要求有要过高的增加软件的成本。下面将从三个方面 阐述j w f l o w 工作流引擎的设计的依据和思想。 3 1 1 工作流的设计中心 所谓工作流的设计中心指的是由谁来定义和开发工作流的应用。 p a t r i c i a s e y b o l d g r o u p 的r o n n m a r s h a k 曾经对工作流设计中心问题进行过一些有 益的论述”。 ( 1 ) 完全由实际的业务人员来负责工作流应用的定义和开发,一些工作流产品 也大力提倡这一点的确,实际的业务人员对自己的业务规则最为熟悉但他们对计 算机技术了解不多。因此,这只适合简单的工作流应用,一旦业务逻辑比较复杂 尤其是面对关键业务时,要他们将业务逻辑转换为工作流并且自己定制相应的应 用逻辑,则非常困难。 ( 2 ) 业务人员和专业技术人员相结合工作流。产品提供图形化的界面供业务人 员( 或者结合专业人员) 定义业务逻辑和规则,具体的应用逻辑则由专业开发人员 完成。应用的丌发可以利用工作流所提供的集成开发工具,也可以利用第i 方的 开发工具可能存在的问题是如果使用工作流产品所集成的开发工具的话,则其所 提供的开发应用的功能是否足够:另一方面,如果使用第三方的开发工具的话, 又该如何实现工作流机制的集成。 ( 3 ) 还有一种观点认为,要建立真正复杂、灵活工作流技术的基础是工作而且 可扩展的应用系统,必须将工作流的开发融合到信息系统的开发过程中,从整个 湖北工业大学硕士学位论文 信息系统的角度来定义工作流中的业务规则、任务流转以及相关角色。甚至更有 一种极端的观点认为应该把业务规则硬编码到具体的应用中,如果业务规则比较 稳定的话,这种方法可以得到非常紧凑的应用系统,其缺点是系统的重构和复用 非常困难对于大多数企业而言,从成本及可操作性来讲,第( 2 ) 、第( 3 ) 种模式是 可行的,但必须有一个恰当的工作流引擎的支持,否则会显著增加实际开发的难 度和工作量。 3 1 2 基于j 2 e e 架构 工作流引擎构建在j 2 e e 构架中,能够运行在各种系统平台上,既考虑了平台 的目前可用性,又考虑平台将来拓展的需求,各模块之间采用松耦合的连接方式, 工作流可以通过x m l 来定义。从开发整个企业信息系统的角度来看,开发基于j 2 e e 架构的工作流引擎可以实现与整个系统无缝接入。从技术角度来看,基于j 2 e e 架 构实现工作流引擎具有以下优势:( 1 ) 利用j 2 e e 中的j m s 和m d b 进行异步通信, 信息的传递可靠且有利于系统开发的分工;( 2 ) j 2 e e 服务器兼容w e b 服务,信息 传送采用s o a p 格式,有利于企业系统中的信息推送;( 3 ) j 2 e e 应用服务器本身提 供负载平衡等机制,能够最大程度的提高系统运行的安全和效率。 3 1 3 采用轻量级 新西兰m a s s e y 大学的t a g g 等学者对工作流引擎的描述曾经使用过“轻量级” 这一术语,但其侧重点在于如何构造一个“瘦客户端”。本文提到的“轻量级3 “” 概念与文献中一致。 轻量级的工作流引擎指的是从够用灵活和低成本的设计原则出发,不追求工 作流引擎功能的完备和复杂,只是实现其中必不可少的功能和特征。在设计工作 流引擎时主要考虑对其数

温馨提示

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

评论

0/150

提交评论