当前位置:文档之家› 工作流的基本模式

工作流的基本模式

工作流的基本模式1、顺序(Sequence )模式描述:只有当前一个活动结束后,后一个活动才会被触发,即按照预定的任务列表,有序的执行。

(提交一亍日UG、______________________ 弍FEX该日UG、 _______________________________ Close^BUG2、并行(Parallel Split)模式描述:- 一个活动的结束能够触发若干个活动的开始,这些被触发的活动能以并行的方式同时或按任意顺序举例:当提交一个BUG时会分别向BUG信息表和BUG日志表中添加相应记录进行3、同步(Synchronization )模式描述:如果不考虑超时(一般流程会设定任务执行期限)和异常等情况,流程必须在聚合点等待所有的分支都执行完(到达And汇聚点)才能激活后继任务,才能正确的往下运行。

举例:支持人员分派的问题由开发人员修改,然后不仅要经过测试人员验证通过还要再次经支持人员验证通过才能Close该BUG。

4独占式选择(Exclusive Choice )模式该模式分为显式独占模型(explic Exclusive Choice )和隐式独占选择模式(implicit ExclusiveChoice)1)显式独占选模型(explic Exclusive Choice ) 描述:当一个活动处理完后,其后有若干个分支流程可供选择,但根据工作流控制数据(workflow control data )只允许选择其中某一个分支运行。

XOR1 1t<Task D j LUTask BTiisk CTask D如上图所示,虽然在任务Task A后可以三个不同的活动流程可被选择,但是仅Task D满足条件, 造成后续的流程中,走了A―― D分支,而另外的分支被抛弃。

举例:当PSO人员提交一个问题时,该问题的类型需要被确定。

如果是产品的错误而引起的那么问题类型即为BUG ;如果是由于客户的操作失误而引起的那么问题类型即为ISSUE ;如是对产品的有价值的建议,那么问题的类型即为ADVICE ;由上可知,当确定问题类型时三种只能选其一。

2)隐式独占选模型(implicit Exclusive Choice ) 描述:同为XOR模型,隐式和显式的区别不是太大。

唯一的不同点就是,隐式独占选模型在可供选择的分支中存在存在若干个分支满足条件,但最终,依然仅有一个分支运行。

Task BXORI-. I如上图所示,存在分支 A —C和分支A—D都满足条件,但最终也依然只能有一个分支被激活。

至于哪一个分支被激活,这可能是人为的操作,也可能是某种随即的自动选择。

不论哪种方式,人须保证一个分支被激活后,其他分支被抛弃。

举例:PSO的人员在提交问题的时候,他会根据问题的来源将它提交给负责相应区域的支持人员。

但是,具体提交给负责该区域的哪一位支持者,就由PSO的人员自己决定或系统随机产生。

不管如何选择都必须有一位支持人员要接收该问题。

不管是显式独占模型(explic Exclusive Choice )还是隐式独占选择模式(implicit ExclusiveChoice )他们的执行流程都是一样的。

5、简单聚合(Simple Merge)模型描述:前面的若干个分支,只要有一个活动被执行(假定不存在两个分支同时被执行) ,后面的活动就会被触发。

当然,一旦某一个分支被通过。

则余下的分支则被终止,或者运行到聚合点就结束。

举例:如果产品中存在某个BUG那么可能会被不同地方的用户发现,但只要有一个地方的PSO人员提岀这个问题BUG就会得到处理。

当其它地方的PSO再次提岀该问题的时候就不会重复处理了6、强制循环模式模式描述:在一个流程实例中,有些活动是需要多次执行的。

模式所解决的问题:在流程中需要回流到某一个以前的节点。

模式应用举例:在一个审批流程中,如果经理不审批,则审批发起人需要重新提交审批申请,直到经理审批同意。

7.隐式终止模式模式描述:在一个流程实例中,当执行完所有的激活的活动之后,该流程实例应该终止模式所解决的问题:流程引擎必须决定什么时候流程终止。

模式应用举例:在一个客户服务流程中,当给客户发送信息之后,流程必须终止牛Repty8.活动取消模式模式描述:在一个流程实例中,是否执行某一个活动取决于运行时的条件判断。

模式所解决的问题:在流程中,必须根据运行时的条件来决定是否跳过某一个活动。

模式应用举例:在一个网上订货流程中,客户可以选择客户化过程,也可以选择使用默认的选项,这时,流程需要跳过客 户化过程。

解决方案:1)使用一个接受选项(receive choice ),添加两个路径,一个是正常路径,执行正常活动,一个是满 足某个条件时跳过该活动。

曹Receive 1..,—、一 .............................. ............ ........ ―1[8AssignI撐 Invoke 3 QWaitReceive Choice9.实例取消模式模式描述:在一个流程实例中,在某一步时终止整个实例。

模式所解决的问题:流程引擎必须可以终止流程实例,该流程实例的所有子流程也必须全部终止。

模式应用举例:在一个订单流程中,客户在货物发送之前可以取消订单,进而终止整个流程。

解决方案:1)使用终止活动节点,终止整个流程实例10.延迟选择模式模式描述:在个流程实例中存在多个执行路径,具体要执行某一个路径取决于外界的运行时状态。

模式所解决的问题流程的运行路径取决于一些条件,但流程本身没法决定走哪一条路径。

模式应用举例:在一个付款流程中,客户可以选择不同的付款方式,不同的付款方式将决定付款流程如何走。

解决方案:使用接受选项(receive choice),通过接收流程外不同的消息,来决定流程走哪一条路径。

»R PTPIVP CT I niriaL —一-——4onMcssaqe on Alami4_____ 寺| 疥 Invoke夕Invoke■ Terminate11交替平行路由模式在一个流程实例中,存在多条可以并行执行的路径,根据外界的条件,可以执行其中一条。

模式所解决的问题:流程需要以任意顺序执行一些活动,但不能同时执行两个活动。

模式应用举例:在一个审批流程中,经理可以同意或者拒绝一个请求,但每次只能处理一个请求。

解决方案:1)创建一个并行流。

=0 Receive12里程碑模式模式描述:在一个流程实例中,一个活动能否执行取决于一个指定的状态。

也就是说,只有在到达一个特定的未过期的里程碑时,活动才被执行。

模式所解决的问题:任务节点的可用性取决于特定的状态条件,也就是说任务只有在某一里程碑已经达到并且还没有过期的时候才可被激活。

模式应用举例:在一个论文审批流程中,论文提交后,该论文必须在3周内被3个审阅者审阅才可以发表。

解决方案:<5^ Invoke 护Invoke1 )在一个并行流中,加入两个分支,一个利用延迟选择来控制业务逻辑,另一个分支用来处理时间过期| 电> Revive ChC收「~*1®WaltI(占CemclMtMty申Receive article申Verly art telefonnat and styleSet receivedreviewsto ;ero@ vvhie reviews tMn threeI” CantElb publishRevels 耳JR?朋i rcjcccn Cancc. ptbii^b+A"Apprfti■* Remove x> Postpone toJ article artide C nei(t issue* _______ J+二:I roe me nt Ina^ment Set to three2)直接用延迟选择来控制业务逻辑,时间过期的处理用时间来完成Enableactivity{;沪Wkjenabted粉Reocivc ChoicegfXT itjg ECura pjb' sft一…一*——7―* Approve* Rcm^e申toarticlea it J deneA t&5uc*— Increment —IncrementSet to three第一步:论文作者在网上提交论文,网上应用发送一个带有论文信息的 第二步:第一个调用活动检查论文的格式。

第三步:已被审阅计数器置零。

第四步:进入两个分支,左边分支等待审阅者意见,右边分支等待时间即三周备注:由于里程碑模式比较复杂,下面以一个论文审批流程为例来说明:XML 格式的文件到该流程 Verify article format and style----------- {奇 Receive Choke } ---------------审Verily aitcle format and style1Set necehed reviews 柏 zero第五步:选择接收活动等待接受评阅者的意见。

第六步:如果有一个审阅者审批同意,则审阅计数器加一,并等待其他两个审阅者的意见。

第七步:当然,审阅者也可以拒绝,同样审阅计数器加一,并等待其他两个审阅者的意见。

1 +15}金 Re«jve Choke并 Approx宁 Remow3rtide art cfe +*:二 Increment | 二 IncrementCancel publish .申 Postponeto G next tisue(6 : 7I 鼬(Wicwh ricv^^cf rrpetsanWhite reviews less thanSec ID three - - 11 」第八步:三周后,计时器激活,并发送cancel 消息Y”带 Verfy articlefbnnat and sty I*Set received review to zeroffl 媲ItCAttaal .publth毒 Recede ChoiceF厂 /: ----- EdwrcnjQ ,I际砂or 忙呼6»> Apfiuve article申 Reinke aftkfeIncrementIncrernentWhSe reviews It 曲 than■Cantes [Xjb. JiSet tor Postpone tone« issue第九步:选择接收活动接受到cancel消息,执行相应处理,置计数器为三,循环退岀,流程结束。

相关主题