简单介绍jBPM与SSH的完整实例

简单介绍jBPM与SSH的完整实例,如果是其它版本的框架也很容易做程序的迁移。

流程的定义

流程的定义建议使用jBPM提供的eclipse下的插件,图形化配置插件安装文件可以到jbpm-starters-kit-3.1.4\jbpm-designer\jbpm-gpd-feature\eclipse下找到,需注意版本。使用这种方式可以把定义的流程描述的三个文件压缩成zip包,统一的部署到数据库中,方便b/s系统中显示图片当前节点信息。

1插件安装

把jbpm-gpd-feature文件夹复制到C:\Program Files\MyEclipse-6.0M1\eclipse\plugins下,注意自己的ecplise路径。

在C:\Program Files\MyEclipse-6.0M1\eclipse\links文件夹下建立jbpm-gpd.link文件。内容如下:path=C:\\Program Files\\MyEclipse-6.0M1\\eclipse\\plugins\\jbpm-gpd-feature。

这样再重新启动eclipse就可以使用流程定义功能了。

2流程的定义

在Eclipse环境中选择file->new->other下的jboss jbpm->process definition流程定义。要在自己的项目文件中先指定文件要创建的文件夹。

这样会产生三个文件:gpd.xml、processdefinition.xml、processimage.jpg。

processdefinition.xml为描述流程定义文件,本例为:

 
   
  1. <?xml version="1.0" encoding="UTF-8"?>   
  2. <process-definition name="文档测试流程">   
  3.    <start-state name="开始">       <transition name="提交张三审批" to="张三审批"></transition>   
  4.    </start-state>   
  5.    <task-node name="张三审批">   
  6.       <task name="审批1">   
  7.          <assignment actor-id="张三"/>   
  8.       </task>   
  9.       <transition name="提交李四审批" to="李四审批"></transition>   
  10.    </task-node>   
  11.    <task-node name="李四审批">   
  12.       <task name="审批2">   
  13.          <assignment actor-id="李四"/>   
  14.       </task>   
  15.       <transition name="提交王五审批" to="王五审批"></transition>   
  16.    </task-node>   
  17.    <task-node name="王五审批">   
  18.       <task name="审批3">   
  19.          <assignment actor-id="王五"/>   
  20.       </task>   
  21.       <transition name="结束流程" to="结束"></transition>   
  22.    </task-node>   
  23.    <end-state name="结束"></end-state>   
  24. </process-definition>  

processimage.jpg文件是定义流程产生的图片、gpd.xml文件是图形文件的座标说明。用于在b/s下显示流程流转的图片位置。

本例中的gpd.xml文件

 
   
  1. <?xml version="1.0" encoding="UTF-8"?>   
  2. <process-diagram name="文档测试流程" width="801" height="477">   
  3.   <node name="开始" x="308" y="4" width="140" height="40">   
  4.    <transition name="提交张三审批">   
  5.       <label x="5" y="-10"/>   
  6.     </transition>   
  7.   </node>   
  8.   <node name="张三审批" x="310" y="90" width="140" height="40">   
  9.     <transition name="提交李四审批">   
  10.       <label x="5" y="-10"/>   
  11.     </transition>   
  12.   </node>   
  13.   <node name="李四审批" x="313" y="192" width="140" height="40">   
  14.     <transition name="提交王五审批">   
  15.       <label x="5" y="-10"/>   
  16.     </transition>   
  17.   </node>   
  18.   <node name="王五审批" x="308" y="307" width="140" height="40">   
  19.     <transition name="结束流程">   
  20.       <label x="5" y="-10"/>   
  21.     </transition>   
  22.   </node>   
  23.   <node name="结束" x="307" y="401" width="140" height="40"/>   
  24. </process-diagram> 

你可能感兴趣的:(jbpm)