欢迎来到天天文库
浏览记录
ID:40317642
大小:15.05 KB
页数:3页
时间:2019-07-31
《21种工作流模式》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、21种工作流模式工作流模式是由W.M.P.vanderAalst、A.H.M.terHofstede、BartoszKiepuszewski、A.P.Barros等人于2000年提出的一个概念。他们一共总结了21种工作流模式。1.顺序(Sequence)工作流中的各个活动在同一个进程中按顺序依次执行。例子:在“发送货物”之后“发送单据”。2.平行拆分(ParallelSplit)工作流中从一个线程中的一个点拆分为在多个线程中平行执行的多个活动。例子:活动“付款”激活了“发送货物”以及“通知顾客”的执行。3.同步(Synchronization)工作流中的多个活动在一个
2、点上汇合成一个线程。例子:活动“归档”在“发票”和“收款”全部完成后被激活。4.排他选择(ExclusiveChoice)工作流中的一个点,基于决定或者工作流中的数据,流向若干个分支中的一个。5.单合并(SingleMerge)工作流程中的一个点在两个或者多个分支发生异步的汇合时执行。它假设这些分支中不存在平行执行的情况。例子:在收到支付或者确认信用之后,汽车被交付给顾客。6.多选(Multi-choice)工作流中的一个点,基于决定或者工作流中的数据,流向若干个分支中的几个。7.平行合并(SynchronizeMerge)工作流程中的多个路径在一个点被汇合成一个单一
3、的进程。如果多于一个的路径到达了,活动线程就需要进行同步。如果只有一个路径到达,那么其它的路径应该异步的重新会聚。该模式假设在一个分支被激活后,不会在等待其它分支完成的过程中再次被激活。这种模式的难点在于决定在哪些分支到达后启动活动。8.多合并(Multi-merge)工作流程中的多个分支在一个点进行异步的汇聚。如果多于一个的分支被激活——可能是并发的——每个进入分支的每个活动都在合并之后启动新的活动。9.鉴别器(Discriminator)鉴别器是工作流中的一个点,它等待进入分支中的一个完成,然后才激活其后的活动序列。从那个时刻开始,它等待所有剩余的分支完成,并且“
4、忽略”它们。一旦所有的分支都已被触发,它就会重置自己,以便能被再次触发。例子:在三个分支中的任意两个到达之后启动后面的活动。10.M中的N模式(N-out-of-MJoin)合并多条路径,进行部分同步,只执行一次后续活动11.强制循环(ArbitraryCycles)工作流中的一个点可以让一个或多个活动反复的执行。12.隐式终止(ImplicitTermination)一个子过程应该在没有什么事情可做的时候被停下来。换句话说,在工作流中没有别的活动在执行并且没有活动可被激活的时候终止。13.异步的多实例(MultipleInstancesWithoutSynchron
5、ization)在一个工作流的内部中,可以创建一个活动的多个实例,当然,这需要对新产生的线程的控制能力。14.在设计期间预先确定的多实例(MultipleInstancesWithaPrioriDesignTimeKnowledge)在特定过程中的特定活动的数量是在设计时就被确定的。一旦所有的实例都完成了,其它的活动应该被启动。例子:有关危险品的请求需要三个不同的审核。15.在运行期预先确定的多实例(MultipleInstancesWithaPrioriRuntimeKnowledge)在一个活动能够被多次激活的这种情况下,在指定情况下的指定活动的实例数量可能取决于
6、情况的特性或者资源的可用性。但是,在活动被创建之前,在运行中的某个阶段,这个数量是可以预知的。一旦所有的实例都完成了,其它的活动应该被启动。例子:在预定旅行的过程中,如果旅途包含多个飞行的话,活动“预定机票”会被多次执行。如果所有预定都完成了,发票会被发送给客户。16.无法在运行期预先确定的多实例(MultipleInstancesWithnoPrioriRuntimeKnowledge)在一个活动能够被多次激活的这种情况下,在指定情况下的指定活动的实例数量无论是在设计时或者运行时都不能在活动的实例被创建之前预先确定。但是,在活动被创建之前,在运行中的某个阶段,这个数
7、量是可以预知的。一旦所有的实例都完成了,其它的活动应该被启动。这个模式和模式14的区别在于,在某些实例运行结束之后,新的实例仍能被创建。17.延迟选择(DeferredChoice)工作流中的一个点,有一个或多个分支已经被选择。与XOR拆分相比,并没有明确的选择,但是,选择是取决于环境的。与AND拆分相比,两者中只有一个被执行。这意味着一旦环境启动了其中的一个,另一个就被取消。要注意,选择是被延迟到两个分支中的一个真正开始执行时,也就是说,选择是可以尽可能的推后的。例子:在收到货物之后,有两种方法可以将其送到。选择取决于相关资源的可用性。因此,选择会
此文档下载收益归作者所有