JBPM 工作流引擎在OA 系统中的应用
2014年10月20日 14:55 作者:文/武恙文/武恙
【关键词】办公自动化系统 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 流程引在办公自动化系统中应用JBPM 工作流管理系统,为达到用户需求标准,需要对工作流进行一系列研究,并按照工作流设计标准对JBPM 图形化流程、可扩展性、开放性进行设计。摘 要擎在接收到流程档案后对其执行。流程事件的记录、流程状态的维持、定义动作的执行、流程图的遍历等工作均由JPDL 流程引擎担负。控制状态变化的基础为状态机。定义任务、节点等都包含于工作流建模中。开始发文流程实例化为开始状态节点任务;结束发文实例为结束状态节点任务;登记来文、意见的拟办、分管领导审阅、汇总处理、公开信息栏等均为任务节点工作内容;归档是自动节点任务,而传阅的公开与否则为判定节点的任务。2.2 工作流应用(1)工作流基本要素。数据、活动、参与者都为工作流基本要素。伴随活动,数据从一个节点流转至另一节点,在JBPM 中,由hibernate 来管理持久层数据库,而储存于数据库中的工作列表则为数据的具体表现形式。活动是节点,它是流程定义的组成。参与者负责执行任务,业务应用层对参与者具体解释负责。创建任务过程中,可不指定参与者,也可指定。(2)工作流过程。首先需定义流程,而定义流程主要体现在对流程业务逻辑的定义上。Xml 文件能够被计算机理解,一个流程实例就是一次实际业务流转过程。简单地说,流程实例就是有起始时间和结束时间,并在数据库里存储的数据。步骤二,部署流程,在计算机系统中置入定义好的流程。PROCESSDEFINITION PROCESSDEFINITION = PROCESSDEFINITION.PARSEXMLRESOURCE(“ORG/ JBPM/PROCESSDEFINITION.XML”);GRAPHSESSION.DELOPPROCESSDEFINITION(PROCESSDEFINITION);步骤三,对流程的加载,方法如下:P R O C E S S D E F I N I T I O NPROCESSDEFINITION = GRAPHSESSION.LOADPROCESSDEFINITION(PROCESSDEFINITIONID);在加载流程的时,应在数据库中,按照流程定义ID 将需要加载的流程查找出来。步骤四,将流程启动、并执行,按照流程定义,开始创建流程实例,内容如下:P R O C E S S I N S TA N C E P R O C E S SINSTANCE = 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).作者单位中国化工信息中心 北京市 100029Network World •