`
timeson
  • 浏览: 144368 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

工作流模式_高级分支和同步模式(C3)

阅读更多
这五个模式的共同点在于:都是在基本控制流模式的基础上提供附加的流程控制,包括:
  •  Multiple choice(多选择模式)
  •  Synchronizing merge(同步合并模式)
  •  Multi-merge(多合并模式)
  •  Discriminator(鉴别模式)
  •  N-out-of-M join(M 选 N 加入模式)



WP_06、Multiple choice(多选择模式)
描述:在流程中,当一个活动完成以后,有多个分支进行选择,可以选择其中的一个或者多个分支,即“多选多”。
在Petri网语意中,存在一个显式or_split,并作为路由活动。
 人工活动1 执行完后,可以选择auto活动1,2,3的活动,如下图,当时间为2小时,类似为xor_split类型活动,能执行auto活动1;
 当时时间为5小时,能执行活动1,2,
 当时间为10个小时,后续3个活动均可执行,类似and_split类型活动。



                                       图wp06:多选模式


                                       图wp06:多选模式(flash)


WP_07、Synchronizing merge(同步合并模式)
描述:在流程中的某个聚合点,多个分支路径合并成一个路径。在聚合点,流程会等待所有的分支到来,才能激活发续的活动。



                                       图wp07:同步汇聚模式

                                       图wp07:同步汇聚模式(flash)


一种典型的应用场景如图wp07,一个or_split和or_join配对使用,形成一个闭合的流程
 当前时间为2个小时,启动的后续活动为auto1,则or_join发现auto1完成后,马上执行人工活动2。
 当前时间为5个小时,启动的后续活动为auto1、2,在or_join活动发现前驱活动auto1,2完成了,才执行人工活动2。
 当前时间为9个小时,启动的后续活动为auto1、2、3,在or_join活动发现前驱活动auto1、2、3都完成了,才执行人工活动2。



WP_08 、Multi-merge(多合并模式)
描述:在流程中多个分支,在聚合时每个分支执行完都会激活后面的活动或流程(也就是会产生多实例)。与WP05的简单聚合模式的区别在于:简单聚合的分支只有一个可执行并且后续活动只激活一次(这里是借助xor_split路由活动);而多重聚合是多个分支可执行,后续活动激活多次,产生多实例。
这里的多个实例产生是需要同步的,即auto2和auto3不能同时激活auto5,只能等待auto5的前一个实例执行完毕,才能自动第2个auto5活动实例




                                图wp08:多重合并模式


                                图wp08:多重合并模式(flash)

WP08的多重合并模式中,把xor_split换成了or_split,从而后续活动可以启动多条,auto活动5之前没有一个同步汇聚的路由活动,势必有多次前驱活动会激活auto活动5。
典型的场景:比如auto5是个邮件发送活动,当前驱auto2,auto3完成后,分别调用auto5活动,也就是说auto5会被执行2次。



WP_09、Discriminator(鉴别模式)
描述:在流程中的某个聚合点,等待所有的分支(可能是并行分支,或者是多重选择分支)中的第一个分支执行到达后,就立刻激活后续活动;与此同时,流程仍然要等待其余的分支执行完成,并忽略它们。
比如下面的应用场景,设定的鉴别条件为3个分支只要有一个到达就执行后续活动。那当前时间为9个小时,启动了auto活动1,2,3的活动,比如auto活动1先完成,就可以先激活disc的活动,并执行后续的人工活动2;而auto2,auto3会继续执行,完成后也到达disc活动,并被该节点忽略调。
如果设定3个分支,需要2个到达(3选2,M选N),则auto1,2到达后执行人工2,并忽略auto3。


                                     图wp09:鉴别模式

                               图wp09:鉴别模式(flash)

  • 大小: 28.7 KB
  • 大小: 32.2 KB
  • 大小: 45.3 KB
  • 大小: 25.9 KB
2
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics