首页 > 范文大全 > 正文

基于JBPM的工作流系统的设计与实现

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于JBPM的工作流系统的设计与实现范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:分析了JBPM 工作流引擎的系统架构和流程运转过程,结合实际案例对JBPM 工作流引擎的应用进行深入研究,使用JBPM 工作流引擎进行工作流程的实现。

关键词:JBPM;工作流系统;工作流引擎

中图分类号:TP393文献标识码:A文章编号:1009-3044(2011)16-3797-02

Design and Implementation of Workflow Management System Based on JBPM

ZHAO Yu-jiao, ZHAO Wei

(Center of Modern Education, Wuhan Textile University,Wuhan 430072, China)

Abstract: The system framework and the workflow running process of JBPM were analysis. A combination of actual cases of JBPM work Engine application had an in depth research. And use the JBPM workflow engine for the realization of the workflow.

Key words: JBPM; workflow management system; work flow engine

流程管理是生产组织和办公自动化领域来实施的,是针对日常工作中具有固定程序的活动提出的方法。目的是通过将工作划分成定义良好的角色与任务,按照一定的法则和过程来执行这些已经安排好的任务并对其进行监控,达到提高办事效率、降低生产成本、提高企业生产经营管理水平与企业竞争力的目标。

当今的计算机技术已经实现了工作流,是支持企业经营过程中非常高效执行并监控其执行过程的计算机软件控制系统。工作流软件与计算机桌面操作系统相似,操作系统驱动计算机各部件之间协同运转,工作流软件则驱动业务过程自动有序的进行。

1 JBPM引擎

1.1 JBPM系统架构

JBPM 是覆盖业务流程管理、工作流、服务协作等各个领域的一种开源的、灵活的、易扩展的可执行流程语言框架,其源代码是公开的开放项目,其使用要遵循Apache License,可以免费应用于商业中进行程序和工程开发。JBPM在2004年10月18日,了2.0版本,并在同一天加入了JBoss,成为JBoss企业中间件平台的一个组成组件,其名称也改成JBoss JBPM。

JBoss JBPM是一个灵活、可扩展的流程语言框架。JPDL是建立在此通用框架之上的一个流程语言,也包含一个图形化的流程设计工具;JPDL设计器是一个eclipse插件,其创作了业务流程的图形化工具。JPDL设计器使用直观的流程语言以图形化的方式来表示业务流程,使用术语任务、异步通讯等待状态、定时器、自动操作等。JPDL设计器允许从业务流程建模到实际实现之间的平滑转换。JPDL设计器插件既可以使用本地更新站点(纯zip文件)的方式,来通过标准的eclipse软件更新机制来进行安装,同时也有一个可以将其解压到你的eclipse的安装目录来完成安装的功能包。JPDL设计器流程设计工具最重要特性就是,不但支持业务分析人员,同时也很好的支持技术开发人员。

1.2 JBPM开发过程

基于jbpm工作流应用控制系统的开发过程一般分为如下几个步骤:

1) 安装大型数据库并对数据库进行初始化工作;

JBPM平台本身就是需要数据库的支持, 其在使用JBPM之前必须要先初始化相应的数据库,包括创建表和插入初始化数据等。JBPM采用Hibernate技术将数据持久化到数据库,和其它一些工作流引擎一样,它的流程定义信息也要持久化到数据库中去,同时由于JBPM采用Hibernate技术来和数据库打交道,理论上来说只要Hibernate技术支持的数据库JBPM都支持。

2) 安装JBPM建模工具进行流程建模

在JPBM中,其为开发者提供了基于Eclipse的可视化建模工具,这样就可以极大提高建模的工作效率。我们将下载的jbpm-jpdl-suite-3.2.3工程包文件中,打开其中的designer目录,就可以有两种方式把这个插件安装到Eclipse当中,一种是采用link的安装方式,在designer\eclipse\links目录下已经为我们准备好了安装的link文件,还有一种就是把designer\jbpm-gpd-feature\eclipse目录下的两个文件夹里的内容拷贝到Eclipse的安装目录下对应的目录里,这样就可以利用建模工具自动生成流程定义文件。

2 基于JBPM的工作流实例

2.1 系统描述

在工程项目管理过程中,涉及到很多复杂申请、审批、采购、收取流程,这些流程使大量数据处于流动和变化中。另外,由于相关政策的调整,管理模式的改变,业务需求的变化,管理模式的改变和组织机构的重组,使企业的工作流程经常发生改变,所以便捷的改变项目管理的工作流程,灵活的增加、减少、合并流程环节是项目管理系统能否满足实际应用需求的关键所在。

2.2 系统流程

在图1中显示了使用JBPM图形设计实现的经费审批的操作流程,在这个过程中,我们利用JBPM中定义的流程,完成结点和转移的工作流部件;任何此工作流都是从start state结点开始,中间经过若干个部件工作流结点,最后到达结束流程end state,结点之间通过transition来连接;其中除start state和end state这两类特殊的结点之外,每种类型的结点都是Node.enter(),Node.execute(),Node.leave()这三类事件其中之一的结点。

2.3 系统的部署与实施

在该文所提及的整个工作流应用系统中,遵循了多层架构模式,依次分为模型层、视图层、持久化层、控制层和数据库层的模型类型。我们可以利用向导工具生成的JUnit测试平台转化成JSP之中去作为视图层,或者使用Struts MVC作为框架,将JBPM的环境和相应的API部署到Web服务器中去作为模型层,这样通过Hibernate技术持久化框架作为持久层将流程的定义保存到数据库中,同时就可以将JBPM工作流引擎整合到J2EE为技术基础的应用系统中去中。

3 结束语

该文通过对JBPM轻量级工作流引擎系统结构模型的研究,同时结合实际JBPM工作流的开发应用经验,得到了JBPM工作流引擎到J2EE Web应用中的整合实际使用方法。该方法将业务过程逻辑从具体的业务实现中分离出来,以不修改具体功能而只修改过程模型来改变系统功能,较好的解决了工程项目管理中业务流程多样化和不确定性带来的问题,实现了对业务流程过程的集成管理。通过应用该系统,加强了业务处理流程的透明度,提高了工作效率,有较强的实际意义和应用价值。

参考文献:

[1] Matt Cumberlidge.Business Process Management with JBoss jBPM[M].U K:Packt Publishing Ltd,2007.

[2] Workflow management coalition[EB/OL]., 2008.

[3] 高杰 JBPM工作流开发指南[DB/CD].上海:上海锐道信息技术有限公司,2007.

[4] 孙倩,赵轶群.工作流程管理技术在电子政务中的应用[J].计算机应用与软件,2007(3).

[5] 刘蕾,刘厚泉.基于工作流的B/S模式OA系统设计与实现[J].微计算机信息,2008,24(2-3):233-235.

注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文