工作流模式網站:
-
http:// is.tm.tue.nl/research/patterns/patterns.htm ?? 列出了21種工作流模式。
- http://www.workflowpatterns.com 在上面21種模式的基礎上進行擴展,共計43種;另外將這些種模式歸為Control-Flow Patterns大類,增加的其他大類還有Workflow Data Patterns, Workflow Resource Patterns,Exception Handling Patterns。
下面是按照自己的理解對Control-Flow Patterns進行劃分,主要分析經典的21種工作流模式:
順序、分支、合并、循環
分支點:
- 一個分支點只可能產生一個分支:Exclusive choice(排他選擇)
- 定義了N個分支,實際可能產生M個:Multiple Choice
分支在到達合并點后應用到的模式:
- 能確認定義的分支在運行時均會產生,在到達合并點后,需要等待所有分支完成后流程才可以向下執行:Synchronization;
- 能確認定義的分支在運行時只可能產生一個,在到達合并點后,流程繼續執行:Simple Merge(簡單合并);
-
分支在運行時可能產生多個,在到達合并點時:
- 需要鑒別等待哪一個分支完成后,流程才可以繼續執行,而一旦執行后,將忽略其他到達的分支:Discriminator(鑒別器);
- 需要鑒別哪些分支完成后,流程才可以繼續執行,這是上一個模式的一個擴展:N-out-of-M Join;
- 無論產生多少個分支,每一個分支都在到達合并點后均向下執行:Multiple Merge;
-
無論產生多少個分支,分支點都需要等待分支完成后,才能向下執行:Synchronizing Merge;可以看出,該模式包含了Synchronization模式的情形?
?
?
Sequence(順序模式),同義詞:順序流程、順序路由
舉例:一個最簡單的費用審核步驟
?
?Exclusive choice(排他選擇)
費用報銷錢首先"檢查公司政策",規則為:若一次性費用超過2500RMB,則拒絕,并通知報銷人重新確認費用報告;只有不超過2500RMB,流程才可能繼續執行。
?
Simple Merge (簡單合并)
?
Arbitrary cycles(任意循環)
42種工作流模式對循環做了更細致了劃分,多了2種循環模式Structured Loop、Recursion
ALBPM似乎只能實現“結構循環”,即一個出口一個入口。如不能實現這樣的循環:
現實中經常有這種場景,但類似的需求一般可以變通實現,如:
?
Implicit Termination( 隱式終止)
翻了很多產品支持該模式的“證明”,搞迷糊了。在我看來,如果嚴格的支持,需要:
- 允許設置多個結束節點,至于到達結束節點后,流程是結束還是等待,可以事先設置;
- 允許事先設置:如果一個節點完成后,沒有可輸出的連接弧,則流程終止。
順便了解,ALBPM不允許一個節點沒有永真的連接弧輸出。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
