[轉]使用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規範,也是建立和遵循標準的意義所在。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章