(计算机软件与理论专业论文)业务流程柔性配置的研究和实现.pdf_第1页
(计算机软件与理论专业论文)业务流程柔性配置的研究和实现.pdf_第2页
(计算机软件与理论专业论文)业务流程柔性配置的研究和实现.pdf_第3页
(计算机软件与理论专业论文)业务流程柔性配置的研究和实现.pdf_第4页
(计算机软件与理论专业论文)业务流程柔性配置的研究和实现.pdf_第5页
已阅读5页,还剩65页未读 继续免费阅读

(计算机软件与理论专业论文)业务流程柔性配置的研究和实现.pdf.pdf 免费下载

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

文档简介

中文摘要 中文摘要 随着信息化的快速发展,任何简单的信息系统都要处理流程问题。工作流 概念将以往企业中独立、分散的企业业务流程互相联系,从而极大的提高了过 程管理的效率,实现企业业务过程重组、并行工程、敏捷制造等先进企业管理 理念。 本文实现了一个柔性可配置轻量级工作流引擎系统。引擎系统分流程建模 和流程执行两个阶段来执行。 在流程建模阶段,用户完成业务流程的定义,引擎系统主要实现解析和细 化配置功能。主要方法是用户使用工具j a w e 进行可视化建模,生成x p d l 格式 的流程定义文件;流程定义解析模块解析x p d l 流程定义文件,并将解析出的流 程定义元素的具体数据存入数据库中对应的表中,形成与x p d l 格式流程定义对 应的基于数据库的流程定义;流程细化配置模块负责为基于数据库的流程定义 配置相关页面和组件,形成具有依赖关系的业务处理系统。配置的具体内容包 括:为流程的活动配置执行单元( 包括活动执行页面和活动业务逻辑执行组件) 、 为流程配置工作流相关数据映射组件、配置并执行参与者指派组件。 在业务流程执行阶段,引擎系统实现了控制流程活动执行过程、条件解析、 前项依赖规则检查和后转发规则控制、参与者指派、工作项管理、任务指派、 日志管理和异常处理等功能。同时,本文还设计实现了基于t o k e n 的引擎执行 控制机制,使得引擎系统对其所在业务系统中的业务流程执行过程的控制准确 而有效率。 本文引擎采用适当的流程定义管理策略,实现对流程运行时修改流程定义 的支持;同时引擎基于组件配置的方式形成业务系统,这些配置的组件在流程 执行前可替换,在流程执行后但不影响已执行流程时也可替换。以上两种方式 使应用引擎的业务系统具有较大的柔性。 本文引擎已成功应用在某制药企业的项目管理平台中,取得了良好的应用效 果。本文以平台中一个实际的业务流程为例,给出了应用本工作流引擎的过程。 关键词:工作流引擎柔性可配置x p d l 流程 a b s t r a c t ab s t r a c t w i t ht h er a p i dd e v e l o p m e n to fi n f o r m a t i z a t i o n , a l li n f o r m a t i o ns y s t e m sh a v et o d e a lw i t ht h ei s s u eo fc o n t r o l l i n gp r o c e s s t h ec o n c e p to fw o r k f l o wi n t e g r a t e st h e b u s i n e s sp r o c e s s e so fe n t e r p r i s et h a tw a si n d e p e n d e n ta n dd i s t r i b u t e di nt h ep a s t , w h i c hg r e a t l yi m p r o v e st h e e f f i c i e n c yo fp r o c e s sm a n a g e m e n ta n dr e a l i z e st h e a d v a n c e d e n t e r p r i s em a n a g e m e n t s u c ha s e n t e r p r i s e b u s i n e s s r e o r g a n i z a t i o n , c o n c u r r e n te n g i n e e r i n ga n da g i l em a n u f a c t u r i n ge t c t h i sp a p e rp u t sf o r w a r daf l e x i b l ea n dc o n f i g u r a b l ew o r k f l o we n g i n em o d e l , w h i c hc o n s i s t so fap r o c e s sm o d e l i n gp h a s ea n dp r o c e s se x e c u t i n gp h a s e i nt h ef i r s t p h a s e ,u s e rs p e c i f i e st h ed e f i n i t i o no fw o r k f l o wa n dt h ee n g i n ea r er e s p o n s i b l ef o r p a r s i n ga n dr e f i n i n go nt h ec o n f i g u r a t i o n i nd e t a i l t h eu s e rm o d e l sw o r k f l o ww i t h j a w ei nav i s u a l i z e dw a ya n dp r o d u c et h ed e f i n i t i o nf i l ei nx p d lf o r m a t ,w h i l e p a r s i n gm o d u l eo fe n g i n es t o r ed a t ao fe l e m e n t sd e f i n e di nx p d lf i l ei n t ot a b l e si n d a t a b a s e t h o s et a b l e sa r ew o r k f l o wd e f i n i t i o n sb a s e do nd a t a b a s e t h er e f i n i n g c o n f i g u r a t i o nm o d u l ep r o v i d e st h er e l a t e dp a g e sa n df l o wd e f i n i t i o n sc o r r e s p o n d i n g t od e f i n i t i o n si n d a t a b a s e ,f o r m i n g ap r o c e s s i n g s y s t e m w i t h d e p e n d e n c y c o n f i g u r a t i o n si n c l u d ee x e c u t i o nu n i t s ( a c t i v i t yp a g ea n de x e c u t i o nl o g i cc o m p o n e n t ) , d a t am a p p i n gc o m p o n e n ta n do t h e rc o m p o n e n t sa s s i g n e db yp a r t i c i p a n t s i nt h es e c o n dp h a s e ,t h ee n g i n ei m p l e m e n t sw o r k f l o wc o n t r o l ,a n a l y s i so f c o n d i t i o n s ,p r e c o n d i t i o nc h e c k i n g a n d p o s t c o n d i t i o nm a n a g e m e n t ,p a r t i c i p a n t s a s s i g n m e n t ,w o r ki t e mm a n a g e m e n t ,t a s ka s s i g n m e n t , l o gm a n a g e m e n ta n de x c e p t i o n h a n d l i n g ,e t c f u r t h e r m o r e ? w ed e s i g na n di m p l e m e n tat o k e n - b a s e de x e c u t i o n c o n t r o lm e c h a n i s m ,w h i c hm a k e st h ee n g i n e se x e c u t i o n p r o c e s sa c c u r a t ea n d e f f i c i e n t w i t hap r o p e rp o l i c yo fw o r k f l o wd e f i n i t i o nm a n a g e m e n t ,o u re n g i n ea r ec a p a b l e o fm o d i f y i n gd e f i n i t i o n sd y n a m i c a l l yi ne x e c u t i o ns t a g e m e a n w h i l e ,t h ee n g i n ea r e c o m p o s e do fc o m p o n e n t st h a tc a nb er e p l a c e db e f o r eo ra f t e re x e c u t i o na sl o n ga s e x i s t i n gp r o c e s sa r en o ta f f e c t e d t h e s et w op o i n t sm a k et h ee n g i n em o r ef e x i b l e 1 i a b s t r a c t t h ee n g i n eh a sb e e ns u c c e s s f u l l yu s e di nap r o j e c tm a n a g e m e n tp l a t f o r mo fa p h a r m a c e u t i c a le n t e r p r i s e i nt h i sp a p e r , w et a k eap r a c t i c a lb u s i n e s sp r o c e s si nt h e p l a t f o r ma sa ne x a m p l ea n dg i v et h ea p p l i c a t i o no fo u re n g i n e k e yw o r d s :w o r k f l o we n g i n e :f l e x i b i l i t y ;c o n f i g u r a b l e ;x p d l ;p r o c e s s i i i 表目录 表目录 表3 1流程信息表1 3 表3 2 参与者信息表1 4 表3 3员工填写并提交a 级立项论证报告活动信息表1 5 表3 4 部门经理审批活动信息表一1 5 表3 5 部门主管审批活动信息表1 6 表3 6 项目办主任审批活动信息表1 6 表3 7 工作流相关数据“密级”信息表1 7 表3 8 员工填写并提交a 级立项论证报告到部门经理审批转移信息表1 8 表3 9 部门经理审批到部门主管审批的转移的信息表1 8 表3 1 0 部门主管审批到项目办主任审批的转移的信息表1 8 表3 1 1员工填写并提交a 级立项论证报告到项目办主任审批转移信息表 19 表4 1条件表达式中运算符列表4 1 i x 图目录 图2 1 图2 2 图2 3 图2 4 图3 1 图3 2 图3 3 图3 4 图3 5 图3 6 图3 7 图3 8 图3 9 图3 1 0 图3 1 1 图4 1 图4 2 图4 3 图4 4 图4 5 图4 6 图4 7 图4 8 图4 9 图4 1 0 图4 1 1 图5 1 图5 2 图目录 引擎系统与应用用户分工图4 利用引擎构建的业务系统的整体结构结构图5 引擎系统的模块组成结构图6 业务流程建模与执行的整体过程示意图8 a 级立项论证报告处理过程图一1 2 工作流流转模式图15 a 级立项申请论证报告审批流程建模图1 9 流程定义解析过程图一2 2 流程定义相关表的e r 图2 3 w o r k f l o w d e f p a r s e 类图2 6 x p d l 元素、类和数据库表的转换关系图2 7 元素解析过程图2 8 r e l e v a n t d a t a 类图31 工作流相关数据映射过程图3 2 参与者指派模型对应的数据库e r 图3 2 流程运行时数据模型e r 图3 5 w o r k f l o w e n g i n e 类图3 7 a c t v i t y 类图3 8 系统触发的活动执行过程3 9 人工触发的活动执行过程4 0 c o n d i t i o n 类图4 1 t o k e n 做为检查活动可执行的条件示意图4 3 w o r k i t e m 类图4 6 获取活动执行者整体过程图4 7 获取活动执行者整体过程中元素关系图4 8 流程实例的状态变迁图4 9 流程定义上传并解析页面5 2 管理员流程定义列表页5 2 v i i 图目录 图5 3 流程细化配置页5 3 图5 4 流程定义列表页面5 3 图5 5 任务列表页5 4 图5 6 管理流程实例页面一5 4 图5 7a 级立项论证报告完成审批后界面5 5 v i i i 南开大学学位论文版权使用授权书 本人完全了解南开大学关于收集、保存、使用学位论文的规定, 同意如下各项内容:按照学校要求提交学位论文的印刷本和电子版 本;学校有权保存学位论文的印刷本和电子版,并采用影印、缩印、 扫描、数字化或其它手段保存论文;学校有权提供目录检索以及提供 本学位论文全文或者部分的阅览服务;学校有权按有关规定向国家有 关部门或者机构送交论文的复印件和电子版;在不以赢利为目的的前 提下,学校可以适当复制论文的部分或全部内容用于学术活动。 学位论文作者签名:杞擘讲 , 坳9 年月日 经指导教师同意,本学位论文属于保密,在年解密后适用 本授权书。 指导教师签名:学位论文作者签名: 解密时间:年月 日 各密级的最长保密年限及书写格式规定如下: 内部5 年( 最长5 年,可少于5 年) 秘密1 0 年( 最长1 0 年,可少于1 0 年) 机密2 0 年( 最长2 0 年,可少于2 0 年) 南开大学学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师指导下,进行 研究工作所取得的成果。除文中已经注明引用的内容外,本学位论文 的研究成果不包含任何他人创作的、己公开发表或者没有公开发表的 作品的内容。对本论文所涉及的研究工作做出贡献的其他个人和集 体,均已在文中以明确方式标明。本学位论文原创性声明的法律责任 由本人承担。 学位论文作者签名:亿碌霉寸 卅年6 月;日 第一章绪论 第一章绪论 第一节背景 随着信息化的快速发展,任何简单的信息系统都要处理流程问题。工作流 1 】 技术是一种旨在实现业务流程自动化管理的技术,它起源于上世纪七十年代, 在上世纪八十年代得到了学术界的广泛关注和深入研究,特别是上世纪九十年 代信息技术的快速发展大大促进了工作流管理系统的开发和应用。但从整体来 看工作流技术的研究还处于发展阶段,理论还不成熟,还有很多关键技术需要 研究。特别是随着市场竞争的全球化,企业在发展过程中面临越来越大的竞争 压力,为了赢得市场竞争,企业必须不断地调整自身的业务过程,优化资源组 合,提升自己的核心竞争力。这样就使得越来越多的工作流不再是静态的流程, 它们常常需要在运行的过程中进行实时修改以快速响应需求的变化。传统的工 作流管理系统缺乏柔性皿儿3 | ,不能满足不断调整的业务过程管理需要。因此近年 来,工作流的柔性技术成为人们研究的热点。 本文分析了一般的不同关键业务的基本特征,基于关系数据库1 4 】,开发了业 务流程可以柔性配置的轻量级工作流引擎。利用此工作流引擎和流程活动处理 单元,经过简单的配置就可方便地构造出具有工作流特征的业务系统。方法是: 用户先根据具体业务流程建立基于活动图的流程定义模型【5 】,并为该流程定义模 型中各个业务活动配置执行单元( 完成组件设计) ,然后把这些业务活动利用引擎 形成协同控制的约束联系起来,以完成整个业务流程的执行过程。因此,该引 擎具有相当的柔性,能够通过对流程定义版本1 6 】的管理、配置执行单元的更改等 方式灵活的应对业务流程的变更。本文实现的引擎在某制药企业的项目管理系 统的审批业务流程中得到应用。 第二节国内外研究状况综述 工作流的概念起源于生产组织和办公自动化领域。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 ) 的成立标志着工作流技术开始进入 相对成熟的阶段。近年来,随着工作流管理系统需求的不断增加,工作流的相 第一苹绪论 应研究也继续迅速的发展。目前,国内外已有数百种商业产品和众多的开源工 作流产品。 其中,国外比较典型的产品包括:i b m 公司的w e b s p h e r em qw b r k f l o w 7 1 , a c t i o n 技术公司的a c t i o nm e t r o ,f i l e n e t 公司的v i s u a lw o r k f l o ,j e t f o r m 公司的 i n t e m p o 等f 8 】o 工作流技术在国内研究起步较晚,产品相对缺少,包括:杭州信雅达系统 工程股份有限公司开发的s u n f l o w ,西安协同数码股份有限公司开发的协同工作 流( s y n c h r o f l o w ) ,上海东兰科技开发的企业级工作流管理系统l i v e f l o w 等。 另外开源社区也提供了许多流行的工作流产品,这其中比较著名的有 j b p m 、o s w o r k f l o w 、s h a r k 、w f m o p e n 、f o b i z 、b i g b r o s sb o s s a 、o p e n w f e 等。 但是目前大部分工作流产品只允许在定义时对流程定义进行编辑和修改, 一旦流程运行之后就不能再对其进行修改。这种限制使得它们仅适用于那些结 构合理、运行时实际业务流程与定义时计算机表示的流程完全吻合以及不需要 动态扩展的业务流程。但是实际的业务流程中有一些不是静态的,难以预测的 意外事件或者业务需求的变化往往会导致实际的业务过程与预定义的工作流过 程存在偏差,这种情况的经常发生极大的限制了工作流管理系统的应用范围。 针对此,人们开始研究具有柔性的工作流。 文献 9 】对工作流面临的异常变更的分类及其对流程的不同影响进行了简单 的讨论,在此基础上,总结了柔性工作流系统应具有的功能特点。 文献 1 0 】给出了高级元模型方法,利用集成环境a d o m e 支持的面向对象、 角色、规则等,利用e c a ( e v e n t c o n d i t i o n a c t i o n ) 规则,采用异常处理方式,对不 同变更情况进行处理。 文献【1 1 】针对流程实例替换过程中出现的重复工作、跳过任务及忽略任务截 止日期等问题,提出了一种方法来计算“安全变更域”,如果一个流程实例在该 域中,则推迟该实例的变更。 文献【1 2 】通过基于工作流规范模型的暂时逻辑描述柔性工作流,开发了原型 系统,很好解决了工作流系统中选择与变更的问题。 通过认真研究工作流相关理论规范,总结前人在工作流及工作流柔性技术 研究方面取得成果的基础上,本文设计了柔性可配置工作流引擎系统。该引擎 主要通过流程定义管理策略和基于组件的可配置结构来提高系统的柔性,应对 业务流程的变更。并且该模型结构灵活、易于集成、使用方便,能够满足一般 2 第一章绪论 业务流程控制和对柔性的需求。 第三节论文内容与组织结构 本文主要研究业务流程可柔性配置的工作流引擎实现,侧重于分离业务流 程的流转控制信息和业务流程活动的执行逻辑。业务流转控制信息由用户在建 模阶段通过流程定义给出;业务流程活动的执行逻辑由用户通过相应的执行组 件提供。然后只需要经过简单的配置,流程流转控制信息和流程活动执行逻辑 就能很好的结合在一起,在工作流引擎的控制下一起完成实际的业务流程活动。 本文共分为六个部分,具体结构如下: 第一章主要介绍了论文研究背景,综述了国内外研究现状,然后介绍了论 文的主要工作,最后给出了论文的组织结构。 第二章给出了一种可对业务流程进行柔性配置的工作流引擎的总体设计、 工作流引擎的组成结构以及基于工作流引擎的业务流程执行的整体过程。 第三章给出了业务流程可视化建模过程的实现。给出了建模方法和建模工 具,按照一个实际业务流程给出了建模过程和建模结果,包括:利用建模工具 进行可视化建模、流程定义解析和业务流程建模细化配置的工作。经过建模过 程,工作流引擎和业务活动无缝集成形成可执行的业务系统。 第四章给出了引擎执行模块的设计与实现,该模块实现了活动的执行、条 件解析、基于t o k e n 的引擎执行控制、前依赖规则检查和后转发规则控制、工作 项管理和任务指派等功能。同时,该章还给出了流程监控模块、日志管理和异 常处理模块的实现。 第五章给出了本文工作流引擎在和实际项目管理系统中的应用方法和效 果。 第六章是对全文总结,概括了本文中所实现系统的特点,同时也指出了其 不足和未来需进一步完善之处。 3 第二章工作流引擎系统的总体设计 第二章工作流引擎系统的总体设计 本章给出了本文工作流引擎系统的总体设计。然后,分析了该引擎系统的 总体执行过程。 第一节工作流引擎系统结构 本文主要实现一个可柔性配置的工作流引擎,为此,需要开展的工作主要 有两块,一块是以图形化方式形成工作流,二是工作流在其他实际业务系统的 应集成用。其中,第一部分的工作借助j a w e 工具定义和形成可视化的流程,该 工具负责形成可视化的工作流以及工作流的描述x p d l 文件;第二块工作是本 文的主要工作,即,工作流引擎的设计和实现,该引擎依赖j a w e 工具形成的工 作流定义文件,完成对该文件中的流程五元素的解析、细化配置、和业务流程 的集成、执行。 本文引擎系统对活动逻辑执行、工作流相关数据获取、参与者指派等功能 采用基于组件的实现方式,使得在使用该引擎系统开发工作流管理系统时,系 统结构清晰,引擎应用用户与引擎系统分工明确。分工图如图所示: 工作流引擎引擎应用用户 i 一可视化建模 之上 i 编写执行页和 :册1 组件并注册 图2 1引擎系统与应用用户分工图 引擎系统应用用户做两个步骤的工作即可使用引擎系统组成实际的业务处 4 第二苹工作流引擎系统的总体设计 理系统:首先,用户在分析实际业务流程信息的基础上使用j a w e 工具建立图形 化的流程定义,并生成x p d l 格式流程定义文件,用户将x p d l 格式流程定义 文件导入系统并由系统解析。然后,用户开发处理业务流程活动的执行页面和 相关组件,并通过引擎提供的流程细化配置页面注册这些页面和组件。这样, 用户就利用引擎构建出一个实际的业务系统了。 利用引擎构建的业务系统的整体结构如下图所示: 流程建模工具 使用引擎的客户程彦 模型构造器 1 工作流引擎 模型解析器 引 流 且弭 建模 擎程 口志 辅助 执 监 管理 模块 行控 和 ; 模模 异常 块块 处理 x p d l ) 啪 一摹数据库持久化模块 图2 2 利用引擎构建的业务系统的整体结构结构图 本文设计的工作流引擎包括建模辅助模块、引擎执行模块、流程监控模块、 日志管理和异常处理模块。引擎系统的模块组成结构如下图所示: 5 第二章工作流引擎系统的总体设计 图2 3 引擎系统的模块组成结构图 下面分别给出各个模块实现的功能: 1 ) 建模辅助模块又分为流程定义解析模块和流程细化配置模块。建模时, 用户使用外部工具j a w e ( j a v aw o r k f l o we d it o r ) 进行可视化建模,形成x p d l ( x m lp 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 ) 引擎执行模块是本文引擎系统的核心模块,主要实现活动执行和流程流 转控制。该模块又分为活动执行与流转控制模块、条件解析模块、前依赖规则 检查模块、后转发规则控制模块、工作项管理与任务指派模块。各个模块说明 如下: 活动执行与流转控制模块:该模块完成流程活动的执行控制和流程的流转 控制。其中每一个活动处执行的逻辑是在建模阶段通过注册对应组件确立的。 条件解析模块:该模块解析并计算文本形式的条件表达式,返回计算结果 做为引擎流转控制的依据。 前依赖规则检查模块:引擎执行模块在执行流程活动前,需要进行前依赖 6 第二章工作流引擎系统的总体设计 规则检查,只有前依赖规则满足时,活动才能执行。前依赖规则检查的主要内 容是t o k e n 与t o k e n 所在活动节点的类型等信息之间的关系。 后转发规则控制模块:引擎执行模块在执行流程活动后,需要进行后转发 规则控制,为该执行完成的活动后寻找后继的可执行的活动,并在后继可执行 活动上设置t o k e n 。 工作项管理与任务指派模块:工作项管理是指引擎系统为需要人工参与的 活动创建工作项。工作项是活动的实例,引擎系统主要依赖工作项为业务系统 的用户提供任务列表;在创建工作项时,引擎系统通过任务指派过程为该工作 项指定具体的执行人。 基于t o k e n 的引擎执行控n - t o k e n 是前依赖规则的检查的重要依据,是后转 发规则的管理的重要内容。流程执行过程中,引擎系统控制流程活动上t o k e n 的 设置与取消,从而控制流程流转。引擎的执行控制过程离不开t o k e n 。 3 ) 流程监控模块,为有权限的人提供流程定义管理的接口。通过该模块, 用户可以查看流程实例当前执行状态,可以管理流程实例的状态,进行流程实 例查询等。 4 ) 日志管理和异常处理模块是系统的辅助模块,分别负责记录日志和处理 异常。 第二节工作流引擎执行过程概述 本文引擎系统的执行过程分成两个阶段,分别是业务流程建模阶段和业务 流程执行阶段。两个阶段过程示意图如图所示: 7 第二章工作流引擎系统的总体设计 业务流程建模阶段业务流程执行阶段 图2 4 业务流程建模与执行的整体过程示意图 在业务流程建模阶段,首先,由用户进行可视化建模( 利用j a w e 工具完成 可视化建模) :然后,引擎系统通过流程定义解析( 流程定义解析模块实现) 、 流程细化配置( 流程细化配置模块实现) 建立完整的基于数据库的流程定义, 将引擎与实际业务处理建立联系,形成基于引擎系统的的业务处理系统。 在业务流程执行阶段,引擎根据已经建立的流程定义,控制流程的执行过 程和流程的流转过程,完成实际的工作任务。该阶段引擎具体包含的功能包括: 活动执行与流转控制、条件解析、前依赖规则检查与后转发规则控制、工作项 管理与任务指派、流程实例管理等。其中,流程实例管理功能由引擎的监控模 块实现在流程执行时改变流程实例的状态,如挂起流程实例、终止流程实例等; 该阶段其它功能有引擎系统的引擎执行模块实现。 8 第三章业务流程建模过程的设计与实现 第三章业务流程建模过程的设计与实现 工作流建模过程就是将实际业务流程转换为计算机可理解的表示形式的过 程。采用可视化方法进行建模的好处主要是易于理解和掌握,但是最终必须用 一定的流程定义语言来表达,这样建模结果才能应用到引擎系统中。 通过第二章第二节的介绍,建模阶段分三个步骤完成。本章就这三个步骤 的实现过程和方法进行详细的论述和研究。 第一节工作流建模方法与工具 对业务流程建模需要选择合适的建模方法和工具。本节通过比较现在常用 的几种建模方法,说明了本文选择活动图进行建模的依据。同时简要介绍了基 于活动图建模的j a w e 可视化建模工具、x p d l 流程定义语言和工作流模型的组 成元素。 3 1 1 工作流建模方法 工作流建模方法有许多种,目前比较典型的有三种【1 3 】,分别是: 1 ) 基于活动图的建模方法:该方法以活动与活动之间的关系做为基础建立 工作流模型。特点是界面友好,容易理解,缺点是缺少形式化的语义,不利于 模型验证。 2 ) 基于状态图和活动图建模的方法:活动直接对应了工作流参考模型【1 4 】 中活动的概念,反映了系统功能上的分解。活动图是一种有向图,采用标注数 据信息的有向弧表示活动之间的数据流;而状态图反映了系统的动态行为,表 示活动间的控制流程。 3 ) 基于p e t r i 网的建模:该方法在p e t r i 网的基础上,提出工作流网的概念, 将工作流模式映射到p e t r i 网,基于p e t r i 网建模兼顾了严格语义和图形语言,也 是一种基于状态的建模方法,拥有强有力的分析方法。目前基于学术研究的性 质的工作流系统多采用p e t r i 网建模方法。基于p e t r i 网的过程建模过程比较复杂, 业务人员和开发人员要经过较多的学习和训练才能掌握。 9 第三章业务流程建模过程的设计与实现 比较而言,基于活动图建模方法比其它方法都要简单,容易掌握和使用。 所以本文采用了基于活动图的建模方法。 3 1 2 j a w e 建模工具与x p d l 建模语言 当前已经有一些成熟的基于活动图建模的图形化建模工具,因此,没有必 要自行开发。本文选用了开源产品中流行的j a w e 。它能够以图形形式表示流程, 并将过程定义导出为严格遵循w f m c 规范的x p d l 格式的文件。另外,任何符 合w f m c 规范的x p d l 文件输入,j a w e 都能够以图形化方式表示,并在其上 进行二次编辑f 1 5 】1 16 1 。 目前可用于流程建模的语言有许多中,包括:x p d l 、b p e l ( b u s i n e s sp r o c e s s e x e c u t i o nl a n g u a g e ) 、w p d l ( w o r k f l o wp r o c e s sd e s c r i p t i o nl a n g u a g e ) 、以及许 多工作流系统自定义的建模语言等,本系统采用x p d l 做为系统的建模语言。 x p d l 是w f m c 提出的工作流模型定义语言,是一个x m l 文档的d t d ( d o c u m e mt y p ed e f i n i t i o n ) ,它定义了一个公共的规范,该规范将工作流的定 义与执行两个不同的阶段规范分离,使得工作流的定义工具与执行工具相互独 立,某个定义工具中建立的工作流模型可作为多个不同工作流引擎的输入,不 同的工作流定义可以实现模型的变换。 任何符合w f m c 规范的建模工具均可以存取x p d l 模型文件,与传统的使 用数据库存取模型相比,使用x p d l 存储业务流程模型不仅具有层次结构清晰 的特流程色,而且涵盖通用性和跨平台性的优点。 x p d l 定义了建模中需要使用的各种元素的元数据模型,具体参见附录 a 1 7 1 。 3 1 3 工作流模型的组成元素 使用j a w e 建模工具进行可视化建模之前,需要分析实际业务流程并从中提 取出五个基本元素:流程、活动、转移、工作流相关数据、参与者。另外建模 过程中还会涉及条件、工作流应用数据等。下面对这些工作流模型的组成元素 简单解释如下: 1 ) 流程( p r o c e s s ) :流程是指能够实现业务目标和策略的相互连接的一系 列的活动。 1 0 第三章业务流程建模过程的设计与实现 2 ) 活动( a c t i v i t y ) :活动是指实际业务流程中的处理模块。 3 ) 转移( t r a n s i t i o n ) :转移表示活动之间前驱后继关系。 4 ) 工作流相关数据( d a t a f i e l d ) :工作流相关数据是指业务流程中约束流 转方向的数据。 5 ) 参与者( p a r t i c i p a n t ) - 参与者是活动节点上的业务处理的执行者。 6 ) 条件( c o n d i t i o n ) 条件主要负责为流程实例的推进提供流转的依据,本文系统中,条件分为 前置条件、后置条件、转移条件三种。 前置条件定义在活动上,提供了汇聚节点上的汇聚方法,可以是a n d 或 x o r 。其中,a n d 表示当前活动的所有前项活动结束,它才能开始执行。x o r 表示当前活动的某一个前项活动执行完毕,它即可执行。 后置条件也定义在活动上,可以是a n d 或x o r 。其中,a n d 表示由当前 活动而出发的后续转移都是需要路由的,而x o r 表示由当前活动而出的多个转 移需要根据条件选择一个继续路由,而其它的转移引导的路由被摒弃。 转移条件定义在转移上,它是活动向下路由的依据。条件定义的结果是一 个引用了工作流相关数据的表达式。 7 ) 工作流应用数据( w o r k f l o wa p p l i c a t i o nd a t a ) :工作流应用数据是业务流 程的具体数据。 第二节流程的可视化建模 流程的可视化建模是指通过对实际业务处理流程的分析,使用j a w e 建模工 具进行可视化建模,最终生成x p d l 格式流程定义文件的过程。本节结合某制 药企业项目管理平台系统中一个普通的a 级立项论证报告的审批流程实例,给 出本引擎系统中使用j a w e 进行可视化建模的方法。 3 2 1 实际业务流程的分析 要对业务流程建模,首先要有详细描述的实际业务处理流程。这是流程建模 的基础,只有对流程深入理解,才能建立正确的模型。 应用本引擎系统开发业务系统的制药企业内部采用先进的项目化管理方法, 第三章业务流程建模过程的设计与实现 将企业内部的各种工作抽象成项目,按照统一的模式进行管理。项目管理系统 负责对项目从申请立项、制订计划、实施,到最后验收的整个生命周期内的各 种活动进行管理。a 级立项论证报告是立项阶段的一种表单。a 级立项论证报告 管理的详细流程总结如下: 步骤一,员工填写并提交a 级立项论证报告。 步骤二,如果论证报告的密级为“普通”,由员工所在部门的部门经理审批, 如果审批通过,流转到步骤三;如果被否决,此次流程结束,员工可以修改报 告表单后再提交。如果论证报告的密级为“机密,转到步骤四。 步骤三,员工的部门主管审批,如果审批通过,流转到步骤四;如果被否决, 此次流程结束,员工可以修改报告表单后再提交。 步骤四,公司项目办主任审批,如果审批通过,流转结束;如果被否决,此 次流程结束,员工可以修改报告表单后再提交。 a 级立项论证报告处理过程如下图所示: f 不同意 患: 州息 不同息 匪苤 图3 1a 级立项论证报告处理过程图 1 2 第三章业务流程建模过程的设计与实现 3 2 2 从实际业务流程中提取流程建模元素信息 建模前,需要仔细分析实际业务处理流程,从中提取为使用j a w e7 - 具生成 可视化的工作流程所需要的元素和元素的信息。主要提取流程、参与者、工作 流相关数据、活动和转移五个基本元素。 下面给出从实际业务处理流程一a 级立项论证报告管理流程中提取建模元 素信息的过程。 3 2 2 1 提取流程( p r o c e s s ) 本部分工作是按照实际业务流程需要在建模工具中定义流程,定义流程元 素主要包括三个属性: i d 属性:流程i d n a m e 属性:流程名称 d e s c r i p t i o n 属性:流程的详细描述 从a 级立项论证报告管理的实际业务处理流程中提取p r o c e s s 信息如下表: 表3 1 流程信息表 属性 值( 实际应用系统中的值) l d a p p l i c a t i o n l e v e l a _ w p i n a m e a 级立项论证报告审批流程 d e s c r i p t i o n a 级立项申请论证报告流程 3 2 2 2 提取流程的参与者( p a r t i c i p a n t ) 本部分工作是从实际业务流程中提取建模所需要的参与者信息,定义参与 者元素主要涉及四个属性: i d 属性:参与者的标志 n a m e 属性:参与者的名称 t y p e 属性:参与者类型。本文系统中t y p e 属性只使用“r o l e 一个值,系 统中提到的参与者都是基于角色的。 d e s c r i p t i o n 属性:对参与者的详细描述 a 级立项论证报告管理的流程共有四个参与者,分别是:填写提交报告的员 工、部门经理、部门主管、项目办主任。 1 3 第三章业务流程建模过程的设计与实现 下面给出从a 级立项论证报告管理的详细流程中提取的四个参与者的信息, 如下表: 表3 2 参与者信息表 i d 属性n a m e 属性 t ) ,p e 属性d e s c r i p t i o n 属性 a p p l i c a t i o n l e v e l a g e n e r a l 员工 r o l e 员工 a p p l i c a t i o n l e v e l a d e p a r n t m g r 部门经理r o l e部门经理 a p p l i c a t i o n l e v e l a d e p a r t m a j o r 部门主管r o l e部门主管 a p p l i c a t i o n l e v e l a p r o j e c t m g r 项目办主任 r o l e 项目办主任 3 2 2 3 提取流程的活动( a c t i v i t y ) 本部分工作是把实际业务流程的业务处理单元( 不可再划分的业务处理模 块) 定义为流程建模中的活动信息,定义活动元素主要包括八个属性: i d 属性:活动标识 n a m e 属性:活动名称 p e r f o r m e r 属性:活动的参与者,这个属性的值引用参与者的i d 属性值 s t a r tm o d e 属性和e n dm o d e 属性:分别表示活动开始模式和活动结束模式。 这两个属性的取值都是只能为a u t o m a t i c 或m a n u a l 。由系统自动执行的活动, 这两个属性都要取值a u t o m a t i c 。两个属性有一个取值为m a n u a l ,即表示该活动 需要人员参与参与才能执行。 d e s c r i p t i o n 属性:活动的描述 s p l i tt y p e 属性和j o i nt y p e 属性:分支节点具有s p l i tt y p e 属性,汇聚节点 具有j o i nt y p e 属性,而普通节点不具有这两个属性。这两个属性的取值为x o r 或a n d 。不同的取值对应着不同的流转模型,如下图所示: 1 4 第三章业务流程建模过程的设计与实现 2 ) 并发分支模式 1 ) 顺序模式 3 ) 选择分支模式 4 ) 并发汇聚模式5 ) 选择汇聚模式 图3 2 工作流流转模式图 下面给出从a 级立项论证报告管理的详细流程中提取的四个活动信息表: 表3 3员工填写并提交a 级立项论证报告活动信息表 属性值 i d a p p l i c a t i o n l e v e l a s u b m i t n a m e 填写提交论证报告 p e r f o r m e r 员工 s t a r t m o d em a n u a l f i n i s h m o d em a n u a l d e s c r i p t i o n 员工填写并提交a 级立项论证报告 s p l i tt y p e x o r 表3 4 部门经理审批活动信息表 属性值 i d a p p l i c a t i o n l e v e l a _ d e p

温馨提示

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

评论

0/150

提交评论