(计算机软件与理论专业论文)基于jbpm审批流程引擎的研究与实现.pdf_第1页
(计算机软件与理论专业论文)基于jbpm审批流程引擎的研究与实现.pdf_第2页
(计算机软件与理论专业论文)基于jbpm审批流程引擎的研究与实现.pdf_第3页
(计算机软件与理论专业论文)基于jbpm审批流程引擎的研究与实现.pdf_第4页
(计算机软件与理论专业论文)基于jbpm审批流程引擎的研究与实现.pdf_第5页
已阅读5页,还剩87页未读 继续免费阅读

(计算机软件与理论专业论文)基于jbpm审批流程引擎的研究与实现.pdf.pdf 免费下载

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

文档简介

摘要 摘要 为提高效率,政府和企业的事务处理需要更强有力的管理和控制。因此,信 息化管理成为日常管理的基本方法。工作流管理技术是其中的一种信息化管理方 法。工作流管理技术的核心是工作流建模技术。工作流模型的建立实现了过程逻 辑与应用逻辑的分离,具有良好的可实施性。它可以在不修改具体功能模块的情 况下,通过修改过程逻辑( 即工作流模型) 来改进系统性能,实现对管理过程的 集成化。这样就能够有效地把人、信息和应用工具合理地组织在一起,同时又能 够提高软件的重用率。一种基于j b p m ( j 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 p m 是一个面向流程的 工作流管理系统。它使业务分析人员能够与软件组件进行交互,有助于获得有效 的业务解决方案。 笔者在使用一种名叫m e t r o 的国外软件时发现:在退货审批程序中,提交后 就无法更改前一审批意见。据考察,国外类似软件普遍存在该问题。其本质原因 在于,国内与国外在组织设计和管理方式上存在一些差异。而国外软件设计人员 很难考虑到我国的实际情况。根据这一情况,本文提出一种支持“回退”、“会签”、 “跳跃”等运转模型的工作流管理系统。 同时,为了能够较好的处理复杂业务过程,本文还提出一种基于j b p m 动态 建模的柔性工作流管理技术。通过“黑盒子建模技术”、“子过程的重用技术”、“子 过程的模块化技术 三种技术手段来实现。其中,黑盒子建模技术可以通过其结 构上的优势给模型带来良好的扩展性。子过程的重用技术在业务流程不是特别明 确或者业务流程发生某种变化的时候使用。该技术通过对子过程节点的动态绑定 能够有效地增加系统的柔性。子过程的模块化技术主要解决业务流程的复杂性。 该技术可以使工作流在执行的时候具有较好的连贯性,同时降低工作流的复杂度, 提高工作流的可读性。 本文还通过重写n o d e 节点中的r e a d 、w d t e 、e x e c u t e 方法柬扩展流程节点类 型;用二维矩阵结构实现动态组织的分配;用泳道的思想实现动念角色的分配与 授权;通过搭配使用i o i n 和f o r k 节点、挂接a c t i o n 的方式实现处理并发子流程。 关键词:j b p m :审批;动态建模:工作流引擎:工作流管理系统 a b s t r a c t a b s t r a c t 1 1 1o r d e rt oi m p r o v ee 衔c i e n c y ,b u s i n e s s 仃e a t n l e l l to fg o v e n :1 n l e n t & c o m p a l l y r e q u i r e sm o r ep o w e r 如lm a n a g 咖e n t & c o n t r 0 1 s oi i l f i o m 撕o nm a n a g e n l e n t h a l s b e c 0 m e 锄i m p o r t a n tw a y i nd a i l ym a n a g e m e n t t h ew o r k n o wm 锄a g e m e n tt ec _ h n o l o g y i so n eo fm em e t h o d so fi n f o m a t i o nm a n a g 锄e n t t h ew o r k f l o wm o d e l i n gt e c t l l l o l o g y i st l l ec o r et e c i u l o l o g yo ft h ew o r k n o wm a u l a g 锄e n tt e c l l n o l o 百e s e s t a b l i s h m e n to fm e w o d ( n o wm o d e li m p l e m e n t st 1 1 es e p a r a t i o no fp r o c e s sl o 百c & 印p l i c a t i o n1 0 百cw h i c h h a sb e e nb 甜e rr e a l i z e d h l s t e a do fm o d i 研n gs p e c i f i c 向r l c t i o n a lm o d u l e ,t h r o u 曲 m o d i 所n gp r o c e s sl o 西c ( w o r k f l o wm o d e l ) ,i tc a l li m p r o v es y s t 锄m n c t i o na n dt u m i n t o m 锄a g e n l e n tp r o c e s si n t e 莎a t i o n t h u s u s e r s , i n f o m l a t i o na n dt o o l sc a nb e i n t e g r a t e de h e c t i v e l y ,t h es o f 啊a r er e u s a b i l i t yh a sa l s ob e e ni m p r o v e d w b r k n o w m a j l a g e m e i l ts y s t e m sb a l s e do nj b p m ( j a v a b u s i n e s sp r o c e s sm a i l a g e l l l e n t ) a r ep o p u l a r i n “sf i e l d i nw h i c hj b p mi sap r o c e s s - o r i e n t e dw o r k f l o wm a l l a g 锄e n ts y s t e n l i t e n a b l e sb u s i n e s sa 1 1 a l y s t st oi n t e r a c tw i t hs o m l ,a r ec o m p o n e n t sa n dc o n t m u t e st 0 e f f e c t i v eb u s i n e s ss o l u t i o n s 、枷e 1 1u s i n gaf o r e i 印s o 脚a r en 锄e dm e 仃d ,t h ea u m o rf o u n dt h a tt h ea u m o z e d o p i i l i o nc a nn o tb em o d i f i e da r e rs u b m i s s i o ni nr e t l l mg o o d s a p p r o v a lp r o c e s s i ti s p r o v e dt l l a tm a i l ys i m i l a rf o r e i 鳃s o 脚a r ep r o d u c t sh a v em es 锄ep r o b l e n l 1 1 1 eb a s i c r c a s o n1 i e si nt h a tt h e r ea r es o m ed i 虢r e n c e si no 唱a n i z a t i o n sd e s i g na n dm a j l a g e m e n t m e t h o d sb e t w e e l lh o m ea 1 1 do v e r s e a s t h ef o r e i 盟s o 胁a r ed e s i 伊e r sd ob a r e l yc o n s i d e r t h el o c a ls i t l l a t i o n a c c o r d i n gt 0t h i ss i t u a t i o n ,t h i st h e s i sp r o p o s e saw o r k f l o w m a j l a g e r n e n ts y s t e n l ,w h i c hs u p p o r t sm a l l yo p e r a t i o nm o d e i s ,s u c ha l s ”r e g r e s s i o n ”, ”c o u n t e r s i 印”,l j u m ” m e a l l w h i l ei no r d e rt od e a lw i t hc o m p l i c a t e db u s i n e s sp r o c e s sb e t t e r ,t h i sm e s i s s t i l lp r o p o s e saf l e x i b l ew o r l ( n o wm a n a g e m e n tt e c h n o l o g yb a s e do nj b p md y n a m i c m o d e l i n g t h i st e c h n o l o g yc a na c h i e v et h r o u 曲t h r e et e c h n i c a lm e a n s ,w h i c ha u r e ”b l a c k b o xm o d e l i n gt e c h n o l o g y ,r e u s eo fs u b p r o c e s st e c h n o l o g y ,”m o d u l a ro fs u b p r o c e s s t e c h n o l o g y ”t 1 1 eb l a c kb o xm o d e l i n gt e 6 h n o l o g yc a n 嘶n g ag o o de x p a n s i o nt ot h e m o d e lt t l r o u 曲t h ea d v a l l t a g eo ft h es t m c t u r e r e u s eo fs u b p r o c e s st e c h n o l o g yc a nb e r e a l i z e d 吼d e fm ec i r c u m s t a n c e so fm e b u s i n e s sp r o c e s si sn o tp a r t i c u l a r l yc l e a l ro rm e b u s i n e s sp m c e s sh 部s o m ec h a j l g e s t h i st e c h n 0 1 0 9 y c a ne 仃e c t i v e l ym c r e a s et h e f l e x i b i l i t yo ft h es y s t 锄t h r o u 曲d y n 锄i cb i n d i n g o ft l l e s u b p r o c e s s n o d e s m o d u l a r i z a t i o no ft h es u b p m c e s st e c h n 0 1 0 9 ym a i n l ys o l v e s t h ec o m p l e x l t yo tt h e b u s i n e s sp r o c e s s 1 1 1 i st e c h n o l o g yh 够g o o dc o h e r e n c ew h e l le x e c u t l n g m e a i l w m l e c o m p l e x i t yo fm ew o r k n o w i sr e d u c e d ,锄dt h er e a d a b i l i 够o f t h e 聃r o r k f l o wi si i n p r o v e d i i l “sm e s i s ,p r o c e s sn o d e 帅e sa r ee x p a i l d e d b yr e 州t i n gt l l em 劬o d so tr e a d , w r i t e e x e c u t ei nn o d e d ”锄i cs t m c n l r ed i s t r i b “o ni sr e a l i z e db y u s i n gt h es 仃u c t i l r e o f 锕o d i m e i l s i o n a la 盯a y d i s t r i b u t i o n a n da u t h o r i z a t i o n “m ed ) ,i l a m l cr o l e a r e r e a l i z e d b yu s i n gm es w i m l a n e a n dm u 州e s u b p r o c e s s i sr e a l i z e db yu s m gb e m e 饥 j o i na 1 1 df o r kn o d ea n da d d i n g a c t i o n l ( e yw 。r d s :j b p m ;e x a m i n ea n da p p r o v e ;d ”锄i cm 。d c l i n g ;w 。r k f l 。w e n 西n e ; w o r k f l o wm a n a g e m e i l ts y s t e m s 主要术语表 主要术语表 英文中文缩写备注 w b r k n o w 工作流用活动之间变化的过程来表示业 务的流程 w o r k n o wm a j l a g 锄e n t工作流 s y s t e m s 管理系统 p r o c e s sd e 矗i l i t i o n 流程定义 p r o c e s si n s t a n c e 流程实例 j a v ab u s i n e s sp r o c e s s m a n a g 锄e n t w 6 r k n o wc o n t r o ld a t a w o r l ( n o wr e l e v a n td a t a w o r k n o wa p p l i c a t i o n d a t a e n t e 叩r i s ea p p l i c a l i o n m t e 乎a t i o n a p p l i c a t i o n p r 0 笋a m m i n gi i l t e r f a c e e n t e r p r i s ej a v ab e a n s e x t e n s i b l em a r k u p l a j l g u a g e s e r v l e t 一种工作 流管理系统 工作流 控制数据 工作流 相关数据 工作流 应用数据 企业 应用集成 应用程序编 程接口 企业级 j a v a b e a n 组 件 一种可扩展 的标记语言 一种运行在 服务器端的 应用程序 w f m s使企业经营过程高效执行并监控 其执行过程的计算机软件系统 专指流程建模所得到的结果 解析流程定义文件后得到的一个 流程运行实体 j b p m一种灵活的、可扩展的开源工作流 管理系统 本文专指与过程或活动实例相关 的各种内部状态信息 用来定义工作流执行过程中需要 用到的数据 这种数据专指由应用程序操作的 数据 e a ie a i 是基于不同平台,用不同方案 建立的一种异构应用集成技术 a p i a p i 专指一系列复杂函数 e j b 专指一种用于开发基于组件的企 业多重应用的j a v a 程序 ) ( m l是一种简单的数据存储语言,使用 一系列标记描述数据 它能够以一种可移植的方法提供 动态的,面向用户的内容 v i 主要术语表 v i l 表索引 表索引 表4 一l 流程定义表3 5 表4 2 节点表3 5 表4 3 流程流转表3 6 表4 4 业务信息表3 6 表4 5 流程模块配置表3 7 表4 6 动态表单流程模块配置表3 7 表4 7 系统权限表4 3 表4 8 系统角色表4 3 表4 9 角色权限关联表4 4 表4 一1 0 系统角色人员关联表一4 4 表4 一1 1 测试描述表5 9 表4 一1 2 质量特性表6 0 表4 一1 3 软件缺陷分类统计表6l 表5 1 模型评价表6 3 x 图索引 图索引 图2 一l 串行模式图一4 图2 2 并行分叉模式图4 图2 3 同步模式图5 图2 4 多路选择模式圈。5 图2 5 简单汇集模式图5 图2 6 多重汇集模式图5 图2 7 路径鉴别器模式图。6 图2 8 流程实例状态转换图。6 图2 9 工作流引擎的应用体系架构图一7 图2 一1 0 工作流管理系统的架构图7 图3 一lj b p m 的体系结构图一l l 图3 2j b p m 的程序结构1 l 图3 3 瑁p m 的组件模型1 2 图3 4j b p m 内核引擎构架图一1 2 图3 5 流程推进图13 图3 6j b p m 的调度机制图1 3 图3 7 节点和转移的组合图1 7 图4 一l 工作流三层结构模型2 0 图4 2 工作流系统结构图2 1 图4 3 工作流系统用例图 2 l 图4 4 审批流程示例图2 2 图4 5 审批状态转换图一2 2 图4 6 审批业务处理时序图2 3 图4 7 流程执行过程图2 4 图4 8 同退模型图2 7 图4 9 跳转模型图2 8 图4 一1 0 流程定义模型类图一2 9 图4 1 1 过程到不同节点执行图2 9 图4 一1 2 审批流程引擎接口实现图3 0 图4 一1 3 过程模型处理类一3 3 图4 一1 4 事务处理类3 4 图4 一1 5 流转节点类3 5 图4 一1 6 流程的流转图一3 8 图4 一1 7 工作流的组织模型3 9 图4 一1 8 动态组织模犁。4 0 图4 一1 9 权限控制模型图4 0 图4 2 0 角色授权的过样模型4 2 图4 2 1 系统角色列表4 4 图4 2 2 系统角色4 5 图4 2 3 角色人员4 5 图4 2 4 人员树界面 。4 5 v i i i 图索弓 图4 2 5 人员权限列表4 6 图4 2 6 人员权限浏览编辑4 6 图4 2 7 人员权限编辑页面。4 6 图4 2 8 人员权限处理页面一4 7 图4 2 9 身份认证系统图4 8 图4 3 0 流程的部署4 9 图4 3 l 流程的卸载。5 0 图4 3 2 请假发文管理图。5 0 图4 3 3 填写表单5l 图4 3 4 代办列表5l 图4 3 5 部门审批5 2 图4 3 6 发送界面。5 2 图4 3 7 已办列表界面。5 3 图4 3 8 办结列表。5 3 图4 3 9 流程图界面5 4 图5 1 工作流流程定义元模型6 3 图5 2 节点的内部结构“ 图5 3 黑盒子表现图6 5 图5 4 子过程节点动态绑定图6 6 图5 5 子过程的模块化图6 6 图5 6 动态工作流执行流程图6 7 图5 7 流程的动态修改图6 8 i x 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名:厶垄蝮日期: 年月日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:腰堡兰垒导师签名: 日期:年月日 第一章绪论 1 1 本课题的研究意义 第一章绪论 工作流【l 】( w o r k n o w ) 是一类能够完全或者部分自动执行的经营过程,它根据 一系列过程中的规则、文档、信息或任务在不同执行者之间进行传递并执行。工 作流管理系统【2 l ( w o r k f l o wm a n a g e m e n ts y s t c 玎i s ,w f m s ) 是一个软件系统,它根据 计算机中预先定义好的工作流逻辑推进工作流实例的执行。而j b p m 【3 】( j a v a b u s i n e s sp r o c e s sm a i l a g 锄e n t ) 正是其中一种优秀的,灵活的,可扩展的,基于j 2 e e 的轻量级工作流管理系统。 国外在工作流领域做出了大量的研究工作。比较成熟的工作流引擎产品有: j b p m ,o p e n e b x m l ,w e r k f l o w ,o f b i z ,x f l o w ,p o w e r f l o d e r ,o p e i lb u s i n e s se n 百n e , z b u i l d e r ,o p e l l w f e ,b r e e z e 等。但是国外开发的工作流引擎不适合中国国情。如 j b o s s 公司所开发的j b p m ,其公文流转与政府或企业办公流程不适应。用其进行 工作流开发实现的引擎无法用于国内企业信息系统。因此,需要在其源代码级别 的基础上改进其工作流引擎,适合国内政企事业的需要。 本文在j b p m 的基础上进行二次开发,构建一个新工作流引擎。该引擎用于 实现国内政企事业审批流程项目,并用该项目验证引擎的正确性。 1 2 本课题的研究现状 1 、工作流管理的定义不明确以及缺乏统一的概念模型 目前,工作流管理发展的状况类似于7 0 年代初关系数据模型和e r 模型出现 以前数据库管理系统的发展状况。没有一个统一的标准【4 】,开发的产品大部分相互 之间不兼容。 总体来说,工作流的描述应当基于具有丰富语义表达功能的建模方法。这个 方法应当具有清晰性、一致性、易表达性和可扩充性。应当能足以表达:循环、 分枝、条件、路径选择、任务分配等。其语义应当能够定义控制流、数据流、资 源流,并且能够定义策略来处理这些流的中断。 2 、工作流管理系统的系统结构和能力上的不足 电子科技大学硕十学位论文 目前,工作流管理系统的不足表现在:( 1 ) 工作流产品不适用于企业级的工 作流管理。( 2 ) 工作流系统缺乏健壮性【5 】和可用性,没有备份机制和有效的恢复手 段。其容错问题基本上没有考虑,系统对于出错的恢复弹性极小。( 3 ) 工作流的 结构有一定的脆弱性,服务器的错误将导致整个工作流系统的失败。另外,集中 式服务容易形成瓶颈,因此很难对系统性能进行测量。( 4 ) 不同的工作流产品之 间缺乏互操作性。( 5 ) 大多数工作流产品的可视化建模方法都缺乏形式化语义【6 】。 1 3 本课题的研究内容 本课题研究的主要问题:( 1 ) 流程定义的设计与实现。该模块是企业过程计 算机化的表示。流程定义实现了对企业过程直观的,图形化的描述。( 2 ) 引擎接 口的设计与实现。本系统提供了六大接口:流程部署管理接口;流程运行管 理接口;流程任务接收处理接口;节点处理接口;界面生成处理接口; 流程流转接口。( 3 ) 数据库的设计与实现。主要针对过程模型处理,事务处理和 流转节点三个模块的设计,并且事先需要分清他们之间的关系。( 4 ) 组织权限的 设计与实现。在传统基于角色的存取控制方法上,对组织模型和角色分配与授权 进行动态扩展。( 5 ) 柔性建模技术的研究。为了提高工作流系统的灵活性,增强 适应各种环境变化的能力。本文提出某些动态建模技术,如黑盒子建模技术、子 过程重用技术、子过程模块化技术。并进一步研究系统在过程运行时,对工作流 过程模型进行的某方面的修改。 1 4 论文组织 本论文其余部分组织如下: 第二章,工作流引擎概述。详细介绍工作流引擎对流程运行模型和流程实例 状态转换的控制过程,阐述工作流引擎的应用体系架构和管理系统架构。 第三章,j b p m 概述。分析了j b p m 的体系结构、j b p m 的程序结构、j b p m 的组件结构、j b p m 的内核架构、j b p m 的过程调度机制、j b p m 引擎的执行机制, 以及对j b p m 流程节点和流程定义进行详细解析。 第四章,流程引擎的研究与实现。提出工作流引擎的总体设计方案,包括对 工作流三层结构模型的设计、对工作流系统结构的设计,对工作流系统功能模型 的分析、对审批系统模型的设计、对审批系统状态的设计、对审批业务处理时序 第一章绪论 的分析、对审批流程执行过程的分析等。并对其中的部分模块进行重点研究,包 括对流程节点类型扩展的研究、对流程运转模型扩展的研究、对流程定义设计的 研究、对引擎接口设计的研究、对数据库设计的研究、对流转表设计的研究、对 组织权限设计的研究、对出错处理设计的研究,对质量属性设计的研究,以及对 工作流系统界面设计的研究。最后,做了一些软件系统的测试。 第五章,流程引擎的进一步研究。本章首先比较了几种典型的建模技术,再 提出一种基于柔性工作流系统的动态建模技术。该技术包括“黑盒子建模技术”、 “子过程的重用技术、“子过程的模块化技术”。并对工作流系统进行了动态扩充, 支持对流程实例的动态配置,对流程路径、节点、连接弧等的动态修改。 第六章,遇到的问题和解决方案。包括解决并发子流程的问题,解决更新子 流程的同时也更新父流程的问题,解决通过定时器实现日程调度的问题,解决通 过搭配使用j o i n 和f b r k 实现访问互斥任务的问题等。 第七章,总结与展望。归纳了本课题研究的内容,以及本系统主要的特点。 并对本课题的前景进行了展望。 1 5 本章小结 本章简要描述了本课题研究的意义、现状、内容,以及论文组织。工作流技 术作为一种有效的协调企业不同部门共同工作的手段,正日益引起企业的重视, 并不断向前发展。 电子科技人学硕+ 学位论文 2 1 工作流引擎简介 第二章工作流引擎概述 工作流引擎是一个以过程为中心的系统,所有的运行都是根据数据进行驱动 的。对于一个流程来说,每个逻辑单元都代表着一个流程实际业务的逻辑功能。 在流程实例的生存期内,状态是重要的控制数据。它通过改变当前流程实例的状 态,控制应用的工作状态。而工作流引擎的任务就是按照流程定义( p r o c e s s d e f i i l i t i o n ) 的规则控制流程实例( p r o c e s si n s t a i l c e ) 的状态转换。 2 1 1 引擎支持的结构 引擎支持的过程结构有顺序,选择,并发等。根据建模提供的过程模型【7 】实例 化流程。在具体的设计中,可以使用下面几种模式的不同组合来表达所有工作流 的流向。即使用以下几种最基本的流向模式来处理最复杂的工作流业务流程。 1 、串行流动( s 喇a lf l o w ) 是目前使用的一种最简单的状态流动方式。节点按顺序一个接一个的执行。 通常,它们之间存在清晰的依赖关系。例如:前一个节点的结果是后一个节点的 输入。如图2 1 所示: c 卜_ 图2 一l 串行模式图 2 、并行分叉( p a l r a l l e ls p l i t ) 一个节点执行完成后,其后面的两个或两个以上的节点都需要被执行。它们 相互平行,互不影响。如图2 2 所示: 3 、同步( s ”c h r o n i z a t i o n ) 图2 2 并行分义模式图 4 第二章工作流弓 擎概述 某一节点必须等到前面平行执行的所有节点都执行完成后,才可以被执行。 如图2 3 所示: 图2 3 同步模式图 4 、多路选择( m u l t i p l ec h o i c e ) 一个节点执行完成后,其后面的两个或两个以上的节点根据一定的规则,只 有一个节点被执行。如图2 4 所示: 图2 4 多路选择模式图 5 、简单汇集( s i m p l ej o i n ) 在流程中的某个节点,需将两个或更多可选分支非同步的聚合为一条,其中 任何一支的到达都将触发后续节点。如图2 5 所示: 图2 5 简单汇集模式图 6 、多重汇集( m u l t i p l em e r g e ) 当一个合并中存在多于一条分支的流入被激活时,需要对每条流入被激活的 分支响应一次( 如下图中的d 可能被实例化1 2 次) 。如图2 6 所示: 图2 6 多重汇集模式图 7 、路径鉴别器( d i s c r i m i n a t o r ) 在流程的某点,激活后续任务之前需要等待许多流入分支的完成。例如:一 篇论文需被送给外部审阅者。如果两个评价皆为正,则论文被接受:如果第一个 电子科技人学硕十学位论文 评价为负,应提示作者,不必等待第二个评价。如图2 7 所示: 2 1 2 引擎的具体任务 图2 7 路径鉴别器模式图 已完 成的 实例 文j 墓 么 链表 启动l 挂起夕缘i 卜- i 图2 8 流程实例状态转换图 简单的说,引擎的任务是控制流程实例的状态转换。从图2 8 中可知,当流 程实例生成后,该流程实例处于“初始”态。但是在此同时,该过程实例并没有 满足开始执行的条件。当该流程实例满足开始条件后,进入“准备运行”状斜8 1 。 但是在此同时,还不满足开始执行第一个活动并生成一个任务项的条件。当第一 个活动实例开始执行,该流程实例进入“执行中”状态。当该流程实例的所有活 动实例执行结束,则回到“准备运行”状态。当满足结束条件时,该流程实例执 行完毕,进入“结束”状斛9 1 。在这一流程中,当流程实例处于“准备执行 状态, 可能因为某种原因而处于静止状态,即“挂起 状态,直到这个资源得到满足后 重新回到“准备执行”状态【l o 】。此外,在流程实例正常结束前,可能会因为某种 原因而被迫终止,工作流实例转入“终止 态。此时,工作流管理系统将执行补 救措施,删除该流程实例【1 1 1 。对完成的流程实例,控制系统将把它移出工作流运 转系统,挂入完成实例队列中。这样就可以保证系统中完成的实例不再占用系统 资源,从而避免了对活动实例处理的效率影响。 2 2 工作流引擎架构 2 2 1 引擎应用体系架构 采用基于j 2 e e 的b s 结构【。2 1 ,其应用服务器选用t o m c a t 5 0 2 8 。流程引擎 6 第二章工作流引擎概述 的应用体系架构如图2 9 所示: 厂 、 厂、 浏览器k 7 j 2 e e 服务器 、 、l 一 w 曲容器 斗 数据库 应用程 l s e r v l e tl lj s p 页l 、一 序端容器 l 工 一 7、 应用程序 i 1w 曲容器 4 数据库 客户端 客户端机器 l i e n t e r p 妇b e a nl 、l 图2 9 工作流引擎的应用体系架构图 数据库平台选用o r a c l e 数据库。o r a c l e 是以高级结构化查询语言( s q l ) 为基 础的大型关系数据库,是目前最流行的数据库之一。同时o r a c l e 提供高级安全性 解决方案,保证数据的安全性和完整性。在本系统中,使用o r a c l e9 i 系列的版本。 2 2 2 引擎管理系统架构 图2 一1 0 工作流管理系统的架构图 引擎的总体结构【l3 1 如图2 一1 0 所示,对主要部分的说明有:( 1 ) 流程定义工具 【1 4 】( p r o c e s sd e f i n i t i o nt 0 0 l s ) :可以作为工作流产品的一部分;也可以作为业务过 程分析产品的一部分柬提供给用户。作为业务过程分析产品的一部分,会有其他 的组件来负责处理业务过程的分析或者模型。这时,必须要有兼容的转换格式, 与运行时期的工作流软件进行过程定义的相互转换。( 2 ) 流程定义【1 5 】( p m c e s s 电子科技大学硕十学位论文 d e 6 n i t i o n ) :用来创建一个计算机可以处理的形式化流程描述。可能要以形式化的 过程定义语言,对象关系模型,简单的系统、脚本,或者在参与者之间进行信息 传递的路径集作为基础。( 3 ) 工作流执行服务器【1 6 】( w 6 r k n o we n a c t m e n ts e r v i c e ) : 负责解释流程定义、控制流程实例、安排活动的执行顺序、向用户工作表中添加 工作项目、调用应用工具等。这需要一个或者多个协同工作的工作流引擎来完成 这些职责。工作流执行服务器维护内部控制数据,这些数据或者集中于一个工作 流引擎中,或者分布在一个工作引擎集合中。( 4 ) 工作流相关数据和应用数据 ( w b r k n o wr e l e v a j l td a t aa 1 1 da p p l i c a t i o nd a t a ) :流程导航或工作流引擎中的其他 控制操作,都是以工作流应用程序【l7 】的产生或更新的数据为基础的。这些数据可 以被工作流引擎所访问。但是工作流相关数据却是工作流引擎唯一可访问的应用 程序数据。尽管,工作流引擎负责在应用程序之间传递工作流应用程序数据,但 是工作流应用程序数据却是直接由被调用的过程所操作的。( 5 ) 任务表( w | o r kl i s t ) : 是过程在执行中需要与用户交互的地方。工作流引擎把相关的任务添加到任务表 中,以便任务表处理器对其任务进行处理。( 6 ) 任务表处理器与用户接口( w b r kl i s t h a n d l e r & u s e ri i l t e 血c e ) :任务表处理器【1 8 】是一个对外的软件模块,用于管理工作 流参与者与工作流执行服务器之间的交互。它负责请求用户所关心的,在进行中 的任务。并通过任务表与工作流执行服务器进行交互。用户接口【l9 】是一个单独的 软件组件,负责提示和处理用户对话框,并控制本地用户的本地接口【2 0 1 。 2 3 本章小结 工作流引擎为工作流实例提供执行环境,它是工作流管理系统的核心服务。 本章描述了工作流引擎对流程运行模型和流程实例状态转换的控制过程,并介绍 了工作流引擎的应用体系架构和管理系统架构。 第三章j b p m 概述 3 1j b p m 简介 第三章j b p m 概述 j b p m 是一种灵活、可扩展洲的工作流管理系统。它将工作流应用开发的便利 性和杰出的企业应用集成【2 2 1 ( e a i ) 能力完美的结合了起来,它包括一个w 曲应 用程序和一个日程安排程序。同时,j b p m 是一组j 2 e e 组件,可以作为j 2 e e 应 用集群部署。j b p m 结合应用了状态机2 3 1 、i _ m l 活动图【2 4 1 、p 嘶n e t 算法【2 5 1 三方 面的知识,利用状态机控制工作流状态变迁的基础,扩充了活动图的建模能力。 3 1 1j b p m 安装和配置 目前,j b o s sj b p m 3 版本至少需要在j 2 e e l 4 2 的j a v a 环境下运行。j b p m 包 含很多配置文件,如j b p m 配置文件、h i b e n l a t e 配置文件、日历配置文件等。为 了方便使用,j b p m 对这些配置文件相应的项都进行了默认设置,可以直接使用。 l 、a n t 安装 安装a n t 的方法:( 1 ) 到网站h 堑:垒吐i 鲨:鸳堑:q 巡盘型垫进i 塾堑曼墨下载压 缩包a m t 。( 2 ) 将包解压到e :印a c h e a n t 1 7 o 。( 3 ) 设置系统变量: a n th o m e = e :a p a c h e a 1 1 t 1 7 0 。( 4 ) 把a n th o m e b i n 加到p a t h 中。 2 、安装j b p m 安装j b p m 的方法:( 1 ) 到j b p m 的网站下载j b o s sj b p ms t a r t e r s 硒t 。其网 址为:h 鲤;厶刍丛型j 鱼箜墨:曼q 型p 殴盘盟墨石坠p 世亟q 竖n ! q 煎跏( 2 ) 下载后解压到 e :、j b p m - s t a r t e r s k i t 3 1 。 3 、配置参数 1 ) 配置e :j b p m - s t a n e r s k i t 一3 1 2 j b p m d b b u i l d p r o p e r t i e s 文件中的如下参数: j b p m 3 1 0 c a t i o n = 4 b p m 3 2 ) 配置e :j b p m s t 矾e f s k i t 一3 1 2 j b p m 3 b u i l d p r o p e f t i e s 文件中的如下参数: ( 1 ) a n t o m e = c :s o r w a r e a p a

温馨提示

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

评论

0/150

提交评论