您的位置:首页 > 产品设计 > 产品经理

JBoss 系列七十四:使用 BPMN2 Modeler 创建 jBPM 6 流程

2013-12-26 16:24 513 查看

概述

流程设计在BPM中占很重要的地位,本文演示如何使用 BPMN2 Modeler 创建一个BPMN流程,并运行该流程,如前面 jBPM 6 开发 eclipse 插件安装中介绍的,插件安装完成BPMN2 Modeler已经安装,更多关于BPMN2 Modeler参照:

http://www.eclipse.org/bpmn2-modeler/
https://github.com/eclipse/bpmn2-modeler

创建一个流程

1。打开eclipse,选择要保存流程的目录,New -> Other -> jBPM -> BPMN2 Process -> Next,输入流程的名字,点击 Finish,创建初始化流程,只包含一个开始节点事件,如下图所示:



2. 将鼠标移动到开始节点之上,或出现相关的提示,点击这些快速提示图标,可以快速创建流程,如下为快速提示图标样式:



从上到下,我们依次介绍这些快捷图标:

删除当前节点
显示当前节点属性
添加新节点,可快速添加的包括任务(User Task, Rules Task, Send Task, etc),子流程等
添加Gateway,Gateway包括聚合的,分散的,平行的,时间驱动的等
添加一个事件,最常用的快捷方式,它可添加流程中间事件,结束事件等
添加一个连接,连接到流程下一个节点

3.
使用添加节点方式添加一个Script Task,命名为Start, 如下:



双击 Start节点,或在Properties部分可编辑节点,我们首先Description部分修改节点名为Start,选择Script Task可以进行编辑Script ,可选择的Script
包括MVEL和java,我们次数选择java,编辑Script如下:



如上所示,我们定义的Script 为java如下:

long id = kcontext.getProcessInstance().getId();
String name = (String)kcontext.getVariable("recipient");
String log = "process " + id + " started by " + name;
System.out.println(log);
即当流程运行到此节点执行如上的java代码端,如上代码端从流程中获取变量recipient及流程ID,输出日子。

4.
添加新的User Task节点,User Task是指流程必须有认为参与才能继续进行,同样双击节点,或在Properties部分可编辑节点,我们首先Description部分修改节点名为StartApproval by PM,如下日图所示:



Properties -> User Task -> Actors,添加一个Actor john,即john为执行该User
Task的用户,如下图所示:



同样 Properties -> User Task -> On Exit Script 处添加退出执行的Script,如下:



如上,当User Task(Approval by PM)节点被john执行后节点退出时执行如上Script中的java代码,该代码端是通过ProcessContext获取到当前流程的ID,输出日志“john
approved process ...”。

5. 完全类似于上面步骤4,添加“Approval by HR” User Task节点,设计actor名字为mary,及流程需要mary来执行,流行执行结束时同样执行Java
代码,输出相关的日志,相关的Script如下:

long id = kcontext.getProcessInstance().getId();
String log = "mary approved process " + id;
System.out.println(log);
流程设计到此大致构造如下:



6.
完全类似于第3步添加End节点,该节点为Script节点,即此当节点执行时,相关Script java 代码如下:

long id = kcontext.getProcessInstance().getId();
String log = "process " + id + " finished";
System.out.println(log);
到目前流程如下:



7. 与开始节点相对应,我们添加一个结束节点,流程执行到该节点表示流程执行结束,最终流程如下图所示:



运行流程

使用代码(https://github.com/kylinsoong/jbpm-6-examples/blob/master/rewards/src/main/java/org/jbpm/demo/rewards/ProcessMain.java)可以运行如上设计的流程,流程执行会有如下输出:

process 31 started by kylin
john approved process 31
mary approved process 31
process 31 finished
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐