作者:alphaflow來(lái)源:flowyun.com訪問(wèn):285時(shí)間:2019-05-09
模式(pattern)是解決某一類問(wèn)題的方法論。把解決某類問(wèn)題的方法總結(jié)歸納到理論高度,就是模式。它是一種指導(dǎo),是一種解決某類問(wèn)題的最佳實(shí)踐。借助于模式,我們可以利用前人的經(jīng)驗(yàn)和智慧,做出優(yōu)良的設(shè)計(jì)方案,達(dá)到事半功倍的效果。
工作流模式是解決流程類問(wèn)題的方法論,是解決流程問(wèn)題的最佳實(shí)踐。工作流領(lǐng)域同樣存在著大量的不斷重復(fù)出現(xiàn)的時(shí)間,從這些實(shí)踐中發(fā)現(xiàn)和抽象出規(guī)律,并找到解決這些重復(fù)問(wèn)題的解決方案,對(duì)這些問(wèn)題及其解決方案進(jìn)行歸納總結(jié),就形成了各種各樣的工作流模式。
1999年,由荷蘭埃因霍溫大學(xué)的Wil van der Aalst教授與昆士蘭大學(xué)的Arthur ter Hofstede教授聯(lián)合創(chuàng)立了Workflow Patterns Initiative,并提出了工作流模式的概念。兩位教授一共總結(jié)了21種工作流模式(其實(shí)是21種控制模式)。2004年,Nick Russell教授加入Workflow Patterns Initiative,并擴(kuò)展提出了工作流數(shù)據(jù)模式和資源模式。2005年擴(kuò)展出了異常模式,2006年工作流控制模式被擴(kuò)展到了43種模式。經(jīng)過(guò)多年的發(fā)展,工作流模式被分為了控制模式、資源模式、數(shù)據(jù)模式、異常模式四大類。
本文先介紹一下工作流模式之控制模式??刂颇J绞橇鞒痰闹袠猩窠?jīng),負(fù)責(zé)將多個(gè)單獨(dú)的活動(dòng)組合在一起,并推動(dòng)活動(dòng)的自動(dòng)化流轉(zhuǎn),形成流程。其重要性不言而喻,因此要設(shè)計(jì)一個(gè)好的流程,就必須學(xué)會(huì)應(yīng)用各種各樣的控制模式。
在這里,我們一同來(lái)探尋21種控制模式:
基本模式(5個(gè)):
1.順序模式(Sequence)-- 即串行模式,按照順序執(zhí)行各項(xiàng)活動(dòng);
2.單選模式(Exclusive Choice) -- 即排他選擇,從多個(gè)路徑種選擇一個(gè)執(zhí)行;
3.并行分支模式(Parallel Split) -- 并行執(zhí)行活動(dòng);
4.簡(jiǎn)單合并模式(Simple Merge) -- 合并兩個(gè)或多個(gè)執(zhí)行路徑;
5.同步模式(Synchronization)-- 并行執(zhí)行的活動(dòng)同步匯聚,全部完成后才可觸發(fā)下一活動(dòng);
高級(jí)分支與同步模式(5個(gè)):
6.多選模式(Multiple Choice) -- 基于決策或者業(yè)務(wù)規(guī)則,從多個(gè)可選路徑中選擇幾路執(zhí)行;
7.多路合并模式(Multiple Merge)-- 異步合并多個(gè)執(zhí)行路徑;
8.同步連接模式(Synchronizing Join) -- 合并多個(gè)執(zhí)行路徑,若多路執(zhí)行則同步;若一路執(zhí)行則簡(jiǎn)單合并(Simple merge);
9.路徑鑒別模式(Discriminator) -- 異步合并多個(gè)執(zhí)行路徑,但并發(fā)任務(wù)僅執(zhí)行一次;
10.M并N模式(N-out-of-M Join) -- 合并多個(gè)執(zhí)行路徑,實(shí)現(xiàn)部分同步,并發(fā)任務(wù)僅執(zhí)行一次;
結(jié)構(gòu)模式(2個(gè)):
11.強(qiáng)制循環(huán)模式(Arbitrary Cycles):工作流中的一個(gè)點(diǎn)可以讓一個(gè)或多個(gè)活動(dòng)反復(fù)的執(zhí)行。
12.隱式終止模式(Implicit Termination):一個(gè)子過(guò)程應(yīng)該在沒(méi)有什么事情可做的時(shí)候被停下來(lái)。換句話說(shuō),在工作流中沒(méi)有別的活動(dòng)在執(zhí)行并且沒(méi)有活動(dòng)可被激活的時(shí)候終止。
多實(shí)例模式(4個(gè)):
13.異步的多實(shí)例模式(Multiple Instances - Without Synchronization)
14.在設(shè)計(jì)期間預(yù)先確定的多實(shí)例模式(Multiple Instances - With a Priori DesignTime Knowledge)
15.在運(yùn)行期預(yù)先確定的多實(shí)例模式(Multiple Instances - With a Priori RuntimeKnowledge)
16.無(wú)法在運(yùn)行期預(yù)先確定的多實(shí)例模式(Multiple Instances - With no Priori RuntimeKnowledge)
基于狀態(tài)的模式(3個(gè)):
17.延遲選擇模式(Deferred Choice)
18.交替平行路由模式(Interleaved Parallel Routing)
19.里程碑模式(Milestone)
取消模式(2個(gè)):
20.取消活動(dòng)模式(Cancel Activity)
21.取消實(shí)例模式(Cancel Instance)
在Workflow Pattern官方網(wǎng)站上還將控制模式分為了8個(gè)類別43種模式,這8個(gè)類別是:基本控制模式、高級(jí)分支同步模式、多實(shí)例模式、狀態(tài)模式、取消和強(qiáng)制完成模式、迭代模式、結(jié)束模式以及觸發(fā)模式。在日常應(yīng)用中,以上講的5種模式是BPM業(yè)務(wù)流程管理中最常用的控制模式。
國(guó)內(nèi)流程實(shí)際應(yīng)用中,很多流程都是人工流程(Human-Centric)。由于管理模式的中國(guó)特色,這類流程常常應(yīng)用到以下模式, 是對(duì)工作流21種控制模式的應(yīng)用和補(bǔ)充:
會(huì)簽?zāi)J剑╒ote)- 即會(huì)審或表決,流程中某個(gè)業(yè)務(wù)需要經(jīng)過(guò)多人表決,并且根據(jù)表決意見(jiàn)的結(jié)果,決定流程的走向。流程設(shè)計(jì)階段可設(shè)定會(huì)簽參與者,流程運(yùn)行階段可動(dòng)態(tài)改變會(huì)簽的數(shù)量和參與者,支持對(duì)靜態(tài)設(shè)置的加簽、減簽和改簽;
多輪簽核模式(M-Vote)- 重復(fù)多輪循環(huán)執(zhí)行一個(gè)或者多個(gè)會(huì)簽環(huán)境,對(duì)簽核記錄根據(jù)輪次進(jìn)行記錄和展現(xiàn);
動(dòng)態(tài)代理模式(Dynamic Delegate) - 流程運(yùn)行階段當(dāng)前環(huán)節(jié)委托其他參與者代為辦理,完成后不再回到當(dāng)前環(huán)節(jié);
駁回模式(Return) -- 即退回模式,流程環(huán)節(jié)需要返回任何一個(gè)前驅(qū)環(huán)節(jié) ;
收回模式 (Recall) – 即取消模式,在辦理人簽收或者辦理之前,被上一環(huán)節(jié)的辦理人收回;
抄送模式(Copy) – 在流程辦理的任何環(huán)節(jié)人員,都可以根據(jù)需求把流程抄送給相關(guān)人員進(jìn)行查看,不需要任何審批。
自動(dòng)跳轉(zhuǎn)模式(Auto Jump) -流程流轉(zhuǎn)過(guò)程,如當(dāng)前環(huán)境和下一步是同一人,能夠自動(dòng)跳過(guò)下一環(huán)節(jié),類似發(fā)起人和主管是同一人的情況;
流程模式是由Workflow/BPM 行業(yè)專家總結(jié)的公認(rèn)常見(jiàn)的業(yè)務(wù)流程標(biāo)準(zhǔn)化的實(shí)現(xiàn)方案,是被驗(yàn)證過(guò)的最佳實(shí)踐,有利于統(tǒng)一實(shí)現(xiàn)和控制各類業(yè)務(wù)流程。可以說(shuō),工作流模式是流程的靈魂,對(duì)工作流模式的支持程度是衡量工作流系統(tǒng)的核心指標(biāo)。
?2023 AlphaFlow流程云 杭州微宏科技有限公司 版權(quán)所有 ICP備案號(hào):浙ICP備18039265號(hào)-1