JBPM基于Spring系统工作流平台整合5------流程定义和部署(原创)
声明:该文系作者原创,如您用于商业用途或者论文发表,请您一定要通知作者本人同意方可引用。
首先描述一下要实现的工单。
以请假单为例,提交请假单给所在的项目经理,项目经理审批后,如果大于等于40小时的给人力资源审核,然后给部门经理审核,小于40小时直接部门经理审批,审批完后交由总经理审核。
流程定义
jBPM流程模型定义需要用eclipse插件,必须用eclipse,不能用myeclipse插件,否则流程设计器无法使用。
把\jbpm-jpdl-3.2.3\designer\designer\jbpm-gpd-feature\eclipse目录下的两个文件夹(不包括links文件夹)里的内容copy到Eclipse安装目录下对应的目录里。
其中processdefinition.xml为流程定义文件,gpd.xml为节点的坐标,processimage.jpg为流程定义生成的图像文件。
请假单流程模型有以下节点:
一个开始节点
一个结束节点
五个任务节点
五个decision节点
流程模型定义的Description上写清楚该工单的中文名称,作为流程定义模型的解释补充。
每个Task Node新建一个任务,尽管一个任务节点可以新建多个任务,一般来说只建一个任务。
以变量方式制定参与者
Decision节点,根据条件判断控制流程扭转的走向,主要是进行变量设置
如果有条件变量控制的,直接在XML中定义编写,如下图所示:
流程定义部署
将流程定义文件包括gpd.xml、processdefinition.xml以及processimage.jpg三个文件打包成Zip包文件。
否则流程图显示不出来,一定要将三个文件打包部署。
附:JBPM常用表
JBPM_PROCESSDEFINITION 流程定义表
JBPM_NODE 流程节点表
JBPM_TASK 任务表
JBPM_TRANSITION 流程转向表
JBPM_ACTION 流程动作action记录表
JBPM_DECISIONCONDITIONS 结果条件表
JBPM_EVENT 流程事件表 处理进入或者离开事件
JBPM_EXCEPTIONHANDLER 异常处理表
JBPM_MODULEDEFINITION 模块定义表
JBPM_DELEGATION 委托表
JBPM_SWIMLANE 泳道表
JBPM_PROCESSINSTANCE 流程实例表
JBPM_TOKEN 令牌表
JBPM_TASKINSTANCE 任务实例表
JBPM_VARIABLEINSTANCE 变量实例表
JBPM_SWIMLANEINSTANCE 泳道实例表