作流建模及Shark工作流引擎的实例说明
一、JAWE工作流建模
1、 创建一个包
点击新建包。
图1.1
类型:text/java, text/javascript and text/pythonscript 有这三种。
2、 创建应用
2.1 新建一个应用
图1.2
这里新建了一个strongit_App1应用,并新建下面的一个形式参数为String类型。
2.2 新建一个形式参数
图1.3
2.3 同样再创建两个应用
同样的方式再新建两个应用。
图1.4
3、 新建工作流相关数据
图1.5
4、 新建过程
4.1 创建过程
图1.6
右键选择对过程的操作
图1.7
4.2 修改过程属性
图1.8
4.3 编辑过程
新建参与者
图1.9
4.3.1 新建参与者
图1.10
这里新建了两个名字分别为员工和部门经理两种角色的参与者。
图1.11
只有在新建了参与者后才能新建活动。
4.3.2 新建活动
活动类型有开始/结束、子活动、块活动和普通活动及路径活动,创建好活动后用转移线连接个活动。
在本例只用了开始/结束和普通活动。
开始/结束活动没有属性设置,
下面对请假申请活动进行说明:
(1)、常规属性说明
这里名字改成:请假申请(是活动的名字)
开始模式:改成 Manual
图1.12
(2)在工具属性里新建一个工具与前面定义的应用相关连
图1.13
在新建工具界面里的应用选择前面定义的申请应用。如果前面定义的应用有形式参数,则一定要新建一个实际参数与形式参数相匹配。这里的实际参数是前面定义的工作流相关数据。
图1.14
图1.15
这样一个简单的活动就定义完成了,这里定义了活动与应用的关连。
4.3.3 用同样的方法定义经理审批与归档活动。
过程定义好已后,对工作流建模过程进行合法性检测。
图1.16
二、下面对刚建好的工作流建模过程进行配置
2.1 加载建模文件
启动Shark服务及管理端程序,登入后到Package management
图2.1
点击下面的Load按钮
图2.2
选择上步建模好的xpdl文件。再点击Load进行加载,图2.1中就会出现红线框里的内容。
2.2 关联用户
选择,User management->Mapping界面,点击add按钮,出现图2.4界面进行用户角色关联。
图2.3
图2.4
在这里选择员工角色与qq 用户关联,部门经理角色与admin用户关联。关联后出现图2.3的红线框内容。
2.3 应用程序关联
选择Application mapping,点击add按钮,出现图2.6界面。
图2.5
图2.6
这里是关联一个JAVA class的应用,
在 Select application 里是建模定义的应用。
图2.7
Select tool agent工具代理是Shark提供所有的代理工具,这里因为应用是一个JAVA class就选择 org.enhydra.shark.toolagent.JavaClassToolAgent
图2.8
下面Application name是应用程序Class类的全称,这个类一定要在classpath里。
这个类必需要有一个静态的execute方法,如果上面定义的应用有形式参数,则要用
import org.enhydra.shark.api.internal.toolagent.AppParameter; 作为参数。
如下代码:
public static void execute(AppParameter a) {
System.out.println("应用程序app1+a:" + a.the_value.toString());
}
图2.9
点击apply按钮,在图2.5界面里出现红线框里的内容。
2.4 实例化一个流程实例
选择Process Instantiation management界面,选择前面加载的流程,点击下面Instantiate按钮创建一个流程实例。
图2.10
2.5 查看用户工作列表
选择Worklist management界面,选择qq,出现用户qq的工作列表可以看到用红线框框出的工作是刚创建的一个流程实例工作项。
图2.11中的红线框里的按钮可以更改工作项的执行人。
图2.11
图2.12
图2.13
2.6 查看实例进度及实例管理
选择Process monitor,选择流程,下面将列出所有的实例,点击可以在右边区域里看到进度,就是流程目前处于哪个活动。如下图黄色活动节点表示当前所处的活动节点。
在下边有对当前选择的流程实例进行管理的一些操作按钮。
图2.14
三、配置到Web服务器应用
一、JAWE工作流建模
1、 创建一个包
点击新建包。
图1.1
类型:text/java, text/javascript and text/pythonscript 有这三种。
2、 创建应用
2.1 新建一个应用
图1.2
这里新建了一个strongit_App1应用,并新建下面的一个形式参数为String类型。
2.2 新建一个形式参数
图1.3
2.3 同样再创建两个应用
同样的方式再新建两个应用。
图1.4
3、 新建工作流相关数据
图1.5
4、 新建过程
4.1 创建过程
图1.6
右键选择对过程的操作
图1.7
4.2 修改过程属性
图1.8
4.3 编辑过程
新建参与者
图1.9
4.3.1 新建参与者
图1.10
这里新建了两个名字分别为员工和部门经理两种角色的参与者。
图1.11
只有在新建了参与者后才能新建活动。
4.3.2 新建活动
活动类型有开始/结束、子活动、块活动和普通活动及路径活动,创建好活动后用转移线连接个活动。
在本例只用了开始/结束和普通活动。
开始/结束活动没有属性设置,
下面对请假申请活动进行说明:
(1)、常规属性说明
这里名字改成:请假申请(是活动的名字)
开始模式:改成 Manual
图1.12
(2)在工具属性里新建一个工具与前面定义的应用相关连
图1.13
在新建工具界面里的应用选择前面定义的申请应用。如果前面定义的应用有形式参数,则一定要新建一个实际参数与形式参数相匹配。这里的实际参数是前面定义的工作流相关数据。
图1.14
图1.15
这样一个简单的活动就定义完成了,这里定义了活动与应用的关连。
4.3.3 用同样的方法定义经理审批与归档活动。
过程定义好已后,对工作流建模过程进行合法性检测。
图1.16
二、下面对刚建好的工作流建模过程进行配置
2.1 加载建模文件
启动Shark服务及管理端程序,登入后到Package management
图2.1
点击下面的Load按钮
图2.2
选择上步建模好的xpdl文件。再点击Load进行加载,图2.1中就会出现红线框里的内容。
2.2 关联用户
选择,User management->Mapping界面,点击add按钮,出现图2.4界面进行用户角色关联。
图2.3
图2.4
在这里选择员工角色与qq 用户关联,部门经理角色与admin用户关联。关联后出现图2.3的红线框内容。
2.3 应用程序关联
选择Application mapping,点击add按钮,出现图2.6界面。
图2.5
图2.6
这里是关联一个JAVA class的应用,
在 Select application 里是建模定义的应用。
图2.7
Select tool agent工具代理是Shark提供所有的代理工具,这里因为应用是一个JAVA class就选择 org.enhydra.shark.toolagent.JavaClassToolAgent
图2.8
下面Application name是应用程序Class类的全称,这个类一定要在classpath里。
这个类必需要有一个静态的execute方法,如果上面定义的应用有形式参数,则要用
import org.enhydra.shark.api.internal.toolagent.AppParameter; 作为参数。
如下代码:
public static void execute(AppParameter a) {
System.out.println("应用程序app1+a:" + a.the_value.toString());
}
图2.9
点击apply按钮,在图2.5界面里出现红线框里的内容。
2.4 实例化一个流程实例
选择Process Instantiation management界面,选择前面加载的流程,点击下面Instantiate按钮创建一个流程实例。
图2.10
2.5 查看用户工作列表
选择Worklist management界面,选择qq,出现用户qq的工作列表可以看到用红线框框出的工作是刚创建的一个流程实例工作项。
图2.11中的红线框里的按钮可以更改工作项的执行人。
图2.11
图2.12
图2.13
2.6 查看实例进度及实例管理
选择Process monitor,选择流程,下面将列出所有的实例,点击可以在右边区域里看到进度,就是流程目前处于哪个活动。如下图黄色活动节点表示当前所处的活动节点。
在下边有对当前选择的流程实例进行管理的一些操作按钮。
图2.14
三、配置到Web服务器应用