工作流控制模式-取消和強制完成模式5種

流程實例執行的過程中,不免會產生異常情況,這些異常情況包括了超時、資源不可用、外 部環境變化等,異常導致流程實例/活動執行的價值減少甚至浪費,在這種情況下,就涉及到流 程實例/活動執行的取消。

取消和強制完成模式共有5種,如圖A-41所示。

圖A-41 取消和強制完成模式

  1. 取消活動:取消流程實例中某一活動的執行。
  2. 取消流程實例:取消整個流程實例的執行。
  3. 取消區域:取消某一區域裏所有正在執行的活動。
  4. 取消多實例活動:取消流程實例中某一多實例活動的執行。
  5. 強制完成多實例活動:強制完成流程實例中某一多實例活動的執行,強制流程向後流轉。

取消活動(WCP_19: Cancel Task)

描述

取消一個已激活的活動,如果已經開始執行,那麼停止執行,並且可能的話,移除正在運行 的工作項。

如圖A-42所示,工程招標預審流程,招標公司進行資格的預審,需要兩位評委完成評審評審 才結束,評審結果裏只要有一個不通過則預審不通過。剩下一位評委的評審活動被取消。

圖A-42 取消活動

取消流程實例(WCP_20: Cancel Case)

描述

取消一個正在執行中的流程實例。該流程實例被標識爲未成功完成。

如圖A-43所示,訂單處理過程中顧客突然取消訂單,那麼停止該流程實例的執行。我們使用 終止結束事件結束流程實例。

圖A-43 取消流程實例

取消區域(WCP_25: Cancel Region)

描述

一系統的活動建模成一個區域,流程實例執行時,可以對整個區域進行取消,區域中正在執 行或處於激活狀態的活動被取消。這些活動可以位於不同分支上並互不連接。

如圖A-44所示,雙十一期間,很多商家處理訂單的過程中發現缺貨,於是取消整個訂單處理 的子流程,給顧客發送消息通知。

圖A-44 取消區域

取消多實例活動(WCP_26: Cancel Multiple Instance Activity)

描述

在一個流程實例裏,可以對多實例活動進行取消:未完成的工作項被取消,已經完成的工作 項不受影響。

如圖A-45所示,領導可以在發文傳閱過程中取消發文,此時閱讀文件的工作被取消,已經閱 讀過的不受影響。

圖A-45 取消多實例活動

強制完成多實例活動(WCP_27: Complete Multiple Instance Activity)

描述

在一個流程實例裏,可以對多實例活動強制完成:未完成的工作項被取消,已經完成的工作 項不受影響,後續活動被觸發。

如圖A-46所示,領導要求科室負責人在當天完成文件的傳閱,第二天早上進行正式發文,此 時閱讀文件的工作被取消,已經閱讀過的不受影響。

圖A-46 強制完成多實例活動

小結

取消流程實例/活動經常與工作流異常相關,此時執行過的工作已經產生了一定的影響,爲 了使流程實例能夠繼續執行(或通過其他路徑繼續執行)或正常停止,往往需要對已執行工作所 產生的影響進行消除,這就需要通過恢復動作(回滾與業務補償)完成,我們將在附錄D工作流 異常模式裏詳細討論這些情況。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章