BPM网关接口解释.
并行網(wǎng)關(guān)
并行網(wǎng)關(guān)描述
網(wǎng)關(guān)也可以表示流程中的并行情況。最簡單的并行網(wǎng)關(guān)是 并行網(wǎng)關(guān),它允許將流程 分成多條分支,也可以把多條分支 匯聚到一起。 of execution.
并行網(wǎng)關(guān)的功能是基于進入和外出的順序流的:
? 分支: 并行后的所有外出順序流,為每個順序流都創(chuàng)建一個并發(fā)分支。
? 匯聚: 所有到達并行網(wǎng)關(guān),在此等待的進入分支, 直到所有進入順序流的分支都到達以后, 流程就會通過匯聚網(wǎng)關(guān)。
注意,如果同一個并行網(wǎng)關(guān)有多個進入和多個外出順序流, 它就同時具有分支和匯聚功能。 這時,網(wǎng)關(guān)會先匯聚所有進入的順序流,然后再切分成多個并行分支。
與其他網(wǎng)關(guān)的主要區(qū)別是,并行網(wǎng)關(guān)不會解析條件。 即使順序流中定義了條件,也會被忽略。
并行網(wǎng)關(guān)圖形
并行網(wǎng)關(guān)顯示成一個普通網(wǎng)關(guān)(菱形)內(nèi)部是一個“加號”圖標, 表示“與(AND)”語義。
首先 畫一個簡單的并行流程
排他網(wǎng)關(guān):
排他網(wǎng)關(guān)描述
排他網(wǎng)關(guān)(也叫異或(XOR)網(wǎng)關(guān),或更技術(shù)性的叫法 基于數(shù)據(jù)的排他網(wǎng)關(guān)), 用來在流程中實現(xiàn)決策。 當流程執(zhí)行到這個網(wǎng)關(guān),所有外出順序流都會被處理一遍。 其中條件解析為true的順序流(或者沒有設置條件,概念上在順序流上定義了一個’true’) 會被選中,讓流程繼續(xù)運行。
注意這里的外出順序流 與BPMN 2.0通常的概念是不同的。通常情況下,所有條件結(jié)果為true的順序流 都會被選中,以并行方式執(zhí)行,但排他網(wǎng)關(guān)只會選擇一條順序流執(zhí)行。 就是說,雖然多個順序流的條件結(jié)果為true, 那么XML中的第一個順序流(也只有這一條)會被選中,并用來繼續(xù)運行流程。 如果沒有選中任何順序流,會拋出一個異常。
排他網(wǎng)關(guān)圖形
排他網(wǎng)關(guān)顯示成一個普通網(wǎng)關(guān)(比如,菱形圖形), 內(nèi)部是一個“X”圖標,表示異或(XOR)語義。 注意,沒有內(nèi)部圖標的網(wǎng)關(guān),默認為排他網(wǎng)關(guān)。 BPMN 2.0規(guī)范不允許在同一個流程定義中同時使用沒有X和有X的菱形圖形。
流程文件:
包含網(wǎng)關(guān)
包含網(wǎng)關(guān)描述
包含網(wǎng)關(guān)可以看做是排他網(wǎng)關(guān)和并行網(wǎng)關(guān)的結(jié)合體。 和排他網(wǎng)關(guān)一樣,你可以在外出順序流上定義條件,包含網(wǎng)關(guān)會解析它們。 但是主要的區(qū)別是包含網(wǎng)關(guān)可以選擇多于一條順序流,這和并行網(wǎng)關(guān)一樣。
包含網(wǎng)關(guān)的功能是基于進入和外出順序流的:
? 分支: 所有外出順序流的條件都會被解析,結(jié)果為true的順序流會以并行方式繼續(xù)執(zhí)行, 會為每個順序流創(chuàng)建一個分支。
? 匯聚: 所有并行分支到達包含網(wǎng)關(guān),會進入等待章臺, 直到每個包含流程token的進入順序流的分支都到達。 這是與并行網(wǎng)關(guān)的最大不同。換句話說,包含網(wǎng)關(guān)只會等待被選中執(zhí)行了的進入順序流。 在匯聚之后,流程會穿過包含網(wǎng)關(guān)繼續(xù)執(zhí)行。
注意,如果同一個包含節(jié)點擁有多個進入和外出順序流, 它就會同時含有分支和匯聚功能。 這時,網(wǎng)關(guān)會先匯聚所有擁有流程token的進入順序流, 再根據(jù)條件判斷結(jié)果為true的外出順序流,為它們生成多條并行分支。
包含網(wǎng)關(guān)圖形
并行網(wǎng)關(guān)顯示為一個普通網(wǎng)關(guān)(菱形),內(nèi)部包含一個圓圈圖標。
當 main config 中的 表達式 條件返回的結(jié)果為真時 執(zhí)行 并行網(wǎng)關(guān)
結(jié)果為假時 執(zhí)行 排他任務
具體的 流程 這里就不介紹了
事件網(wǎng)關(guān)
事件網(wǎng)關(guān)描述
基于事件網(wǎng)關(guān)允許根據(jù)事件判斷流向。網(wǎng)關(guān)的每個外出順序流都要連接到一個中間捕獲事件。 當流程到達一個基于事件網(wǎng)關(guān),網(wǎng)關(guān)會進入等待狀態(tài):會暫停執(zhí)行。 與此同時,會為每個外出順序流創(chuàng)建相對的事件訂閱。
注意基于事件網(wǎng)關(guān)的外出順序流和普通順序流不同。這些順序流不會真的”執(zhí)行”。 相反,它們讓流程引擎去決定執(zhí)行到基于事件網(wǎng)關(guān)的流程需要訂閱哪些事件。 要考慮以下條件:
? 基于事件網(wǎng)關(guān)必須有兩條或以上外出順序流。
? 基于事件網(wǎng)關(guān)后,只能使用intermediateCatchEvent類型。 (activiti不支持基于事件網(wǎng)關(guān)后連接ReceiveTask。)
? 連接到基于事件網(wǎng)關(guān)的intermediateCatchEvent只能有一條進入順序流。
事件網(wǎng)關(guān)圖形
事件網(wǎng)關(guān)和其他BPMN網(wǎng)關(guān)一樣顯示成一個菱形, 內(nèi)部包含指定圖標。
總結(jié)
以上是生活随笔為你收集整理的BPM网关接口解释.的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我的童年糗事
- 下一篇: 简历怎么写才能脱颖而出?月薪过万的人都这