進階工作流程模式深入業務情境分析(1)——多路合并

來源:互聯網
上載者:User

開篇之作

(1) 描述

兩條或更多的分支合并到單一的一條後續路徑中,每一條使能進入分支都啟用後續路徑的一次執行線程。雖然多條分支在圖形上是合并的,但是這個多路合并並不對這些分支啟用的後續線程進行任何的同步。

(2) 抽象模型描述

多路合并的Flash動畫

中,B和C是多路選擇後的分支,這樣的分支可以超過兩個,假設還有E、F……,這樣的分支在多路選擇處不進行同步,每一個分支都會啟用一次D的執行,即D(B)、D(C)、D(E)……,並且這些D的線程互不干擾。

(3) 業務情境舉例

報銷流程,假設分為三部分:住宿費、交通費、飛機票特殊報銷。可能出現的情況有:住宿費+交通費;住宿費+交通費+飛機票特殊報銷;交通費;交通費+飛機票特殊報銷……

流程開始,首先填寫報銷申請(勾選報銷的內容,三種費用中選擇),之後流程根據勾選的內容啟用後續的填寫不同報銷單的分支,最後每一張報銷單都需要經過審批。

如果流程引擎沒有實現多路合并我們可以變相的實現上面的功能。如:

但上述的實現有以下的不足:

a、 重複工作量,審批分明是同一個活動,非要分多個來畫;

b、 無法進行統計,若要對審批這一活動的時間、數量等資訊進行統計分析,那麼分成了多個活動後就難於進行統計。

c、 資源的分配,假設審批是由一個崗位來負責,且任務壓力應該在這個崗位上負載平衡,那麼分成了多個活動後這個資源的分配也無從著手。

(4) 含義引申

多路合并的後續路徑,是一些相同行為的執行線程,這就類似於另外一種模式——多執行個體模式。這些線程終有一個需要同步的時候,在業務情境中,這個同步就非常的複雜,如後續步驟為制證,這種業務可以分為以下情況,我們一一舉例說明:

a、 強制一對一:一個審批後的單據產生一個財務憑證,那麼這些多執行個體的線程暫時不同步,留到後續步驟。這種管理方式是比較常見的。

b、 強制多對一:同一個報銷申請產生的報銷單據,需要產生在一個財務憑證上。因此在制證前就需要同步。這種管理方式是比較常見的。

c、 任意多對多:在本情境中,這個不太可能發生,但在一般的物流業務中卻非常常見。假設飛機票的審批比較嚴格,拖得時間比較長,另外兩個報銷單早批了,那麼先將這兩個產生同一個財務憑證。這種任意性的規則,一般都是通過人來判斷的。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.