人工交互是商业流程管理解决方案中非常重要的组成部分,在实际应用中人工任务流的动态性需求也是十分普遍,如人工任务的回退、跳转,是工作流动态性的重要需求。WebSphere Integration Developer作为商业流程的开发工具,在6.2版本中引入了一个新的BPEL Activity元素Collaboration Scope,为开发动态的人工任务流提供了丰富的支持,本文将从实例出发详细介绍在WID中如何使用Collaboration Scope来创建动态的人工任务流程。
Collaboration Scope简介
Collaboration Scope是WID在6.2版本中新增加的Activity类型。Collaboration Scope类似普通Scope元素,可以在其中添加多种Activity来创建业务逻辑.但是并不是所有的Activity都可以在Collaboration Scope内部使用,它只支持使用Basic Activity目录下的BPEL Activity,不能添加Receive/ Choice元素,也不能添加任何Structure目录下的BPEL Activity。另外在Collaboration Scope中也不支持fork gateway的连接关系。
为什么使用Collaboration Scope
我们选择Collaboration Scope的首要原因,它能够为工作流程特别是人工任务流程带来巨大的动态性。添加到Collaboration Scope中的商业逻辑和Collaboration Scope以外的商业逻辑比较,具有以下两种动态性属性:一,Collaboration Scope的管理员角色的用户可以在流程运行时动态的实现流程的自由跳转。二,通过为Collaboration Scope内的Activity定义退出条件,来实现这个Activity的自动跳过或者自动重复。
如何使用退出条件
退出条件是一种实现自动跳过或者自动重复某个Activity的机制。这种机制不需要管理员干预,在流程运行时设定的退出条件达到,那么对应的Activity会自动的跳过或者重做。同时,每个Activity有两种退出条件分别是on entry和on exit,它们分别对应实现Activity的跳过和重做动作。
其中,on entry的退出条件是在这个Activity执行前进行求值。如果值为真(True),则自动跳过这个Activity,否则正常执行这个Activity。
on exit的退出条件是在这个Activity被执行后进行求值。如果值为假(false),则自动重复执行这个Activity,否则正常退出并执行连接的下一个Activity。
Folder变量
每个Collaboration Scope节点都需要设置绑定一个Folder变量,该变量的数据类型是预定义的数据类型tCaseFolder,该数据类型定义会在第一次使用Collaboration Scope时自动的导入到用户工程中来,位于StandardImortFileGen目录下。导入的这些数据中就包括tCaseFolder数据类型的定义.在导入数据文件之后,可以创建一个tCaseFolder类型的Folder变量。
后期在Business Space中执行流程时,这个Folder变量会对应一个共享资源的文件夹。用户在执行该collaboration scope中的人工任务时可以添加删除里面的资源,这些资源可以是一些在线的文档,网页或者其他相关网络附件.通过这个资源目录, collaboration scope内部的多个人工任务节点可以实现共享业务资源和传递业务数据。下图就是在Business Space的Task Information Widget中向Collaboration Scope的资源目录中添加资源的界面。
在一个流程中如果添加过一个collaboration scope,那么再次用到collaboration scope时可以选择重用已经创建的Folder变量,这样可以在不同的collaboration scope间共用一个资源目录。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
Impact 2012:SOA 3.0时代全面开启
现在的面向服务架构——SOA并不如以前那样耀眼夺目,而是以“服务”的形式出现在更多的场合中,然而,SOA已经焕发出全新的生机。
-
SOA知识工具包:中间件厂商产品攻略
对于软件架构师和开发者能否正确理解SOA开发平台的互操作性和性能,我们不得而知,因为IT产业中太多东西缺乏标准或者标准不健全。
-
WebSphere ESB中的大型对象最佳实践和调优
确保在大型对象系统处理方面获得最优性能是中间件软件用户面临的一个常见问题。通常,大于或等于1M的对象被认为是“大型对象”,需要特别注意。
-
IBM在大型主机环境中引入BPM
BMC提供的一份调查报告中显示,在充满商业挑战的市场中,大型主机仍然会是企业关键业务交易处理的可靠平台。调查中显示,大型主机将会在今后的几年里,通过更丰富的技术手段承担更多的工作量。