`

[转]使用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 = "order-shipping@thecompany.com"   />   
  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规范,也是建立和遵循标准的意义所在。

分享到:
评论

相关推荐

    joinwork2.jar

    该jar包为joinwork的api joinwork是现在比较流行的工作流

    joinwork API

    joinwork 工作流 API,便于开发时查阅

    Joinwork工作流引擎总体设计分享.pdf

    Joinwork工作流引擎总体设计分享.pdf

    OA数据库设计.docx

    Email 邮箱 Graduation 毕业院校 Discipline 专业 StydyId 学历 id DegreedId 学位 id LanguageId 语种 id LangLevelID 外语水平 Ficate 获得证书 FileLeave 档案所在地 JobTime 参加工作时间 JoinWork 加入公司时间...

    OA数据库设计(1).doc

    "Varchar(50)"否 "否 "档案所在地 " "JobTime "参加工作时 "Datetime "否 "否 "参加工作时间 " " "间 " " " " " "JoinWork "加入公司时 "Datetime "否 "否 "加入公司时间 " " "间 " " " " " 3、用户角色表(RoleInfo)...

Global site tag (gtag.js) - Google Analytics