(计算机应用技术专业论文)jboss+jbpm工作流技术的改进及应用研究.pdf_第1页
(计算机应用技术专业论文)jboss+jbpm工作流技术的改进及应用研究.pdf_第2页
(计算机应用技术专业论文)jboss+jbpm工作流技术的改进及应用研究.pdf_第3页
(计算机应用技术专业论文)jboss+jbpm工作流技术的改进及应用研究.pdf_第4页
(计算机应用技术专业论文)jboss+jbpm工作流技术的改进及应用研究.pdf_第5页
已阅读5页,还剩71页未读 继续免费阅读

(计算机应用技术专业论文)jboss+jbpm工作流技术的改进及应用研究.pdf.pdf 免费下载

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

文档简介

摘要 随着工作流技术的不断发展,开源工作流产品功能同趋完善,越来越多的软 件企业和客户已经意识到,自己去研发一个工作流引擎或平台,已经毫无竞争 优势和价值优势,甚至有可能是成本的浪费。对开源工作流产品进行改进和完 善,并将其应用到实际项目中,成为软件企业提高竞争优势,客户降低成本的 重要途径。 本文选取当前开源工作流领域最容易被商业化应用的工作流管理系统j b o s s i b p m ( j b o s sj a v ab u s i n e s sp r o c e s sm a n a g e m e n t ) 作为研究对象,从流程过程定义、 流程调度机制、流程执行机制和流程实例对象四个方面详细阐述了j b o s sj b p m 工作流引擎的设计思想,并对j b o s si b p m 的持久化机制进行了深入的剖析。通 过研究发现,j b o s si b p m 不是一个完整的工作流管理系统,它发展的重心在于 流程引擎的优化以及对企业服务总线的支持,与成熟的工作流管理系统相比, j b o s sj b p m 只是提供了工作流引擎以及与应用的扩展接口,其流程设计器、流 程监控、流程任务分配等功能都不完善,不能很好的满足实际应用的需求。 为了使j b o s s b p m 能更好的运用于实际项目中,本文从三个方面对其进行 了扩展和改进。首先,针对j b o s sj b p m 流程设计器j b p m d e s i g n e r 在实际应用中 存在的问题,设计了一个能脱离开发环境独立运行的流程设计器t - j p d l ,并详细 阐述了该流程设计器的设计与实现方法;其次,提出了两种改进的任务分配方 法:基于候选池的任务分配和基于委派的任务分配,结合使用这两种任务分配 方法,可以使j b o s sj b p m 任务分配更加灵活和合理;最后,对j b o s sj b p m 的流 程监控功能进行了剖析,给出了两种流程监控方式的实现方法:基于表单的流 程监控和基于图形的流程监控。改进后的j b o s sj b p m 保持了其独立存在的特性, 可以无缝集成到任何基于j 2 e e 体系结构的应用系统中,并且不对特定的软件应 用服务器和数据库产生依赖。 本文在最后简单介绍了质量技术监督管理系统,给出了系统的总体结构图, 并以系统中典型的行政审批业务工业产品生产许可证申请流程为例,阐述 了改进后的j b o s sj b p m 在系统中的具体应用。 关键字:j b o s sj b p m ,工作流,流程设计器,流程监控,任务分配 a b s t r a c t w i t ht h ew o r k f l o wt e c h n o l o g yd e v e l o p i n g ,t h ef u n c t i o n s o fo p e ns o u r c e w o r k f l o wp r o d u c ta r eg o i n gt ob ep e r f e c tg r a d u a l l y a ni n c r e a s i n gn u m b e ro f s o f t w a r ee n t e r p r i s e sa n dc u s t o m e r sh a v er e a l i z e dt h a ti td o e s n tt a k eac o m p e t i t i v e a d v a n t a g ea n dw o r t ha d v a n t a g e ,o re v e n c a u s e st h ew a s t eo fc o s t ,t od e v e l o pa w o r k f l o we n g i n eo rp l a t f o r m t oi m p r o v ea n dp e r f e c t t h eo p e ns o u r c ew o r k f l o w p r o d u c ti sb e c o m i n ga ni m p o r t a n tw a y t oe n h a n c et h ec o m p e t i t i v ea d v a n t a n g eo f e n t e r p r i s e sa n d r e d u c et h ec o s to fc u s t o m e r s c h o o s e dt h ew o r k f l o wm a n a g e m e n ts y s t e mj b o s sj b p ma st h er e s e a r c ht a r g e t , w h i c hi st h em o s tp r o n et ob ec o m m e r c i a l i z e di no p e ns o u r c ew o r k f l o wd o m a i n ,t h i s d i s s e r t a t i o ne l a b o r a t e st h ed e s i g ni d e a o ft h ej b o s sj b p me n g i n ef r o mf o u r a s p e c t s ,i n c l u d i n gp r o c e s sd e f i n i t i o n ,p r o c e s sd i s p a t c hm e c h a n i s m ,p r o c e s se x e c u t i o n m e c h a n i s ma n dp r o c e s si n s t a n c eo b j e c t s ,a n dm a k e sad e e ps t u d yo ft h ep e r s i s t e n c e m e c h a n i s m a c c o r d i n gt ot h er e s e a r c hr e s u l t s ,j b o s sj b p m i sn o tam a t u r ew o r k f l o w m a n a g e m e n ts y s t e m ,a n di t sd e v e l o p m e n tg o a l sf o c u s o nt h eo p t i m i z a t i o no fw o r k f l o w e n g i n ea sw e l la st h es u p p o r to fe n t e r p r i s es e r v i c eb u s c o m p a r e dt o o t h e rm a t u r e w o r k f l o wm a n a g e m e n ts y s t e m ,j b o s sj b p mo n l yp r o v i d e saw o r k f l o we n g i n ea n d e x p a n s i o ni n t e r f a c e sw i t ho t h e ra p p l i c a t i o n s ,a n di t sf e a t u r e ss u c ha sb u s i n e s sp r o c e s s d e s i g n e r ,p r o c e s sm o n i t o r i n ga n dp r o c e s st a s ka s s i g n m e n ta r en o tp e r f e c t ,a n dn o t g o o dt om e e tt h en e e d so fp r a c t i c a la p p l i c a t i o n s f o rab e t t e ru s i n gi na c t u a lp r o j e c t s ,j b o s sj b p mi se x p e n d e da n di m p r o v e df r o m t h r e ea s p e c t si nt h i sd i s s e r t a t i o n f i r s t l y , ab u s i n e s sp r o c e s sd e s i g n e rn a m e dt _ j d p l w h i c hc a nb r e a ka w a yf r o mt h ed e v e l o p m e n te n v i r o n m e n ti sd e v e l o p e d ,a n d t h e d e s i g n a sw e l la sr e a l i z a t i o no ft - j p d l i m p r o v e d t a s ka s s i g n m e n tm e t h o d s ,t a s k a s s i g n m e n t b a s e do n a p p o i n t m e n t ,a r e m e t h o d s ,t h ej b o s sj b p mt a s ka s s i g n m e n t i se l a b o r a t e di nd e t a i l s e c o n d l y , t w o a s s i g n m e n t b a s e do np o o l a n dt a s k p r o p o s e d c o m b i n e d w i t ht h e s et w o w o u l db em o r ef l e x i b l ea n dr e a s o n a b l e f i n a l l y , t h ep r o c e s sm o n i t o r i n g f u n c t i o n so fj b o s sj b p ma r ea n a l y z e da n dt h e r e a l i z a t i o no ft w ok i n d so fp r o c e s sm o n i t o r i n g ,o n ei sp r o c e s sm o n i t o r i n gb a s e d o n s h e e t ,t h eo t h e ri sp r o c e s sm o n i t o r i n gb a s e do ng r a p h i c s ,i sp r o v i d e d t h ei m p r o v e d i i j b o s sj b p mk e e p ss t a n da l o n ec h a r a c t e r , a n dc a nb ei n t e g r a t e di n t oa n ya p p l i c a t i o n s y s t e mb a s e do nt h ej 2 e ea r c h i t e c t u r es e a m l e s s l y ,a n dn e v e rd e p e n d so na n ys o f t w a r e a p p l i c a t i o ns e r v e r so rd a t a b a s e s i nt h ee n do ft h ed i s s e r t a t i o n ,w eg i v eab r i e fa tt h eq u a l i t ya n dt e c h n i c a l s u p e r v i s i o n a d m i n i s t r a t i o n s y s t e m a n d p r o v i d e t h eo v e r a l ls t r u c t u r eo ft h e s y s t e m a n dt h e n ,w et a k et h ei n d u s t r i a lp r o d u c t i o np e r m i ta p p l i c a t i o np r o c e s sa sa n e x a m p l e ,w h i c h i st h er e p r e s e n t a t i v ea d m i n i s t r a t i o n o p e r a t i o no ft h es y s t e m ,t o e x p o u n dt h es p e c i f i ca p p l i c a t i o no f t h ei m p r o v e djb p mi nt h es y s t e m k e yw o r d s :j b o s sj b p m ,w o r k f l o w , b u s i n e s sp r o c e s sd e s i g n e r , p r o c e s s m o n i t o r i n g , t a s ka s s i g n m e n t i i i 独创性声明 本人声明,所呈交的论文是本人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其 他人已经发表或撰写过的研究成果,也不包含为获得武汉理工大学或其它教育 机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何 贡献均己在论文中作了明确的说明并表示了谢意。 关于论文使用授权的说明 本人完全了解武汉理工大学有关保留、使用学位论文的规定,即学校有权 保留、送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部 或部分内容,可以采用影印、缩印或其他复制手段保存论文。 ( 保密的论文在解密后应遵守此规定) 武汉理l :人学硕十学位论文 1 1 研究背景及意义 第1 章绪论 2 0 0 3 年,我国的电子政务建设的重点主要围绕“两网一站四库十二金 开 展,湖北省质量技术监督局积极推进“金质”工程,努力实现政务工作的电子 化和信息化,经过几年的建设,电子政务建设初具成效,在一定程度上提高了 行政办事效率。近年来,为适应新时期社会主义市场经济发展和改革开放的需 要,省质量技术监督局对业务工作进行了深入的改革。但是随着改革的深入, 以前信息化建设中存在的问题也逐渐暴露出来,最突出的一个问题就是当业务 工作发生变化后,以前建设的电子政务系统无法处理变化后的业务流程,通过 研究发现,以前实施的电子政务系统是根据当时的业务流程定制开发的,采用 硬编码的方式对业务流程进行描述,当业务流程发生变化时,政府机构的信息 化主管部门往往缺少系统整合以及系统升级的必要技术力量,这样就大大缩短 了系统的生命周期。 实际上,省质量技术监督局信息化建设中面临的这些问题在其他政府部门 中也是广泛存在的,由于政府业务流程的变更是不可阻止的,作为用户来说, 他们对于需求的变化拥有绝对的发言权,而重新定义需求,并根据新的流程变 化提供新的系统改造往往将很多软件企业拖到了项目无法收尾的泥坑中。如何 向政府用户提供一种可操性较强,并可根据流程变化自主定义业务流程的软件 技术,成为很多大型软件研发企业的技术重点。 目前,工作流技术1 1 2 j 成为一种正在被多种领域广泛引进的技术,它具有强 大的流程控制能力,包含了很多人机交互活动的自动流程处理。它最大的用途 就是和政府流程重构技术( g o v e r n m e n tp r o c e s sr e e n g i n e e r i n g ,g p r ) 相结合管理政 府的各种流程,实现政府流程的自动化,同时,它还可以方便用户分析政务流 程,找出不合理之处,给出流程重组的方案1 3 】。 当前工作流技术发展迅速,商业和开源工作流产品相继推出。由于电子政 务工程中软件费用支出巨大,在不影响系统功能和性能的前提下,采用开源软 件成为电子政务工程降低成本的一个重要途径。同时,开源软件具有开放的特 武汉理l :人学硕十学位论文 性,开源社区都在不断努力提高歼源代码的可靠性,他们对丌源应用的开发与 完善精益求精。在工作流领域,具有代表性的丌源工作流产品有o s w o r k f l o w l 4 1 、 s h a r k 引、j b o s sj b p m ( 本文中简称为j b p m ) ,其中,j b p m 凭借其优秀的引擎设 计架构和良好的可扩展性受到了越来越多的关注。 2 0 0 5 年6 月,j b o s s 发布了j b p m3 0 版本,此时i b p m 流程引擎发展基本 成熟。但j b p m 并不是一个完整的工作流管理系统,它发展的重心在于流程引擎 的优化以及对e s b ( e n t e r p r i s es e r v i c eb u s ,企业服务总线1 的支持。成熟的工作流 管理系统应该由工作流引擎、工作流设计器、流程操作、工作流客户端程序、 流程监控、表单设计器、与表单的集成以及与应用程序的集成八个部分组成, 相比之下,i b p m 只是提供了工作流引擎以及与应用的扩展接口,其流程设计器、 流程监控以及流程任务分配等功能都不完善,不能很好的满足实际应用的需求, 因此对i b p m 进行研究和改进成为必要。 将改进后的j b p m 应用到电子政务系统中,对用户来说,可以根据流程的 变化自主定义流程,增强系统的灵活性,提高系统的生命周期,同时,由于i b p m 是开源软件,使用它可以降低软件费用支出;从可移植性角度来讲,改进后的 j b p m 依旧保持了独立存在( s t a n da l o n e ) 的特性,可以无缝集成到任何基于j 2 e e 体系结构的应用系统中,并不对特定的软件应用服务器和数据库产生依赖。 1 2 工作流技术研究现状 工作流系统从上世纪7 0 年代开始起步发展以来,取得了长足进步,它的体 系结构、运行模式和工作流管理模式都取得了丰硕的成果。工作流的研究归纳 起来主要有三个方面【6 j : 第一方面是工作流的理论基础,包括工作流管理系统的体系、模型与定义 语言( 工作流的建模方法、工作流模型的形式化表示、工作流定义语言) 等的研究。 目前这一部分的研究相对来说比较薄弱,还有许多问题有待进一步研究; 第二方面是工作流的实现技术,包括工作流的事务特性、工作流仿真、工 作流分析与监控等。这方面研究工作的目标是提高工作流管理系统的性能,尤 其是提高工作流管理系统可靠性以及在处理大规模复杂且具有并行业务的流程 方面的能力: 第三方面是工作流技术的应用,包括工作流实施技术在不同应用领域的应 2 武汉理l :人硕十学位论文 用方法、应用软件集成等。研究的目标是发挥工作流管理系统的优势,为解决 具体应用领域内的问题提供可行的实现手段。 1 2 1 国内研究现状 工作流技术的研究与应用在我国起步较晚,国内厂商的研发能力无法与国 外相比,国内对工作流技术的研究主要集中在工作流的实现技术和工作流技术 的应用。国内很多著名的厂商专注于其主要的产品或平台,工作流管理只是其 中的一个辅助模块,因此流程管理不是非常有特点,这样的厂商主要有e o s ( 普 元) 、o w 4 j ( o r a c l e 中国) 、u a p ( 用友) 、b o s ( 金蝶) 、h o t o a ( 上海华炎) 、 g k - w o r k f l o w ( 北京点击科技) 等。还有些厂商专门开发工作流管理系统,主要 有如下几家厂商: 北京有生博大软件公司有生工作流系统( r i s e s o f tw o r k f l o w ) r i s e s o f tw o r k t l o w 是针对政府部门和企业的公文处理、审批等业务的办理 情况而开发的基于w e b 的工作流管理系统。该产品主要包括工作流定义、工作 流运转和工作流管理等功能,产品参考了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 ,工作流管理联盟) - 1 - 作流参考模型,完全基于j 2 e e 规范设计开发, 采用先进的s t r u t s 架构进行构造。 信雅达系统工程股份有限公司信雅达工作流管理系统( s u n f l o w 2 1 ) s u n f l o w 是基于先进的j 2 e e 技术规范,以w f m c 为标准开发,采用基于 域的三级分层联邦系统架构,是一个分布式的工作流管理系统,可支持海量数 据处理。它具备良好的稳定性、扩展性、安全性与灵活的业务流程变动功能; 通过i c o n n e t 应用集成服务器可方便地集成企业现有系统、中间件和各种应用, 是开发、部署和管理企业关键业务的理想平台。 西安协同数码股份有限公司s v n c h r o f l o w s y n c h r o f l o w 是基于i n t e r n e t 上的各个节点之间多人协同工作的工作流管 理系统。主要用于应用集成业务过程的建立、运行和管理。它为二次开发商提 供了一个快速的开发平台和高效的运行平台。 1 2 2 国外研究现状 当前工作流技术的研究正日益受到人们的重视,许多国外大学和科研机构 3 武汉理j :人学硕 学位论文 都展开了很多方面的研究项目,并取得了一些成果,这些成果中,比较著名的 有i b m 公司a l m a d e n 研究中心研发的基于持久消息队列的 e x o t i c a f m q m ( f l o w m a r ko nm e s s a g eq u e u em a n a g e r ) 、佐治亚大学计算机系研究 开发的自适应能力的工作流管理系统m e t e o r ( m a n a g e m e n te n d t o e n d o p e r a t i o n s ) 、基于主动数据库技术的w l d e ( w o r k f l o wo ni n t e l l i g e n ta n d d i s t r i b u t e dd a t a b a s ee n v i r o n m e n t ) ,以及德国和瑞士合作的基于状态和活动图的 m e n t o r ( m i d d l e w a r ef o re n t e r p r i s e w i d ew o r k f l o wm a n a g e m e n t ) 等研究项目l 7 。 基于持久消息队列的分布式工作流管理系统e x o t i c a e x o t i c a l 8 】以“消息传送”为实现机制。它由许多具有自治能力的节点组成, 每个节点的运行都独立于其它节点,执行节点接收到消息后,执行当前活动, 执行完当前活动后,根据当前活动的输出连接弧向其它节点发送消息,从而推 动整个过程实例的进程。这种运行机制避免了节点在运行中不断与服务器通信 所造成的瓶颈,如果其中一个节点出现故障停止运行,其余节点仍能正常运转, 增强了系统的鲁棒性。 具有自适应能力的工作流管理系统m e t e o r m e t e o r 9 】是一个支持多范型的工作流管理系统,主要用于处理医疗保健应 用。多范型是指该系统支持分布异构环境下的企业内和企业间的各种工作流。 该系统采用了完全分布的体系结构,并实现了对工作流任务的分布调度。m e t e o r 还提供了一个自动的代码生成器,能够自动地将图形化的工作流模型转换为实 际运行代码,并能对模型进行动态修改,可有效地支持企业实现动态经营过程 重组。 基于分布式主动数据库技术的工作流管理系统w i d e w i d e 1 0 】是由西班牙、意大利和荷兰等国的五个合作单位协同开发的工作流 管理系统,主要目的是利用分布式数据库和主动数据库技术来实现工作流管理。 w i d e 工作流模型包括组织模型、信息模型和过程模型,这是对w f m c 参考模 型的扩展,它不仅定义了工作流的基本要素( 三个模型及相互关系) ,还支持 丰富的组织模型、复杂的活动分配约束、动态控制流程、复杂过程结构和工作 流事务管理。组织模型与过程模型严格分离,通过授权机制连接,即用授权将 过程模型中的角色映射到组织模型中的代理。 基于状态和活动图的工作流管理系统m e n t o r m e n t o r l l l j 采用状态和活动图作为模型建立的规范,并用可视化工具 4 武汉理l :人学硕十:学位论文 s t a t e m a t e 作为建模工具。m e n t o r 可将用户建立的模型自动转化成状态活动图。 活动图描述活动之间的数据流动,状态图规定了活动之间控制信息的流动。状 态图中状态的转换是基于e c a ( e v e n t c o n d i t i o n a c t i o n ) 规则的,并允许嵌套状 态,允许同一层次的状态图独立地并行执行。 1 3j b p m 研究现状 目前市场上三大主流开源工作流引擎为i b p m 、s h a r k 和o s w o r k f l o w 。 j b p m 是一种基于j 2 e e 的轻量级工作流管理系统,它在2 0 0 4 年1 0 月1 8 日发布了2 0 版本,并在同一天加入了j b o s s ,成为j b o s s 企业中间件平台的一 个组成部分,它的名称也改成j b o s sj b p m 。随着i b p m 加入j b o s s 组织,j b p m 也将进入一个全新的发展时代,它的前景是十分光明的【1 2 1 。 b p m 的流程建模模 型是基于a c t i v i t yd i a g r a m ( 活动图) 的,并在引擎构建上融入了f s m 1 3 】( f i n i t e s t a t em a c h i n e ,有限状态机) 和p e t r i n e t l l 4 j 思想。当前i b p m 最新的版本为3 2 2 。 s h a r k 是e n h y d r a 旗下一个可扩展、基于w f m c 和o m g 规范的开源工作流 引擎。s h a r k 实现了w f m c 定义的t o o l a g e n t s a p i ,同时采用x p d l 来定义流程。 s h a r k 主要由服务器管理控制台、包管理器、持久层服务、日志管理器、流程库、 过程实例运行模块和客户端等功能模块组成,每个组件都是按标准实施的,而 且可以根据具体项目进行模块扩展和替换。 o s w o r k f l o w 是完全采用j a v a 语言编写的、开放源代码的工作流引擎,具有 显著的灵活性及完全面向有技术背景的用户的特点。o s w o r k f l o w 主要基于有限 状态机,每一种状态被描述为s e ti d 和s t a t u s 。从一种状态转移到另一种状态没 有动作是不可能发生的,在工作流的生命周期内,通常有一个或者多个活动的 状态【1 5 】。 i b p m 、o s w o r k f l o w 和s h a r k 各有其独特的优点,但是在应用过程中也暴露 出了一些缺陷。s h a r k 最大的缺点就是体系过于复杂,而且其持久层使用的是 e n h y d r ad o d s ,目前基本上没有软件再使用d o d s 作为持久层工具; o s w o r k f l o w 虽然很灵活,但是它所依赖的f s m 模型对于分支、聚合、子流程 的支持度很低,在很多特殊工作流模型方面显得无能为力。i b p m 自从被j b o s s 收购后,其3 x 系列的结构更加趋于微内核,p l u g i n ( 插件) 思想也更加深入。 同时,它还提供了对b p e l 扩展,存储支持j b o s sh i b e r n a t e 实现,集成了j b o s s 5 武汉理i :人学硕l :学位论文 s e a m ,规则引擎准备采用j b o s sr u l e s ,并准备集成j b o s sm e s s a g i n g 。这样,不 论是内核还是外围应用,j b p m 都具有了强劲的动力。j b p m 是最适合扩展的开 源工作流,也是最容易被商业化应用的丌源工作流管理系统。 i b p m 作为一款优秀的开源工作流管理系统,在国内外已经引起了广泛的关 注,但是目前对i b p m 的深入研究还是比较少。国外于2 0 0 7 年底出版了第一本 关于j b p m 的书籍b u s i n e s sp r o c e s sm a n a g e m e n tw i t hj b o s sj b p m ,而国内对 j b p m 的研究大多只是停留在简单的应用层面上,例如文献【2 3 】、文献 2 4 】、文献 【2 6 1 、文献 3 0 1 、文献【3 1 】等。由于j b p m 还处于发展之中,它并不是一个完整的 工作流管理系统,其流程设计器、流程监控以及流程任务分配等功能都不完善, 要使j b p m 能更好的运用于实际项目中,需要对j b p m 进行扩展和改进。 1 4 本文拟解决的关键问题 i b p m 不是一个完整的工作流管理系统,其流程设计器、流程监控以及流程 任务分配等功能都不完善,结合实际应用的需求,本文将对i b p m 进行扩展和改 进,拟解决的关键问题如下: ( 1 ) 构建一个流程设计器,该设计器可以脱离开发环境独立运行,能将用 户在本地制作的流程图转化为j b p m 流程引擎可以识别的流程定义,并将流程直 接部署到数据库中,同时提供修改流程的功能。 ( 2 ) j b p m 提供了两种任务分配方式:一种是在流程定义中使用泳道为任 务指定执行人,另一种是通过实现a s s i g n m e n t h a n d l e r 接口为任务动态指定执行 人,这两种方法都有明显的缺陷。针对这些缺陷,提出两种解决方法:基于候 选池的任务分配和基于委派的任务分配,它们将在i b p m 两种任务分配方式的基 础上进行改进,结合这两种方法,可以使 b p m 任务分配更加灵活和合理。 ( 3 ) 结合流程设计器生成的流程信息,给出两种流程监控方式的设计与实 现方法:基于表单的流程监控和基于图形的流程监控,通过这两种方式,用户 可以方便、准确的掌握流程运行状况。 ( 4 ) 实现质量技术监督管理系统工作流原型,并将研究成果应用到该系统 中。 6 武汉理j :人学硕士学位论文 1 5 本文的组织结构 第一章绪论。概述了j b p m 工作流技术的研究背景和意义、国内外研究现 状以及本文拟解决的关键问题。 第二章j b p m 工作流研究。介绍了j b p m 的主要特点,并对j b p m 流程引擎 的设计思想和持久化机制进行了深入剖析。 第三章j b p m 流程设计器研究与改进。针对j b p m d e s i g n e r 存在的缺陷,设 计了一个流程设计器t - j p d l ,并详细阐述了其设计和实现方法。 第四章i b p m 任务分配及流程监控的改进与实现。从流程任务分配和流程监 控两个方面分析了j b p m 在实际应用中存在的问题,并给出了具体 的解决方法。 第五章改进的i b p m 在质量技术监督管理系统中的应用。以质量技术监督 管理系统为应用背景,给出该系统中具有代表性的业务流程的设计 与实现方法,将第三、四章中的研究成果应用到该系统中。 第六章总结与展望。对全文的研究内容进行总结,并针对文中存在的不足 之处提出下一步的改进方向。 7 武汉理i :人学硕t 学何论文 第2 章j b p m 工作流研究 2 1j b p m 主要特点 从j b o s sj b p m 的官网上可以下载到j b p m 的新手工具箱,它由五部分组成, 分别为j b p m - s e r v e r 、j b p m - d e s i g n e r 、j b p m - d b 、j b p m 核心组件和j b p m b p e l l l 6 】。 j b p m s e r v e r 是一个预配置好的j b o s s 4 应用服务器,使用它可以实现流程的部署; j b p m - d e s i g n e r 是一个基于e c l i p s e 的图形化流程设计器;j b p m d b 是j b p m 的数 据库兼容包,提供了j b p m 的数据库配置和在不同数据库之间进行切换的功能; j b p m 核心组件是纯粹的j a v a ( j 2 s e ) 软件,用来管理流程定义和流程实例执行时 的运行时环境【1 7 】;j b p m b p e l 是一个独立的扩展包,它扩展了j b p m ,使之支持 b p e l ,b p e l 本质上是一个x m l 1 8 j ( e x t e n s i b l em a r k u pl a n g u a g e ) 脚本语言。 j b p m 拥有直观的流程定义语言j p d l ( j b p mp r o c e s sd e f i n i t i o nl a n g u a g e ) , 它的业务逻辑定义没有采用目前的一些规范,如w f m c sx p d l l l 9 1 ( x m lp r o c e s s d e f i n i t i o nl a n g u a g e ) 、b p m l l 2 0 ( b u s i n e s sp r o c e s sm o d e l i n gla n g u a g e ) 、e b x m l l 2 1 】 ( e l e c t r o n i cb u s i n e s su s i n ge x t e n s i b l em a r k u pl a n g u a g e ) 、b p e l 4 w s 2 2 】( b u s i n e s s p r o c e s se x e c u t i o nl a n g u a g ef o rw e bs e r v i c e s ) 等,而是采用了自定义的j p d l 。j p d l 认为一个业务流程可以被看作是一个u m l 状态图,详细定义了这个状态图的每 个部分,如起始、结束状态,状态之间的转换等。i b p m 的另一个特色是它使用 h i b e r n a t e 来管理它的数据库。h i b e r n a t e 是目前j a v a 领域最好的数据持久层解决 方案。通过h i b e r n a t e ,i b p m 将数据的管理职能分离出去,自己专注于业务逻辑 的处理【2 3 1 。 j b p m 只有最小的依赖,可以象使用j a v a 库一样非常容易的使用它。另外, 也可以将它部署在j 2 e e 集群应用服务器中,用在吞吐量极为关键的环境。同时 j b p m 可被配置为任何数据库,并且可以部署到任何应用服务器。 2 2i b p m 组件结构 j b p m 工作流引擎基本实现了w f m c 规范的四个接口,结合u m l 的建模方 8 武汉理i :人学硕十学位论文 法,使用j p d l 作为j b p m 的流程定义语言,使得工作流的建模更好的融入了整 个软件丌发过程。j b p m 实现w f m c 模型规范的接口见图2 - 1 。 流程管理者 图2 - 1 j b p m 所实现w f m c 模型规范的接口图【2 4 j i b p m 实现的w f m c 主要四个接1 3 可以表述为【2 5 l : 定义( d e f i n i t i o n ) :工作流系统的定义接口使流程开发人员能部署流程定 义。这里的“流程开发人员”可以是业务分析师和软件开发人员的组合。 执行( e x e c u t i o n ) :执行接1 3 使用户和系统可以操作流程实例。流程实例 是流程定义的执行,流程定义的控制流通过状态机描述,执行接口的两 个主要方法是启动一个流程实例和通知工作流系统一个状态结束了。 应用( a p p l i c a t i o n ) :应用接口代表了由工作流系统发起的工作流系统和外 部系统之间的交互。当一个用户或系统操作一个流程实例的运行时,会 生成一些事件( 如一个迁移的执行) 。流程定义中可以指定一段响应一个 事件的可执行代码逻辑,这段代码和组织内外部的其他系统打交道。 监控( a u d i t ) :管理人员通过监控接口获得流程运行的确切数据,运行日 志也可用于审计。 9 武汉理i :人学硕十学位论文 为了实现w f m c 规范部件和接口的方法,j b p m 提供了一系列组件。j b p m 组件结构见图2 2 。 数据库 图2 - 2j b p m 组件结构副2 6 】 j b p m 提供了基于j p d l 语言的流程定义工具,将业务逻辑转化为工作流引擎 可以运行的流程定义;当流程部署后,j b p m 流程引擎解释并执行流程定义,通 过流程调度服务来控制流程任务的调度,通过流程实例管理来负责流程任务的 管理。在流程的执行过程中,j b p m 流程引擎记录了所有的流程事件,并通过 h i b e r n a t e 持久层将流程状态数据保存到数据库中。 2 3j b p m 工作流引擎设计思想 工作流引擎的职责是非常清晰的:确保流程按照流程定义,从一个节点运 行到另一个节点,并正确执行当前节点。具体来讲,工作流引擎主要关注如下 几个方面的问题【卅: ( 1 ) 流程过程定义:采用何种方法来描述一个流程定义。 ( 2 ) 流程调度机制:提供什么样的机制,可以确保流程能够处理复杂的流 程图结构,如选择、并行、聚合等,并确保流程能从一个节点运行到另一个节 点。 1 0 武汉理l :人学硕一卜学位论文 ( 3 ) 流程执行机制:当流程运行到某个节点的时候,需要一套机制来解决 是否执行此节点,并如何执行此节点的问题,同时维持节点状态生命周期。 ( 4 ) 流程实例对象:需要一整套流程实例对象来描述流程实例运行的状态 和结果。 2 3 1 流程过程定义 流程过程定义包括两个方面:流程过程建模及采用图形化的方式来定义流 程,其中流程过程建模是流程过程定义的核心。流程过程建模即如何定义一组 对象来形式化描述流程【2 8 1 。在工作流的发展史上,采用过各种各样的模型,如 p e t r in e t ,f s m ,e p c i 2 9 ( e v e n t d r i v e np r o c e s sc h a i n ) ,a c t i v i t yd i a g r a m ,x p d l m e t a m o d e l 等。 j b p m 流程建模使用的是改良的u m l 活动图,同时采用j p d l 作为流程建模 语言,j p d l 主要由以下七个部分组成: 1 节点( n o d e ) :n o d e 是j p d l 中最重要也是最复杂的元素,n o d e 有两种主要 作用:一种是执行i a v a 代码,如创建任务实例、发出通知、更新数据库等操作; 另一种是控制程序的执行,如离开当前节点、创建新的执行路径等【3 0 】。j b p m 中 的节点按类型可分为s t a r t s t a t e 、e n d s t a t e 、t a s k n o d e 、n o d e 、s t a t e 、d e c i s i o n 、f b r k 、 i o i n 等,这些节点功能各不相同,具体描述如下: ( 1 ) s t a r t s t a t e :代表流程的开始节点,在j b p m 中一个流程有且仅有一个 s t a r t s t a t e 节点,流程从该节点开始启动。 ( 2 ) e n d s t a t e :代表流程的结束节点,与s t a r t s t a t e 相对应,一个流程可以 有多个e n d s t a t e 节点,即有多个结束状态。它是流程的最后一个节点,当流程 执行到该节点时,表示整个流程已经执行完毕。 ( 3 ) t a s k n o d e :代表流程中的任务节点,一个流程中可以有多个任务节点。 一个任务节点可以包含一个或多个任务( t a s k ) ,这些任务分配给特定的用户或 者用户组。当流程执行到该节点时,任务实例将被创建,一个任务对应多个任 务实例。 ( 4 ) s t a t e :s t a t e 是一个纯粹的w a i ts t a t e ( 等待状态) 节点。它和t a s k n o d e 的区别就是它不会创建任务实例。进入这种状态,整个流程实例的执行就会中 断。直到系统外参与者发起继续执行的命令,流程实例的执行才能够继续下去。 ( 5 ) d e c i s i o n :当流程中需要根据不同条件的判断结果来选择执行不同路 武汉理i :人学硕十学位论文 径时,就可以用d e c i s i o n 节点。该节点为条件判断提供了两种方法:一种是在 t r a n s i t i o n ( 转换) 里增加c o n d i t i o n ( 条件) ,c o n d i t i o n 是b e a n s h e l ls c r i p t 写的, 它返回t r u e 或f a l s e 。运行的时候,d e c i s i o n 节点将会在它的l e a v i n gt r a n s i t i o n 里 循环,同时比较l e a v i n g t r a n s i t i o n 旱的c o n d i t i o n ,最先返回t r u e 的c o n d i t i o n ,那 个l e a v i n gt r a n s i t i o n s 将会被执行;另外一种方法是实现d e c i s i o n h a n d l e r 接口, 它有一个d

温馨提示

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

评论

0/150

提交评论