基于J2EE的工作流管理系统建模研究
- 格式:pdf
- 大小:252.63 KB
- 文档页数:4
基于工作流技术的业务流程建模与优化随着企业规模的扩大、市场竞争的加剧,更加高效的业务流程管理成为企业生产力提升的关键要素。
不同的业务流程模式能够带来不同的优势,但均需要建立在合理的业务流程建模基础之上。
本文将重点讨论基于工作流技术的业务流程建模与优化方法和策略。
1. 工作流技术的基本概念及流程工作流技术是指将企业工作流程中涉及到的人、信息和环境资源进行系统化的管理、协调和监控的技术。
在工作流技术中,工作流程由一系列任务节点构成,每个节点都拥有一定的操作和处理任务,并通过预定义的规则来协调节点间的任务处理流程,实现自动化的流程管控。
工作流体系中的常见角色和组成部分包括任务节点、执行人、条件分支、数据存储和工作流引擎等。
在建立基于工作流技术的业务流程时,一般需要遵循以下步骤:- 分析业务流程中的制约性条件和标准流程要求;- 定义并建立与业务流程相关的数据模型;- 定义任务节点,指定任务处理的条件和流转规则;- 设计并实现业务流程引擎;- 对业务流程进行优化并扩展调整。
2. 工作流技术的优势工作流技术相比传统的手动业务流程管理模式,具有以下优势:- 能够规范并标准化业务流程的流转规则,避免手工处理环节中的人为失误;- 便于实现任务的自动化分派和协调,节省人力资源成本;- 能够方便地实现流程中的并行处理模式,提高流程处理的效率和增强并发性;- 能够通过业务流程信息全面、精确地掌握业务处理过程,便于监控和管理。
3. 工作流技术的应用场景工作流技术在不同领域和场景下的应用非常广泛,如:- 在企业的日常审批流程中(如报销、调休、请假等);- 在产品研发流程中,如新品立项、设计、开发等业务流程;- 在ERP系统或其他企业级信息化系统的业务逻辑模式设计中;- 在金融领域中,如贷款审批、风险控制、投资申请等流程处理。
4. 工作流技术的实践策略在建立良好的企业业务流程管理体系时,可采用以下工作流技术实践策略:- 重视用户体验。
第20卷第3期烟台大学学报(自然科学与工程版)Vol .20No .32007年7月Journa l of Y antai University (Na tural Science and Enginee ring Editi on)Jul .2007 文章编号:1004-8820(2007)03-0200-05 收稿日期6 作者简介胡光(),男,山东莱州人,讲师,研究方向面向对象与组件技术一种工作流管理系统新模型的研究与实现胡 光,任满杰(烟台大学计算机学院,山东烟台264005)摘 要:在分析传统企业管理系统应用局限性的基础上,讨论了工作流的基本概念.针对目前工作流管理系统在描述能力和跨平台性不强等方面的问题,以工作流管理系统参考模型为依据,提出了一个基于J2EE 的工作流管理系统新模型.该模型采用分层架构分解复杂的业务流程,提高了系统的描述能力和跨平台能力.通过一个实例证明,该系统模型能够适应信息管理系统业务过程的不断重组问题,提高了应用系统开发效率.关键词:J2EE;工作流管理系统;模型;工作流引擎中图分类号:TP311 文献标识码:A 传统企业开发管理信息系统主要是针对专门的实际应用,业务管理范围窄,更新速度慢,难以适应其他企业的管理信息系统.随着用户需求的多样化,企业为了提高自身的竞争力,需要不断对其业务过程进行重组,优化业务逻辑,以达到提高生产效率的目的.采用经典的信息管理系统模型开发现代企业管理信息系统,已经远远不能适应目前复杂的企业业务过程.近年来,工作流技术的提出缓解了传统管理系统业务流程臃肿的问题,它所具有的协调技术决定了其在复杂业务的信息过程中将发挥重要的作用[1].采用工作流技术作为核心开发的业务管理系统可以按照企业的具体需求快速生成应用软件系统,并且在客户业务过程中根据需要进行业务流程重组.这只是优化了传统企业管理系统难以解决的复杂化问题,但现代企业管理信息系统不再是只面向企业内部功能,更多的是面向市场,面向客户.目前市场上的工作流管理系统模型大多数描述能力和跨平台能力有限,很难适应软件系统移植性和扩展性的特点.针对这种情况,本文利用J2EE 体系结构结合MVC (Model 2V iew 2Contr olle r )设计模式灵活性的特点,提出了一个基于J2EE 的工作流管理系统新模型,更大程度上挖掘了工作流技术的潜力,提高了软件系统的描述能力和跨平台能力.经过分析证明能很好地满足企业复杂工作流管理需求.1 工作流管理系统参考模型最初工作流是针对日常工作中具有固定程序的活动而提出的一个概念,其目的是通过将一个具体的工作分解成多个任务、角色,按照一定的规则和过程来约束这些任务的执行和监控,以提高企业管理系统水平.根据工作流联盟(W F MC )的定义,工作流是一类能够完全或者自动执行的管理过程,它根据一系列过程规则、文档、信息或任务能够在不同的执行者之间进行传递与执行.工作流管理系统是一个软件系统,它完成工作流的定义和管理,并按照预先定义好的工作逻辑完成工作流实例的执行.工作流技术是流程建模和流程管理的核心,为了实现工作流技术的标准化和开放性,使得不同的工作流管理系统之间能够进行信息交换和协作,W F MC 提出了一个共性的工作流管理系统参考模型[1,2],如图1所示.:200-09-21:1974-:. 第3期胡 光,等:一种工作流管理系统新模型的研究与实现图1 工作流管理系统参考模型Fig.1 R efe rence model of workflo w m anagement s ystemW F MC提出的工作流管理系统模型是一个具有广泛意义的参考模型,针对不同的企业管理信息系统,软件开发商都会在此基础上对其进行改动.目前许多工作流管理系统模型是为企业应用而应用,很少考虑软件性能的优化与软件功能的移植性,因此在模型描述上都采用自己专门的工具对其进行开发,从软件工程角度来说就是对模型的描述能力过低.另外,许多工作流管理系统参考模型对复杂业务流程的建模能力及业务流程之间的交互能力有限,很难满足跨平台的分布操作和复杂业务信息化的要求,使得软件产品的市场销售能力不高.为了更好地实现工作流管理系统的目标领域,采用目前软件领域较为成熟的J2EE架构,结合MVC三层设计模式建立一种新的工作流管理系统模型,并使用Java、X ML及W eb服务技术对其进行实现,以激发工作流技术的优越性.2 工作流管理系统新模型在工作流管理系统参考模型的基础上,建立一个基于J2EE架构的三层工作流管理系统新模型.J2EE是一个完善的技术体系,由一整套服务(Services)、应用程序接口(AP Is)和协议组成,因此能充分利用J2EE框架所提供的所有优势,通过使用和扩展工作流管理系统所提供的类库和配置文档创建业务管理系统,使因业务流程、组织结构等变化引起的系统开发工作变得简单、快捷和直接[3] 工作流管理系统体系结构按照标准体系结构,三层逻辑分别为数据表示层、业务逻辑层和数据访问逻辑层.将其应用在工作流管理系统模型中可以分为客户逻辑层、工作流管理逻辑层和数据存储逻辑层.其体系结构如图2所示.图2 工作流管理系统体系结构Fig.2 Architecture of workflo w m anagement s ystem通过将模型采用分层架构进行开发,能够将复杂的工作流建模过程简化,使组件开发与系统管理相分离.程序员只集中精力投入组件的业务逻辑开发而不用关心系统管理逻辑,真正实现了数据逻辑的封装.把J2EE标准体系结构与工作流管理系统模型结合起来,可以充分发挥J2EE 多层架构的优势,客户逻辑层主要面向用户,要求界面简洁,操作方便,因此本层可由美工人员来完成而不涉及程序逻辑.数据存储逻辑层主要完成数据库存储结构的建模,负责底层数据的管理,要求数据库能够适应异构系统的特点,因此可由数据库管理员来完成.工作流管理逻辑层是整个管理系统的中间件,它起到承上启下的作用,主要由程序员来完成整体开发.这种将业务逻辑与底层数据分离的做法,使得应用可以适应不同分布系统的需要,增加了系统的可移植性和可扩充性.客户逻辑层包括管理员用户和普通用户.管理员用户通过W eb应用界面和工作流建模工具可以完成对工作流管理系统的建模和管理,普通用户则通过W eb应用界面实现一般功能上的工作流任务.工作流管理逻辑层实现工作流管理系统的主要功能,是整个系统模型的核心中间件.它主要由两大部分组成:流程建模部分和工作流执行管理部分在流程建模部分,管理员用户使用流程建模工具对实际业务流程分析、建模,将要处理的业务流程转换为工作流管理层逻辑在工作流执行管102.2.1J2EE ..烟台大学学报(自然科学与工程版)第20卷 理部分,布署运行环境执行工作流管理层逻辑,当一个工作流执行时,工作流执行管理逻辑创建一个或多个工作流引擎,解释流程定义并创建流程实例,生成实际工作项并监控工作流的执行状态.数据存储逻辑层完成整个工作流管理系统的过程定义数据和应用数据的存取.过程定义数据库存储建模结果,采用X ML描述建模过程,由于X ML文档具有灵活的数据组织方式及独立于各种操作平台的特点,更利于其在分布式和异构环境中使用,提高工作流管理系统的描述能力.应用数据库存储业务数据,通过JDBC与EJB、应用服务器进行数据交互,完成工作流管理逻辑层的数据服务.2.2 工作流建模工作流的建模方法是否得当决定了在任意情况下定义工作流流程是否清晰,是否满足用户在建模过程中所提出的各种要求.目前工作流的建模方法很多,用户可以采用可视化建模工具进行建模,一般情况下使用活动图的方式进行描述[4].在J2EE架构支持下,过程建模采用B/S方式实现,采用MVC模式进行设计,过程由EJB容器实施.充分考虑到活动图中的每一个建模元素,使各元素之间的联系保持结构清晰,实现方便.用户在可视化建模工具下可以直观地创建流程、修改流程和保存流程,同时对流程进行合法性检查:检查流程的跳转、事务的定义是否正确、流程的结构是否完整等.最后将定义好的流程以X ML文档的方式保存,这样可以在其他工作流管理系统模型中继续使用.2.3 工作流引擎工作流引擎是整个工作流管理系统模型的核心,它工作在工作流管理逻辑层,主要进行解释流程定义;控制流程实例的创建、激活、挂起及终止等;控制顺序或并行操作,控制实例生存周期及解释参与者等;提供用户交互接口,确定工作项给用户并提醒用户工作到达;维护工作流控制数据及相关数据,给应用程序或用户传递工作流相关数据的接口;提供激活外部应用程序和链接工作流相关数据的接口;为管理员用户提供监控、管理和数据分析、跟踪等为了实现工作流引擎的创建,本文充分利用体系中B容器组件的优势,将消息驱动B作为业务逻辑的可重用组件.由于EJB容器在支持事务处理、可扩展性及安全性方面提供了强大的功能,因此本文利用EJB容器实现工作流引擎,由消息驱动Bean提供发送信息和接受信息的异步方法接口,设计出了基于关系数据库的轻量级工作流引擎.服务器按照过程定义生成工作流实例,根据工作流实例中所包含的工作流对象状态做相应的处理,处理过程中还需要读取组织结构的信息,然后生成工作项存入数据库.它是基于Java技术的应用组件,因此可移植性强.工作项管理器主要保存用户的工作状态,维护工作日志,并执行工作流项目的生命周期.它是工作流引擎实现的维护管理器,在异常情况下依据工作日志可恢复正常状态.任务表对事务进行集中存储,每个用户都有单独的工作项存储事务.集中存储便于整个管理系统在模块组织结构上形成层次化,同时每个用户只能看到与自己相关的事务,既增加了安全性,又提高了工作效率.将实时事务以X ML文档的形式进行描述存储是目前较为灵活的方式.监控器是用户非常需要的工作状态监视器,用户可以用来监控工作流的执行状态,解锁发生死锁的工作流,防止系统出现不可逆转的运行时错误.3 模型的实现与分析3.1 模型的实现结合军内某连队的办公自动化系统中基于本模型的人事业务流程为例说明该模型的应用实现.部队人事业务流程的显著特点是人员或机构变化频繁,业务系统可能不断地进行改动、扩展或重复,这就意味着信息管理系统要不断地进行业务重组和流程优化.本模型的研究与设计恰好可以适应该系统的特点,在事务发生变化时,仅通过修改数据就可以适应用户的新需求,而不需对程序的代码进行修改.目前企业人事管理系统也呈现业务变化频繁的现象,如果将此模型移植到企业级应用开发中,也利于企业事务适应不断重组的特点.因此本文提出的模型具有比较广泛的通用性.3 角色的定义 对人事业务流程分析可抽象出与连队职务对应的角色,而不是针对特定的人来分配角色在配置文件2202.J2EE EJ ean .1.1.Engine/Participant 第3期胡 光,等:一种工作流管理系统新模型的研究与实现m ap.x m l中一一声明,系统自动对每一角色分配与名称对应的存储单元来存储工作项.3.1.2 业务流程的描述 根据本模型描述业务流程或直接编辑模型的X ML文档,考虑到系统实现的重用性,在本业务流程中使用顺序和选择模式.在描述模型时使用<sequence>…</se2 quence>定义工作项分配次序,使用<participant ref="initiator"filte r="f or m1"/>定义工作项被传递的对象,采用O r acle数据库完成人员档案存储的功能.部分核心代码如下:<sequence> <pa rticipant ref="inintiat or"filter=" for m1"/> <pa rticipant ref="security"filter=" for m2"/> <if><equals field-va lue="sendTo" other-V alue="rel_pers on"/> <!--then--><partic i pant ref ="rel_person"filte r="f or m4"/> <!--else--> <sequence> <if><equals field-value=" sendTo"other-V alue="m ajor_leader"/> <!--then--><participant ref="m aj or_leader"filter="f or m3"/> <!--e lse--><participant ref="principal"filter="f or m3"/> </if> </sequence> </if></sequence>3.1.3 用户权限的定义 在配置文件Worklist/ Pass word.x m l中定义用户角色及使用权限,便于系统的管理和开发,当人员发生变动时只需给用户重新分配角色即可.3.1.4 系统运行由管理员启动流程并激活工作流系统,工作流引擎将模型实例化,依据定义传递工作项.运行时,由X ML文件描述模型间各过程节点的传递关系,实现业务数据的控制.工作流引擎使用监控系统实时检测运行情况,并对系统进行实时优化3 模型的分析对复杂的工作流管理系统进行分层描述后,不同层的过程定义间要进行交互才可实现完整功能.对于一个工作流程来说,最容易发生变化的就是任务.当任务发生时,与其相关的流程节点也会发生变化.在模型设计时充分考虑到这点,将流程节点进行封装,从而减少需求变化对系统所造成的影响.在本文工作流管理系统模型的实现过程中, MVC设计模式提供了分层管理服务的机制,使得复杂问题在逻辑分工上变得简单并且相互不干扰.Java技术提供了跨平台的语言编程工具,X ML 文档的使用大大提高了系统模型的描述能力. J2EE技术提供了企业计算所必须的服务如事务、安全及消息服务等[5],J2EE平台可以帮助工作流管理系统解决数据持久化、工作流事务处理及可扩充性等方面的问题,从而使系统能够适应管理系统业务过程的不断重组,提高了应用效率.在实际信息管理系统开发中,利用该模型实现企业应用可以通过W eb浏览器提供人机交互界面,增强系统的可访问性,真正实现瘦客户端.将MVC模式中EJB、JSP和Servlet有机结合运行于J2EE容器中,提供了跨平台机制.采用X ML描述系统模型,支持复杂的工作流控制机制,从而使工作流系统的开发只须关注业务逻辑和表示逻辑即可,从而增强系统的可扩展性,降低开发成本.4 结 论在基于W F MC的参考模型基础上,提出了一个基于J2EE平台的工作流管理系统新模型.该模型是在应用客户提出需求方案的前提下进行设计的,因此实用性强,并且已经在某人事管理系统中实施.经过模拟验证,该模型可以移植到其他企业管理信息系统应用中,充分体现了良好的可移植性、可重用性和强描述能力.今后还可以对该模型进行改进,将工作流中间件与应用系统进一步融合,提高软件系统的开发效率.参考文献:[1] 范玉顺,罗海滨,林慧萍,等.工作流管理技术基础[M].北京:清华大学出版社,2001.[] 罗海滨,范玉顺,吴澄工作流综述[]软件学报, ,()8[3] 付松龄,谭庆平基于的分布式工作流管理系302. .22.J. 2000117:99-907..J2E E烟台大学学报(自然科学与工程版)第20卷 统方案[J].计算机应用,2003,23(8):117-120.[4] M artin F.Analysis Pa tte rns2R eus able O bjec t M ode ls [M].Bost on:Bost on Addiso m2We sley Publishe r,1997.[5] Stephani e B,Eric A,Da le G,e t a l.The J2EE Tut orial[E B/OL].http://java.sun.co m/docs/books/j2eetut o ria l/ index.ht m l,2002.11.6.Resea r ch and I m plem en t on a New M odel of W or kflow M anagem en t Syste mHU Guang,R EN Man2jie(School of Co mput e r,Yanta i Uni ve rsit y,Yant a i264005,China)Ab str a c t:Ba sed on ana lyzing the li m itati on of traditi onal enter p rise m anage m ent syste m s,the concept of workflow is discussed.I n allusion to the pr oblem of low descripti on and c r oss pla tf or m ability in curr ent wor k2 fl ow m anage m ent syste m,a new model based on J2EE of wor kfl ow m anage m ent syste m is p resented according to the r eference mode l of workfl ow m anage ment syste m.The model can disassemble co mp lex busine ss fl ow u2 sing hier a r chy a r chitec tur e and can i mpr ove both description and cr oss2p latf or m ability of the syste m.An ex2 ample is pr ovided t o pr ove that the mode l can adap t f or continued reasse m bly of busine ssp r ocedure in inf or m a2 ti on m anage m ent syste m and can i mp r ove develop ing effic iency of a pp lica ting syste m.Ke y w o r d s:J2EE;wor kfl ow m anage m ent system;mode l;workfl ow engine(责任编辑 柳瑞雪) 402。