已阅读5页,还剩59页未读, 继续免费阅读
(计算机应用技术专业论文)基于jbpm的测绘生产管理系统的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
兰州大学硕士学位毕业论文 摘要 随着工作流技术的不断发展,开源工作流产品功能日趋完善,越来越多的软 件企业和客户已经意识到,自己去研发一个工作流引擎或平台,已经毫无竞争优 势和价值优势,甚至有可能是成本的浪费。对开源工作流产品进行改进和完善, 并将其应用到实际项目中,成为软件企业提高竞争优势,客户降低成本的重要途 径。 本文选取当前开源工作流领域最容易被商业化应用的工作流管理系统 j b o s sj 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 sj b p m 的持久化机制进行了深入 的剖析。通过研究发现,j b o s sj b p m 不是一个完整的工作流管理系统,它发展 的重心在于流程引擎的优化以及对企业服务总线的支持,与成熟的工作流管理系 统相比,j b o s sj b p m 只是提供了工作流引擎以及与应用的扩展接口,其流程部 署、流程监控、流程任务分配等功能都不能很好的满足实际应用的需求。 然后讨论了基于j 2 e e 技术架构下的w e b 应用。主要包括j 2 e e 的体系结构、 设计模式和j 2 e e 体系中的核心技术等。对当前流行的s t r u t s 2 、s p r i n g 、 h i b e r n a t e 框架进行深入分析,详细介绍框架的结构、特点和应用范围。具体阐 述j a v a 基础知识和j 2 e e 框架知识之间关系,同时也展示接口在实际应用中的灵 活与便捷,从而理解使用j 2 e e 这一行业广泛支持的标准、多层次的分布式应用 模型和一系列开发技术规范的真正意义。 为了使j b o s sj b p m 能更好的运用于实际项目中,本文从三个方面对其进行 了扩展和改进。首先,针对j b o s sj b p m 流程部署在实际应用中存在的问题,设 计了一个能脱离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 b p m 工作流引擎,j 2 e e ,开源框架,流程部署,任务分配,流程监控 兰州大学硕士学位毕业论文 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 so fo p e ns o u r c e w o r k f l o wp r o d u c tw e 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 dr e a l i z e dt h a ti td i d n tt a k ea n yc o m p e t i t i v ea n d w o r t ha d v a n t a g e ,o re v e nc a u s e st h ew a s t eo fc o s t ,t od e v e l o pan e ww o r k f l o we n g i n e o rp l a t f o r m t oi m p r o v ea n dp e r f e c tt h eo p e ns o u r c ew o r k f l o wp r o d u c tw a sb e c o m i n g a ni m p o r t a n tw a yt 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 fe n t e r p r i s e sa n dr e d u c e d t 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 hw a 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 sd i s s e r t a t i o ne l a b o r a t e d t h ed e s i g ni d e ao 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 e e s si n s t a n c eo b j e c t s ,a n dm a d ead 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 o t h er e s e a r c hr e s u l t s ,j b o s sj b p mw a sn o tam 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 ,a n di t sd e v e l o p m e n t g o a l sf o c u s e do nt h eo p t i m i z a t i o n o fw o r k f l o we 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 ew 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 m o n l yp r o v i d e daw o r k f l o w e n g i n ea n de x p a n s i o ni n t e r f a c e sf o ro 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 s b u s i n e s sp r o c e s sd o p l o y ,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 tw e r en o t p e r f e c t ,a n dn o tg o o d e n o u g ht 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 t h e nt h i sd i s s e r t a t i o na n a l y z e dt h ew e ba p p l i c a t i o nb a s e do nj 2 e et e c h n o l o g y f r a m e w o r k m a i nc o n t e n t sw e r et h ej 2 e ea r c h i t e c t u r e ,d e s i g na n dm a i nt e c h n o l o g yi n t h ej 2 e es y s t e m t h em a i nr e s e a r c hw a so ns t r u t s 2 ,s p r i n g ,h i b e r n a t ef r a m e w o r k i t a n a l y s e dt h es t r u c t u r e ,c h a r a c t e r i s t i ca n da p p l i c a t i o no ft h ef r a m e w o r k s i ta l s o e x p l a i n e dt h er e l a t i o n s h i pb e t w e e nt h ej a v aa n dj 2 e ef r a m e w o r k f i n a l l yt h i s d i s s e r t a t i o nd e m o n s t r a t e dt h ef e x i b i l i t yo fi n t e r f a c eo ra b s t r a c tc l a s si n p r a c t i c a l a p p l i c a t i o n t h ej 2 e ew a sab r o a ds u p p o r t e ds t a n d a r do ft h ei n d u s t r y , am u l t i l e v e l d i s t r i b u t e dm o d e l ,a n das e r i e so ft e c h n i c a ls p e c i f i c a t i o n 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 mw a se x p e n d e da n di m p r o v e d 厂 兰州人学硕t 学位毕业论义 f r o mt 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 , ap r o c e s sd e p l o yp a g ew h i c hc a nb r e a k a w a yf r o mt h ej p d lr u n t i m ee n v i r o n m e n tw a sd e v e l o p e d ,a n dt h ed e s i g na sw e l la s r e a l i z a t i o no ft h ed e p l o yp a g ew a se l a b o r a t e di nd e t a i l s e c o n d l y , ai m p r o v e dt a s k a s s i g n m e n tm e t h o d ,t a s ka s s i g n m e n t b a s e do nu s e r s p r i v i l e g e ,w a sp r o p o s e d c o m b i n e dw i t ht h em e t h o d ,t h ej b o s sj b p mt a s ka s s i g n m e n tw o u l db em o r ef l e x i b l e a 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 gf u n c t i o n so fj b o s sj b p mw e r e a n a l y z e da n dt h er 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 ew a sp r o c e s s m o n i t o r i n gb a s e do ns h e e t ,t h eo t h e rw a 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 ,w a s p r o v i d e d t h ei m p r o v e dj b o s sj b p ms e r v i c e dt h es y s t e mb e t t e r , a n dn e v e rd e p e n d e d o na n ys o f t w a r ea 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 a v eab r i e fa tt h es u r v e y i n ga n dm a p p i n g p r o d u c em a n a g e m e n ts y s t e mi n c l u d i n gd e p a r t m e n t sd u t y , c l a s sd i a g r a m u s ec a s e d i a g r a m ,a n ds y s t e mp r o c e s sd i f i n i t i o n k e yw o r d s :j b p mw o r k f l o we n g i n e ,j 2 e e ,o p e n - s o u r c ef r a m e w o r k , p r o c e s s d o p l o y , t a s ka s s i g n m e n t ,p r o c e s sm o n i t o r i n g 原创性声明 本人郑重声明:本人所呈交的学位论文,是在导师的指导下独立 进行研究所取得的成果。学位论文中凡引用他人已经发表或未发 表的成果、数据、观点等,均己明确注明出处。除文中已经注明 引用的内容外,不包含任何其他个人或集体已经发表或撰写过的科研 成果。对本文的研究成果做出重要贡献的个人和集体,均已在文中以 明确方式标明。 本声明的法律责任由本人承担。 论文作者签名:函鎏盘 日 期:2 丝z 。:兰兰 关于学位论文使用授权的声明 本人在导师指导下所完成的论文及相关的职务作品,知识产权归 属兰州大学。本人完全了解兰州大学有关保存、使用学位论文的规定, 同意学校保存或向国家有关部门或机构送交论文的纸质版和电子版, 允许论文被查阅和借阅;本人授权兰州大学可以将本学位论文的全部 或部分内容编入有关数据库进行检索,可以采用任何复制手段保存和 汇编本学位论文。本人离校后发表、使用学位论文或与该论文直接相 关的学术论文或成果时,第一署名单位仍然为兰州大学。 保密论文在解密后应遵守此规定。 论文作者签名:齑:玄盘日期:呈翌! :主,22 - :岛汉s 兰州人学硕士学位毕业论文 1 1 研究背景及意义 第一章绪论 近年来,为适应新时期社会主义市场经济发展和改革开放的需要,兰州市勘 察测绘研究院对业务工作进行了深入的改革。但是随着改革的深入,以前信息化 建设中存在的问题也逐渐暴露出来,最突出的一个问题就是当业务工作发生变化 后,以前建设的电子政务系统无法处理变化后的业务流程,通过研究发现,以前 实施的电子政务系统是根据当时的业务流程定制开发的,采用硬编码的方式对业 务流程进行描述,当业务流程发生变化时,政府机构的信息化主管部门往往缺少 系统整合以及系统升级的必要技术力量,这样就大大缩短了系统的生命周期。 实际上,兰州市勘察测绘研究院信息化建设中面临的这些问题在其他政府部 门中也是广泛存在的,由于政府业务流程的变更是不可阻止的,作为用户来说, 他们对于需求的变化拥有绝对的发言权,而重新定义需求,并根据新的流程变化 提供新的系统改造往往将很多软件企业拖到了项目无法收尾的泥坑中。如何向政 府用户提供一种可操性较强,并可根据流程变化自主定义业务流程的软件技术, 成为很多大型软件研发企业的技术重点。 目前,工作流技术【1 ,2 】成为一种正在被多种领域广泛引进的技术,它具有强 大的流程控制能力,包含了很多人机交互活动的自动流程处理。它最大的用途就 是和政府流程重构技术( g o v e r n m e n tp r o e e s sr e e n g i n e e r i n g ,g p r ) 相结合管理 政府的各种流程,实现政府流程自动化,同时,方便用户分析政务流程,找出不 合理之处,给出流程重组的方梨3 1 。 当前工作流技术发展迅速,商业和开源工作流产品相继推出。由于电子政务 工程中软件费用支出巨大,在不影响系统功能和性能的前提下,采用开源软件成 为电子政务工程降低成本的一个重要途径。同时,开源软件具有开放的特性,开 源社区在不断努力提高开源代码的可靠性,他们对开源应用的开发与完善精益求 精。在工作流领域,具有代表性的开源工作流产品有o s w o r k f l o w l l 4 1 、s h a r k 5 1 、 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 m 3 0 版本,此时j 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 ,e s b ) 的支持。成熟 的工作流管理系统应该由工作流引擎、工作流设计器、流程操作、工作流客户端 程序、流程监控、表单设计器、与表单的集成以及与应用程序的集成等八个部分 组成,相比之下,j b p m 只是提供了工作流引擎以及与应用的扩展接口,其流程 部署、流程监控以及流程任务分配等功能都不完善,不能很好的满足实际应用的 需求,因此对j b p m 进行研究和改进成为必要。将改进后的j b p m 应用到测绘生产 管理系统中,可以根据流程的变化自主定义流程,增强系统的灵活性,提高系统 的生命周期,同时,由于j 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 1 : 1 工作流的理论基础。包括工作流管理系统的体系、模型与定义语言( 工作 流的建模方法、工作流模型的形式化表示、工作流定义语言) 等的研究。目前这 一部分的研究相对来说比较薄弱,还有许多问题有待进一步研究: 2 工作流的实现技术。包括工作流的事务特性、工作流仿真、工作流分析 与监控等。这方面研究工作的目标是提高工作流管理系统的性能,尤其是提高工 作流管理系统可靠性以及在处理大规模复杂且具有并行业务的流程方面的能力: 3 工作流技术的应用。包括工作流实施技术在不同应用领域的应用方法、 应用软件集成等。研究的目标是发挥工作流管理系统的优势,为解决具体应用领 域内的问题提供可行的实现手段。 2 兰州大学硕士学位毕业论文 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 es o f tw o r k f l o w ) r i s es o f tw o r f l o w 是针对政府部门和企业的公文处理、审批等业务的办理 情况而开发的基于w e b 的工作流管理系统。该产品主要包括工作流定义、工作流 运转和工作流管理等功能,产品参考了工作流管理联盟w f m c ( w o r k f l o w m a n a g e m e n tc o a l i t i o n ,w f m c ) 模型,完全基于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 n c 为标准开发,采用基于域的 三级分层联邦系统架构,是一个分布式的工作流管理系统,可支持海量数据处理。 它具备良好的稳定性、扩展性、安全性与灵活的业务流程变动功能;通过 i c o n n e c t 应用集成服务器可方便地集成企业现有系统、中间件和各种应用,是 开发、部署和管理企业关键业务的理想平台。 西安协同数码股份有限公司s y n c h r o f l o w s y n c h r of l o w 是基于i n t e r n e t 上的各个节点之间多人协同工作的工作流管 理系统。主要用于应用集成业务过程的建立、运行和管理。它为二次开发商提供 了一个快速的开发平台和高效的运行平台。 1 2 2 国外研究现状 当前工作流技术的研究正日益受到人们的重视,许多国外大学和科研机构都 展开了很多方面的研究项目,并取得了一些成果,这些成果中,比较著名的有 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 k o nm e s s a g eq u e u em a n a g e r ) 、佐治亚大学计算机系研究开发的自适应能力的工 3 兰州大学硕上学位毕业论文 作流管理系统m e t e o r ( m a n a g e m e n te n d t o e n do p e r a t i o n s ,m e t e o r ) 、基于主 动数据库技术的w i d e ( w o r k f l o wo ni n t e l l i g e n ta n dd i s t r i b u t e dd a t a b a s e e n v i r o n m e n t ,w i d e ) ,以及德国和瑞士合作的基于状态和活动图的 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 ,m e n t o r ) 等研 究项目i 。 1 基于持久消息队列的分布式工作流管理系统e x o t i c a e x o t i c a 8 】以“消息传送 为实现机制。它由许多具有自治能力的节点组成, 每个节点的运行都独立于其它节点,执行节点接收到消息后,执行当前活动,执 行完当前活动后,根据当前活动的输出连接弧向其它节点发送消息,从而推动整 个过程实例的进程。这种运行机制避免了节点在运行中不断与服务器通信所造成 的瓶颈,如果其中一个节点出现故障停止运行,其余节点仍能正常运转,增强了 系统的鲁棒性。 2 具有自适应能力的工作流管理系统- - - - m e t e o r m e t e o r 9 】是一个支持多范型的工作流管理系统,主要用于处理医疗保健应 用。多范型是指该系统支持分布异构环境下的企业内和企业间的各种工作流。该 系统采用了完全分布的体系结构,并实现了对工作流任务的分布调度。m e t e o r 还提供了一个自动的代码生成器,能够自动地将图形化的工作流模型转换为实际 运行代码,并能对模型进行动态修改,可有效地支持企业实现动态经营过程重组。 3 基于分布式主动数据库技术的工作流管理系统叫i d e w i d e l l o l 是由西班牙、意大利和荷兰等国的五个合作单位协同开发的工作流 管理系统,主要目的是利用分布式数据库和主动数据库技术来实现工作流管理。 w i d e 工作流模型包括组织模型、信息模型和过程模型,这是对w f m c 参考模型的 扩展,它不仅定义了工作流的基本要素( 三个模型及相互关系) ,还支持丰富的组 织模型、复杂的活动分配约束、动态控制流程、复杂过程结构和工作流事务管理。 组织模型与过程模型严格分离,通过授权机制连接,即用授权将过程模型中的角 色映射到组织模型中的代理。 4 基于状态和活动图的工作流管理系统刈e n t o r m e n t o r l l 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 ,e c a ) 规则的,并允许嵌 4 兰州大学硕士学位毕业论文 套状态,允许同一层次的状态图独立地并行执行。 1 3j b p m 研究现状 目前市场上三大主流开源工作流引擎为j 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 。随着j b p m 加入j b o s s 组织,j b p m 也将进入一个全 新的发展时代,它的前景是十分光明的【1 2 】。j b p m 的流程建模模型基于活动图 ( a c t i v i t yd i a g r a m ) 的,并在引擎构建上融入了有限状态机f s m u 3 】( f i n i t e s t a t em a c h i n e ,f s m ) 和p e t r i n e t 1 4 j 思想。当前j 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 a g e n t 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 1 。 j 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 模型对于分支、聚合、子流程的支持度很低, 在很多特殊工作流模型方面显得无能为力。j 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 s o s ss 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 是最适合扩展的开源工作流,也 兰州人学硕j :学位毕业论文 是最容易被商业化应用的丌源工作流管理系统。 j b p m 作为一款优秀的开源工作流管理系统,在国内外己经引起了广泛的关 注,但是目前对j b p m 的深入研究还是比较少。国外于2 0 0 7 年底出版了第一本关 于j b p m 的书籍刊u s i n e s sp r o e 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 的研究大多只是停留在简单的应用层面上。由于j b p m 还处于发展之中,它 并不是一个完整的工作流管理系统,其流程部署、流程监控以及流程任务分配等 功能都不完善,要使j b p m 能更好的运用于实际项目中,需要对j b p m 进行一定的 扩展和改进。 1 4 本文拟解决的关键问题 j b p m 不是一个完整的工作流管理系统,其流程部署、流程监控以及流程任 务分配等功能都不完善,结合实际应用需求,本文将对j b p m 进行扩展和改进, 拟解决的关键问题如下: 1 构建一个流程部署页面,使得流程定义可以脱离j p d l 运行时独立部署, 方便流程定义修改后的再部署。 2 提出了一种任务分配方式的设计与实现方法。j b p m 提供了两种任务分配 方式:一种是在流程定义中使用泳道为任务指定执行人,另一种是通过实现 a s s i g n m e n t h a n d l e r 接口为任务动态指定执行人,这两种方法都有明显的缺陷。 针对这些缺陷,提出解决方法:基于用户权限的任务分配。使j b p m 任务分配更加 符合本系统的要求。 3 提出了两种流程监控方式的设计与实现方法:结合j b p m d e s i g n e r 生成的 流程信息,提出了两种流程监控方式的设计与实现方法:一是基于表单的流程监 控;二是基于图形的流程监控。通过这两种方式,用户可以方便、准确的掌握流 程运行状况。 1 5 本文的组织结构 第一章绪论概述了j b p m 工作流技术的研究背景和意义、国内外研究现状 以及本文拟解决的关键问题。 第二章j b p m 工作流研究。讨论了j b p m 的主要特点,并对j b p m 流程引擎的 6 兰州大学硕士学位毕业论文 设计思想和持久化机制进行了深入剖析。 第三章基于j 2 e e 构架的应用系统实现。介绍了j 2 e e 架构以及系统中使用 的s t r u t s 2 、s p r i n g 、h i b e r n a t e 等开源框架,给出了s s h 整合的解决办法。 第四章j b p m 在实际应用中存在的问题及其改进。从流程部署,流程任务分 配和流程监控三个方面分析了j b p m 在实际应用中存在的问题,并给出了具体的 解决方法。 第五章通过给出系统中的各部门职能,系统类图,系统用例图以及系统的 流程定义简单的介绍测绘生产管理系统。 第六章总结与展望。对全文的研究内容进行总结,并针对文中存在的不足 之处提出下一步的改进方向。 7 兰州人学硕b 学位毕业论文 第二章j b p m 工作流研究 2 1j 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 1 6 1 。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 ) 软件,用来管 理流程定义和流程实例执行时的运行时环境f 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 l l 8 j ( e x t e n s i b l em a r k u pl a n g u a g e ,x m l ) 脚本语言。 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 , j p d l ) ,它的业务逻辑定义没有采用目前的一些规范,如w f m c sx p d l 1 9 】( x m l p 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 ) 、b p m l l 2 0 1 ( b u s i n e s sp r o c e s sm o d e li n g l a n g u a g e ,b p m l ) 、e b x m 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 p l a n g u a g e ,e b x m l ) 、b p e l 4 w s 2 2 1 ( b u s i n e s sp r o e e s se x e c u t i o nl a n g u a g ef o rw e b s e r v i c e s ,b p e l 4 w s ) 等,而是采用了自定义的j p d l 。j p d l 认为一个业务流程可 以被看作是一个u m l 状态图,详细定义了这个状态图的每个部分,如起始、结束 状态,状态之间的转换等。j 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 ,j b p m 将数据的管理职能分离出去,自己专注于业务逻辑的处理【矧。 j b p m 只有最小的依赖,可以象使用j a v a 库一样非常容易的使用它。另外, 也可以将它部署在j 2 e e 集群应用服务器中,用在吞吐量极为关键的环境中。同 时j b p m 支持几乎所有常见的数据库,并且可以部署到任何应用服务器。 8 兰州大学硕士学位毕业论文 2 2j b p m 组件结构 j b p m 工作流引擎基本实现了w f m c 规范的四个接口,结合u m l 的建模方法, 使用j p d l 作为j b p m 的流程定义语言,使得工作流的建模更好的融入了整个软件 开发过程。j b p m 实现w f m c 模型规范的接口如图2 1 所示。 i 贬柞管理青 图2 一lj b p m 所实现w f m c 模型规范的接口图渊 j b p m 实现的w f m c 主要四个接口可以表述为1 2 5 】: 1 定义( d e f i n i t i o n ) :工作流系统的定义接口使流程开发人员能部署流程 定义。这里的“流程开发人员 可以是业务分析师和软件开发人员的组合。 2 执行( e x e c u t i o n ) :执行接口使用户和系统可以操作流程实例。流程实例 是流程定义的执行,流程定义的控制流通过状态机描述,执行接口的两个主要方 法是启动一个流程实例和通知工作流系统一个状态结束了。 3 应用( a p p l i c a t i o n ) :应用接口代表了由工作流系统发起的工作流系统和 外部系统之间的交互。当一个用户或系统操作一个流程实例的运行时,会生成一 些事件( 如一个迁移的执行) 。流程定义中可以指定一段响应一个事件的可执行代 码逻辑,这段代码和组织内外部的其他系统打交道。 9 兰州大学硕:b 学位毕业论文 4 监控( a u d i t ) :管理人员通过监控接口获得流程运行的确切数据,运行日 志也可用于审计。 为了实现w f m c 规范部件和接口的方法,j b p m 提供了一系列组件。j b p m 组件 结构如图2 - 2 所示。 毅姑厍 图2 - 2j b p m 组件结构图伫6 l 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 工作流引擎设计思想 工作流引擎的职责是非常清晰的:确保流程按照流程定义,从一个节点运行 到另一个节点,并正确执行当前节点。具体来讲,工作流引擎主要关注如下几个 方面的问题【2 7 l : 1 流程过程定义:采用何种方法来描述一个流程定义。 2 流程调度机制:提供什么样的机制,可以确保流程能够处理复杂的流程图 结构,如选择、并行、聚合等,并确保流程能从一个节点运行到另一个节点。 3 流程执行机制:当流程运行到某个节点的时候,需要一套机制来解决是否 1 0 兰州大学硕七学位毕业论文 执行此节点,并如何执行此节点的问题,同时维持节点状态生命周期。 4 流程实例对象:需要一整套流程实例对象来描述流程实例运行的状态和结 果。 2 3 1 流程过程定义 流程过程定义包括两个方面:流程过程建模及采用图形化的方式来定义流 程,其中流程过程建模是流程过程定义的核心。流程过程建模即如何定义一组对 象来形式化描述流型2 8 1 。在工作流的发展史上,采用过各种各样的模型,如p e t r i n e t ,f s m ,e p c i 2 9 】( e v e n t d r i v e np r o e e s sc h a i n ,e p c ) ,a c t i v i t yd i a g 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 有两种主要 作用:一种是执行j a v a 代码,如创建任务实例、发出通知、更新数据库等操作; 另一种是控制程序的执行,如离开当前节点、创建新的执行路径等【3 们。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 o r k 、j 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
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年一级建造师之一建市政公用工程实务能力检测试卷B卷附答案
- 肢体骨折术后康复的护理
- 雨课堂学堂在线学堂云《财政学(西南财大 )》单元测试考核答案
- 2026年(通讯维修工)理论知识考试题库及参考答案(巩固)
- 2026年衢州江山中学赴南京师范大学提前招聘新教师5人历年真题汇编及答案解析(夺冠)
- 2026重庆气象部门事业单位招聘应届生3人(一)历年真题汇编附答案解析
- 2025辽宁沈阳市医疗卫生系统面向部分医学院校应届毕业生招聘175人笔试模拟试卷带答案解析
- 2025江苏南京信息工程大学科研助理招聘1人(夏海云教授智能遥感工程研究院团队)参考题库带答案解析
- 中国移动上海产业研究院2025秋季校园招聘备考题库附答案
- 2026昭通仁德中学储备教师招聘(16人)历年真题汇编带答案解析
- 《中医舌诊》临床高清舌诊图附带解析史上
- 厨工岗位知识培训课件
- 【里斯】现制饮品出海品类研究报告
- 运动解剖骨盆讲解
- 国培计划返校汇报经验分享
- 光伏支架培训课件
- 人教版(2024)八年级上册英语:各单元必背语法知识点学案
- 围标串标管理办法
- 2025驾驶员安全教育培训
- 微波暗室安全管理办法
- 急性心梗病人的病情观察及护理要点
评论
0/150
提交评论