|
JBPM工作流管理系统在OA中的应用对工作流做了一定的研究。并把JBPM工作流管理系统应用于OA系统中。JBPM的开放性、可扩展性以及图形化流程设计使得工作流设计能快速满足用户的需求。 1工作流及工作流管理系统 1.1工作流及工作流管理系统定义 根据工作流管理联盟(wfMC)的定义,工作流(Workflow)就是业务过程整体或部分的计算机化或自动化。简单地说,工作流就是一系列相互衔接、自动进行的业务活动或任务。一个工作流的终点可能就是另一个工作流的起点。工作流技术的主要特点是过程的自动化处理。工作流管理系统是指运行在一个或多个工作流引擎软件上的用于定义、实现和管理工作流运行的一套软件。这套软件按照在计算机中预先定义好的工作流逻辑推进工作流实例的执行。 1.2基于JBPM的工作流管理系统 JBPM,全称是JavaBusinessProcessManagement,是基于J2EE的轻量级工作流引擎。工作流引擎是工作流管理系统的核心组件,对流程实例,任务实例进行管理。JBPM是一个开源的、灵活的、易扩展的工作流管理系统,用JAVA语言开发,其核心类库是’J2SE类库,用于管理流程定义和流程实例执行时的运行环境。JBPM特色之一是采用了自己定义的JPDL(JBossProcessdefinitionlanguage)流程描述语言。JPDL认为一个任务流程可以被看作是一个UML状态图。JPDL就是详细定义了这个状态图的每个部分,如起始、结束状态,状态之间的转换:这种图形化的流程定义,直观地描述业务流程。JBPM的另一个特色是在持久层使用Hibemate来管理其数据库。这样,JBPM就将数据的管理职能分离出去,自己则专注于商务逻辑的处理。 2JBPM工作流管理系统在OA中的应用 2.1工作流建模 工作流建模可以帮助企业将实际业务流程转化为计算机可以识别的数字信息,存储模型,以便工作流运行时调用,在JBPM中,采用JPDL流程描述语言图形化建模,如图1所示。JPDL流程文件保存为processdinination.xml文件。 在JBPM中,流程定义被封装成流程档案。流程档案被传送到JPDL流程引擎加以执行。JPDL流程引擎负责遍历流程图、执行定义的动作、维持流程状态,并且记录所有流程事件。JBPM利用状态机作为控制状态变化的基础,并且扩充活动图的建模模型。 工作流建模中,主要包括节点、任务定义等。在图中示例中,用到的节点与对应的节点任务有:开始状态节点(start-state),任务为发文流程实例化的开始:结束状态节点(end-state),任务为发文实例的结束;任务节点(task'node),任务为来文登记、拟办意见、分管主任签批、分管领导审阅、A、B部门领导审核、主办人汇总处理、置于信息栏公开浏览:判定节点(decision),任务为是否公开传阅;自动节点(node),任务为归档。 2.2工作流应用 2.2.1工作流基本要素 工作流基本要素包括参与者、活动、数据。参与者是任务的执行者,JBPM目前只需要参与者的ID,对参与者的具体解释由业务应用层负责;任务创建时可以指定任务的参与者,也可以不指定,在此应用中,没有采用JBPM的.identity组件:活动(任务)是组成流程定义的节点,流转就是从一个节点到另一个节点的行为;数据为对活动的说明,数据随着活动的流转从一个节点转移到另一个节点,具体表现形式为存储在数据库中的工作列表,在JBPM中,持久层数据库的管理交由hibernate负责。 2.2.2工作流过程 (1)流程定义(ProcessDefinition),。主要定义流程的业务逻辑,包含业务节点和流程,在图1中,可以看到是一个有向图结构。计算机能够理解的是一个xml文件,在JBPM的特有标记</process—definition>中定义节点,以及节点间的流转。业务的一次实际流转过程为一个流程实例,流程实例(Processlnstance)直观的体现就是存储在数据库里的数据,有开始时间和结束时间。 图1.工作流模型 (2)流程部署。是把定义好的流程放入计算机系统中。 (5)执行流程。流程实例启动后会产生一系列旧任务实例信息.这些任务实例信息就足供参与者来办理的,为了能找到当前用户的代办信息,需要获取任务列袁。任务列表通过如下语句获取: LisLlist=taskMgmtScssion.findTaskInstance(userID) 根据某个用户的ID找到用过户列表,找到列表后调出任务就可以办理了。 (6)完成任务。流程调用TaskInstancc接口end()方法来站束当前的任务,和任务开始时样,任务的站束时间会被填写,接着下一个节点初始化开始。当前任务的结束和下一个流程节点的开始是在一个事物内完成,从而保证了数据的完整性。 2.2.3人工选择流程的走向 前面定义公文流转文什的时候.在“是否公开传阅”节点,有两个路由可以选择,一个路由是转到“分管领导审批”节点,一个是转到“置于信息公开栏浏览”节点。在xml定义流程代码中.具体表现为此节点处有两条transition语句,可以人工选择流程的走向。 2.2.4程序自动选择流程走向 通过设置decision节点来自动选择流栏走向,在xmI定义流程代码中,具体表现为在decision节点中定义JBPM特有的</condilion>标记来实现选择条件的判断,从而实现流程走向的自动选择。 2.2.5使用泳道为多个任务指定相同的参与者 当一个人处理多个任务,为了避免jaca类的过度膨胀,JBPM提供了泳道(Swimlane)的方式用来解决这一问题。 2.2.6会签的应用 在OA中,为了科学决策和避免腐败,对于某些任务需要多个用户共同完成,这就是JBPM中的会签技术。在图1中,A部门和B部门领导都批准公文后,任务才完成,交由主办人汇总。在这里可以通过Action动态创建TaskInstance来“会整”。 3结束语 JBPM工作流系统应用于OA系统当中,使得OA有关流转问题容易实现。JBPM的开放性、可扩展性、图形化建模等特性,在处理这些工作流模型时,可以快速灵活地部署,及时满足客户的需求,是一个理想的工作流引擎。 责编:罗信 微信扫一扫实时了解行业动态 微信扫一扫分享本文给好友 著作权声明:畅享网文章著作权分属畅享网、网友和合作伙伴,部分非原创文章作者信息可能有所缺失,如需补充或修改请与我们联系,工作人员会在1个工作日内配合处理。 |
|
|