JBPM 工作流引擎在 OA 系统中的应用
JBPM 工作流引擎在 OA 系统中的应用
文/武恙
摘要:在办公自动化系统中应用JBPM 工作流管理系统,为达到用
户需求标准,需要对工作流进行一系列研究,并按照工作流设计
标准对 JBPM 图形化流程、可扩展性、开放性进行设计。
【关键词】办公自动化系统 JBPM 工作流管理
1 工作流及工作流管理系统
1.1 工作流及工作流管理系统定义
什么是工作流?其为一系列自动进行、互相衔接的任务或业务活动。总而言之将业务
过程部分、或整体自动化或计算机化,就是工作流。过程的自动化处理体现出工作流技术的
特点,某一工作流的结束也可能是另一工作流的开始。用于在一个、或者多个工作流引擎软
件上,对运行的工作流进行管理、实现以及定义的一套软件就是工作流管理系统。要想执行
工作流实例,需要应用计算机,来推进定义好的工作流逻辑。
1.2 基于JBPM的工作流管理系统JBPM 是工作流引擎,工作流管理系统的
核心就是工作流引擎,其任务就是管理任务实例。JBPM 是以 J2EE 为基础的轻量级工作
流引擎,同时也是一个工作流管理系统,特点是容易扩展、灵活多样、开源性,开发语言
为 JAVA,对执行流程实例以及定义管理流程时所需的运行环境进行管理。对自己定义的
JPDL 流程描述语言实施应用,是 JBPM 的特色之一。 JPDL以UML状态图来解释任务流程,
并对状态间的转换等状态图的每个部分进行详细定义,同时对其业务流程直观描述。除此之
外,JBPM 在管理数据库时还能将 Hibermate
应用于持久层中,实现高质量管理,这样做是为了对 OA 系统更加专注。
2 JBPM工作流管理系统在OA中的应用
2.1 工作流建模
为转化实际业务流程为数字信息,便于存储,应对工作流进行建模,方便调用工作流
运行。JPDL 流程文件后缀为 .xml。流程定义在 JBPM 中被封装成流程档案,JPDL 流程引
擎在接收到流程档案后对其执行。流程事件的记录、流程状态的维持、定义动作的执行、流
程图的遍历等工作均由 JPDL 流程引擎担负。控制状态变化的基础为状态机。定义任务、节
点等都包含于工作流建模中。开始发文流程实例化为开始状态节点任务;结束发文实例为结
束状态节点任务;登记来文、意见的拟办、分管领导审阅、汇总处理、公开信息栏等均为任
务节点工作内容;归档是自动节点任务,而传阅的公开与否则为判定节点的任务。
2.2 工作流应用
(1)工作流基本要素。数据、活动、参与者都为工作流基本要素。伴随活动,数据从
一个节点流转至另一节点,在 JBPM 中,由hibernate 来管理持久层数据库,而储存于数据
库中的工作列表则为数据的具体表现形式。活动是节点,它是流程定义的组成。参与者负责
执行任务, 业务应用层对参与者具体解释负责。创建任务过程中, 可不指定参与者, 也可指定。
(2)工作流过程。首先需定义流程,而定义流程主要体现在对流程业务逻辑的定义
上。Xml 文件能够被计算机理解,一个流程实例就是一次实际业务流转过程。简单地说,流
程实例就是有起始时间和结束时间,并在数据库里存储的数据。步骤二,部署流程,在计算机系统中置
入定义好的流程。
PROCESSDEFINITION PROCESS
DEFINITION = PROCESSDEFINITION.
PARSEXMLRESOURCE(“ORG/JBPM/
PROCESSDEFINITION.XML”);
GRAPHSESSION.DELOPPROCESSDEFI
NITION(PROCESSDEFINITION);
步骤三,对流程的加载,方法如下:
P R O C E S S D E F I N I T I O N
PROCESSDEFINITION = GRAPHSESSION.LO
ADPROCESSDEFINITION(PROCESSDEFINIT
IONID);
在加载流程的时,应在数据库中,按照
流程定义 ID 将需要加载的流程查找出来。
步骤四,将流程启动、并执行,按照流
程定义,开始创建流程实例,内容如下:
PROCESSINSTANCE PROCESS
INSTANCE = NEW PROCESSINSTANCE
(PROCESSDEF-INITION); 这 时,
ROOTTOKEN 则向流程实例第 1 个节点进行
指向。
LIST LIST = TASKMGMTSESSION.
FINDTASKINSTANCE(USERID)
步骤五,任务结束,完成当前任务可调用接口 END() 的方法,在一个事物内完成
任务的结束与开始,确保完整数据。
(3)人工选择流程的走向。在对公文流转文件进行定义后,在传阅的公开与否节点位
置可选择 2 个路由,1 个是转向浏览、公开信息节点,另一个则转向领导审批节点。而在
xml 定义流程代码中,流程的走向可进行人工选择,2 条 transition 语句在该节点位置同时出现。
(4) 程 序 自 动 选 择 流 程 走 向。 而 流程 走向的自动选择也可以通过对 decision
节 点 的 设 施 来 实 现, 选 择 的 条 件 可 根 据JBPM<condition></condition> 标 记 在 decision
节点中的定义进行判断, 可自动选择流程走向。
(5)使用泳道为多个任务指定相同的参与者。N 个任务由一人进行处理时,JBPM 为
防止 JAVA 类膨胀过度,针对该问题,提供了泳道方式。
(6)会签的应用。会签技术是为顺利实
现科学决策,在办公自动化中,需要 N 个用户共同完成某些任务。当经过部门领导的批准后,方可完成任务,汇总工作由主办人负责。
会签的实现可通过 taskin-stance 来实现。
3 结束语
在办公自动化系统中应用 JBPM 工作流系统,易于实现办公自动化相关流转问题。在
对工作流模型进行处理时,因 JBPM 具有图形化建模、高扩展性、良好开放性等特征,因此,可将部署灵活实现,工作流引擎理想化,达到
了客户需求标准。
参考文献
[1] 吴洁 . 基于 JBPM 的办公自动化系统的设计与实现 [J]. 电脑与电信 ,2012(1).
[2] 周仁云 , 王振国 .JBPM 在 Web OA 系统中的应用 [J].2010(8).
[3] 郑步芹 , 张瑜慧 . 基于 JBPM 的企业 OA的 应 用 研 究 [J]. 现 代 计 算 机 ( 专 业版 ),2012(23).
作者单位中国化工信息中心 北京市 100029