[转]使用Joinwork Process Studio创建jBpm和Activiti流程定义文件 [转]使用Joinwork Process Studio创建jBpm和Activiti流程定义文件

转自【www.bpmn123.net

   BPMN2.0规范提供了通用的扩展机制,方便BPMN软件工具或引擎厂家添加自己特有的属性。大家熟悉的开源BPMN项目jBpm和Activiti就大量的使用了BPMN标准扩展机制,来实现自己特有的功能。

下面介绍如何使用Joinwork Process Studio创建带扩展属性的jBpm和Activiti流程定义文件。

jBpm
jBpm 5 在Process元素中增加了扩展属性"packageName"指定流程所属的包名,另外还增加了扩展元素"import"来引用java Class。下面这段BPMN定义文件片段就使用了这两个扩展属性:

Xml代码   收藏代码
  1. < process   id = "Import"   name = "Import Process"   tns:packageName = "com.sample"   >   
  2.   
  3.    < extensionElements >   
  4.       < tns:import   name = "java.util.List"   />   
  5.       < tns:import   name = "java.util.ArrayList"   />   
  6.    </ extensionElements >   
  7. ...  
  8. </ process >   



下面是在Joinwork Process Studio中创建上述内容的过程:

1、新建一个BPMN文件或打开一个已有的BPMN文件。

为加入jBpm的扩展属性,我们需要先添加一个jBpm命名空间“http://www.jboss.org/drools”。

在Stuio左侧的流程定义模型树中选择根节点,然后在属性页面中点击"增加命名空间"打开"命名空间属性"窗口。



分别在"命名空间属性"窗口中的"前缀"和"uri"中输入"tns"和"http://www.jboss.org/drools"
,选择确定。
前缀不一定必须是"tns",只要不与现有的命名空间前缀重复就可以。jBpm的uri必须是http://www.jboss.org/drools。

2、在左侧的流程定义模型树中选择要添加扩展属性的"Process"节点,在下方的Process属性标签页面中选择"备注"标签页。



在备注标签页中单击"增加扩展属性"打开"扩展属性"窗口,"扩展属性"窗口的"扩展命名空间"下拉列表框中选择前面添加的jBpm命名空间,在"属性名称"中输入"packageName",属性值中输入"com.sample",选择确定。

3、在备注标签页中的"扩展元素"输入框中输入以下内容:

Xml代码   收藏代码
  1. < tns:import   name = "java.util.List"   />   
  2. < tns:import   name = "java.util.ArrayList"   />   





4、保存BPMN定义文件,结束。

Activiti

Activiti有一个自定义的mailTask,是由标准的serviceTask扩展来的,下面创建包含mailTask的Activiti流程模型。

1、选择流程模型树的根节点,增加一个新的命名空间,前缀为:"activiti",uri为"http://activiti.org/bpmn";

2、创建一个类型为"服务-Service"的任务,在此任务的"备注"标签页里,增加一个新的扩展属性。新扩展属性的命名空间是:"activiti:http://activiti.org/bpmn",属性名称是"type",属性值是"mail";

3、在任务"备注"标签页的"扩展元素"输入框里输入以下内容:

Xml代码   收藏代码
  1. < activiti:field   name = "from"   stringValue = "[email protected]"   />   
  2. < activiti:field   name = "to"   expression = "${recipient}"   />   
  3. < activiti:field   name = "subject"   expression = "Your order ${orderId} has been shipped"   />   
  4. < activiti:field   name = "html" >   
  5. < activiti:expression >   
  6. <![CDATA[  
  7. <html>  
  8. <body>  
  9. Hello ${male ? 'Mr.' : 'Mrs.' } ${recipientName},<br/><br/>  
  10. As of ${now}, your order has been <b>processed and shipped</b>.<br/><br/>  
  11. Kind regards,<br/>  
  12.  
  13. TheCompany.  
  14. </body>  
  15. </html>  
  16. ]]>   
  17. </ activiti:expression >   
  18. </ activiti:field >   



4、保存更新的BPMN文件即可。

   使用类似Joinwork Process Studio这样的通用BPMN 2.0 建模工具就能够方便的为第三方符合BPMN标准的软件创建BPMN定义文件,这完全得益于新的BPMN 2.0规范,也是建立和遵循标准的意义所在。

猜你喜欢

转载自arronzhen.iteye.com/blog/1545866
今日推荐