當前位置:
首頁 > 知識 > 流程引擎的網關|BPMN2.0設計總結

流程引擎的網關|BPMN2.0設計總結

流程引擎的網關|BPMN2.0設計總結


概述

BPMN 2.0是什麼呢?業務流程模型註解(Business Process Modeling Notation - BPMN)是業務流程模型的一種標準圖形註解。這個標準是由對象管理組(Object Management Group - OMG)維護的,BPMN2規範定義了非常豐富的語言,為建模和執行業務流程。

其中BPMN2.0中網關是工作流引擎中重要的一個路徑決策,網關是用來控制流程中的流向的。更確切的是, 當一個token(BPMN 2.0中execution的概念註解)到達一個網關, 它會根據網關的類型進行合併或切分,網關描繪成一個菱形,使用一個內部圖標來指定類型 (排他,並行,多路等等)。

F2BPM工作流引擎自主研發中使用並應用遵循了BPMN2.0和WFMC的規範參考。同時在此指導的規範的基礎上梳理並發展了如下的網關類型,更加貼切中國人自己的使用習慣和有更多的引擎流轉處理能力。本文也是對BPMN2.0網關的一個總結,提供給有興趣的人員作為參考。

1 排他網關

排他網關(也叫異或網關), 用來在流轉中實現發散分支決策。 當流程執行到這個網關,所有流出的遷移線都會被求解計算一遍。 其中第一條條件解析為true遷移線會被選中(當多個條件為true時,第一個決策被執行)並且不再計算其它流出分支,讓流程沿著第一條被選中的遷移線運行;如果沒有任何一條流出分支可執行,則拋出異常,中斷執行,在流程設計時應該避免這種情況的發生,至少需要確保有一條分支的計算結果為true。

2 多路網關

多路網關(也叫或網關,也稱為發散網關),用來在流轉中實現發散分支決策。 當流程執行到這個網關,與排他網關類似,區別在於發散網關將所有外出的分支遷移線都會被求解計算一遍。 其中條件解析為true遷移線會被選中,讓流程沿著所有被選中的遷移線並行運行。如果沒有任何一條流出分支可執行,則拋出異常,中斷執行,在流程設計時應該避免這種情況的發生,至少需要確保有一條分支的計算結果為true。

3 並行網關

並行網關, 用來在流轉中實現無條件的聚合分支決策和發散分支決策。當流程執行到這個網關,所有流出的遷移線條件都會被忽略,只有全部流入的分支都到達時才會觸發發散分支行為。所有流出的遷移線都會被選中。讓流程沿著所有流出的遷移線並行運行。

4 並行開始網關

並行開始網關是並行網關的獨立拆分,只是並行開發網只有發散行為,用來在流轉中實現無條件的發散分支決策。當流程執行到這個網關,所有流出的遷移線條件都會被忽略,所有流出的遷移線都會被選中。讓流程沿著所有流出的遷移線並行運行。

5 並行結束網關

並行結束網關, 是並行網關的獨立拆分,只是並行結束網只有聚合行為,用來在流轉中實現無條件的聚合分支決策。當流程執行到這個網關,所有流入的遷移線條件都被要求流入,當全部流入的分支都到達時才會觸發發散分支行為。

6 複雜網關

複雜網關,複雜網關是聚合網關與發散網關的綜合體,用來在流轉中實現條件的多路聚合分支決策和多路發散分支決策。當流程執行到這個網關,根據所設定聚合規則進行聚合計算,當聚合完畢觸發發散動作,所有流出的分支遷移線條件都會被求解計算一遍。 其中條件解析為true遷移線會被選中,讓流程沿著所有被選中的遷移線並行運行。如果沒有任何一條流出分支可執行,則拋出異常,中斷執行,在流程設計時應該避免這種情況的發生,至少需要確保有一條分支的計算結果為true。

只有全部流入的分支都到達時才會觸發發散分支行為。

7聚合網關

聚合網關, 用來在流程中實現聚合決策。 當流程執行到這個網關,根據所設定的聚合規則進行計算,當聚合完畢時觸發流轉到下一節點。聚合規則可以是並行結束行為,也可以是多重聚合行為,或者多路聚合行為。

8 事件網關

事件網關,基於事件網關允許根據事件判斷流向,用來在流轉中實現異或分支決策。當流程執行到這個網關,網關的每個流出分支都要連接到一個中間捕獲事件,網關會進入等待狀態:流程會暫停執行。與此同時,會為每個流出分支建相對的事件訂閱,當捕獲取事件源時觸發條件計算,計算結果為ture時分支被選中,其它分支將被忽略,並選取最先被選中的分支執行流轉。

9泳道

泳道不影響流程的流轉,只是一個對流程節點進行區域劃分的流程圖展示,便於在流程節點多的流程顯示上更上直觀明了。F2BPM有兩種泳道:

流程引擎的網關|BPMN2.0設計總結

上圖中間無虛線分隔的泳道

流程引擎的網關|BPMN2.0設計總結

上圖中間有虛線分隔的泳道

流程引擎的網關|BPMN2.0設計總結

上圖:流程圖中的網關示例



找工作難?那是你沒選對行業!

2017年【中公教育】特別推出2017年就業促進計劃,500萬就業基金助你成為IT達人

詳情請戳:http//www.ujiuye.com/zt/jycj/?wt.bd=bgz

什麼?海量IT學習資料白給你都不要?別想了,加群搶:584539956

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 IT優就業 的精彩文章:

一張圖理清ASP.NET Core啟動流程
SQL Server 後悔葯 delete drop update
最好用的css輔助工具——SASS&LESS

TAG:IT優就業 |