工作流模式

工作流(Workflow)、業務流程管理(BPM)工作流引擎、業務流程引擎在國內的使用已經有不少年頭,不過好像多在傳統OA、少量在ERP領域,而在比較典型的互聯網應用中,似乎比較少,大家還是習慣硬編碼,專門研究這一塊的就更少了。

學生時代在一個研究所裏混的時候,開發過一款小型的公文流轉系統,第一次涉及到工作流的概念和開發實踐,這已經是04年左右的事情了,往後的走馬觀花的各種項目經歷中,竟然再沒有沉下心來仔細研究過這一塊。

今年年初的時候,想到這個主題,在微信讀書上搜到了國內人士寫的《流程永恆之道》一書,算是少有的既有理論又有實戰的難得之作了。後來買了紙質書,洋洋灑灑有460多頁,而這還未算上兩位作者翻譯的《工作流模式附錄》143頁。

這本書附錄的兩位作者翻譯的《工作流模式》,包含了 A、工作流控制模式、B、工作流資源模式、C、工作流數據模式、D、工作流異常處理模式四個方面的內容。PDF格式,查閱起來,未免還是有少許不便,於是想着所以看看能否通過超文本的形式組織一下。

版權聲明:工作流模式版權歸 Workflow Patterns 組 織 ( http://www.workflowpatterns.com ) 所 有 。 經 Workflow Patterns授權,中文簡體版由辛鵬和榮浩翻譯。未經譯者書面許可,不得將該中文簡體版用於商業目的。

模式最早出現在C. 亞歷山大的《建築的永恆之道》裏。在這本建築學的經典鉅著裏,亞歷山大說:“永恆之道是一個唯有我們自己才能帶來次序的過程,建築或城市只有踏上了永恆之道,纔會生機勃勃。” 建築模式,就是通往這條永恆之道的大門。亞歷山大描述了253個建築模式,這些模式和那裏發生的事件一起賦予城市和建築以特徵。模式語言則是對應於那些使建築美妙並 加以深刻觀察的模式的集合,它綜合了我們對建造的認識。建築的永恆之道正在於建築模式, 在於我們對建築的認知達到一致即擁有共同的模式語言,在於我們真正遵循了自己的內心和順其自然。

工作流模式亦是如此,它緊緊抓住了在我們周圍發生的事件,賦予不同組織以特徵。處處講流程,處處明確職責,這是大企業;處處講特色,處處要干預,這是政府機構;處處講人,處處 要求通才,這是創業公司。如何把某個創造價值的活動拆分成不同的活動,如何將這些活動協調 整合起來,以便實現最終目標,不僅關係到流程,也關係到組織結構,更關係到人。

工作流模式分爲4種:控制模式、資源模式、數據模式和異常模式。

  1. 控制模式關注對流程進行建模,將商業目標的實現根據組織所進行的工作和現有的技術體系拆分成一系列的活動。
  2. 資源模式關注組織內部資源的協調。
  3. 數據模式關注流程中信息的傳遞。
  4. 異常模式關注流程執行過程中出現偏離期望的情況。

但不管是控制模式、資源模式、數據模式,還是異常模式,它們一致的核心都是人,人,永遠是管理中的核心。

A、工作流控制模式

工作流控制模式共有43種,分爲8組,分別是基本控制模式、高級分支和同步模式、多實例 模式、狀態模式、取消和強制完成模式、迭代模式、結束模式和觸發模式,如圖A-1所示。

圖 A-1 控制模式

  1. 基本控制模式關注流程裏最基本的順序、併發、條件和合並路由,是其他控制模式的 基礎;
  2. 高級分支和同步模式關注流程裏更復雜一些的分支和同步場景;
  3. 多實例模式關注活動在一個流程實例中多次執行的場景;
  4. 狀態模式關注流程實例狀態對流程執行所產生的影響;
  5. 取消和強制完成模式關注流程實例/活動的取消,這通常與工作流異常相關;
  6. 迭代模式關注流程實例裏的重複行爲;
  7. 結束模式關注什麼情況下流程實例執行結束;
  8. 觸發模式關注外部環境變化對流程活動的影響。

工作流控制模式的出發點基於對實際業務的描述,而工作流系統對模式的支持程度則直接決 定了該系統對業務的建模能力。所以,衡量一個工作流系統時,必須考慮其對工作流模式的支持 程度。

B、 工作流資源模式

工作流資源模式共有43種,根據工作項所處的不同階段以及狀態變遷,分爲7組,即創建模 式、推模式、拉模式、折回模式、自動開始模式、可見性模式和多資源模式,如圖B-2所示。

圖B-2 工作流資源模式的分類

  1. 創建模式位於工作項生命週期的創建階段,作爲流程模型的一部分在流程定義期指定活 動的分配規則,限定執行該活動的資源範圍;
  2. 推模式將創建完畢的工作項與滿足分配規則的資源進行匹配,將工作項推送給資源,資 源本身不做出選擇;
  3. 拉模式則是資源把工作項與自身進行匹配,考察其能夠執行的工作項並選擇執行,資源 是主動的;
  4. 折回模式對應着由於各種原因所導致的工作項狀態的反覆和回退;
  5. 自動開始模式提供一種系統驅動工作項執行的方式,表明工作項的高優先級,需要馬上
    開始執行;
  6. 可見性模式討論各種不同資源對工作項的可見性,與管理權限相關;
  7. 多資源模式討論一個資源執行多個工作項和多個資源執行同一個工作項的特殊情況。

C、 工作流數據模式

在WfMC的工作流模型裏,工作流數據被分爲了3類,如圖C-1所示。


圖C-1 WfMC的工作流數據分類

  1. 工作流控制數據:工作流系統管理的內部控制數據,這些數據包括了與流程實例和活動 實例相關的執行數據和狀態數據,例如流程實例的狀態、執行時間、工作項的執行者、 執行時間、狀態、緊急程度等。
  2. 工作流相關數據:工作流系統使用工作流相關數據確定流程實例的流轉條件,並選擇下 一個將執行的活動,這些數據由業務系統訪問並修改。例如報銷流程中的“報銷金額”, 這個數據會決定該流程的審批路徑;再例如爲活動設置的超時時間,這個數據會觸發活 動的取消。這些數據是工作流系統需要依賴進行流程流轉的業務應用數據。
  3. 工作流應用數據:業務系統管理的業務數據,工作流系統不能訪問。

D、工作流異常處理模式

異常分類,流程執行過程中的異常分爲五類,如圖D-1所示。

圖D-1 工作流異常分類

  1. 工作項執行失敗:工作項所代表的工作不能繼續執行或無法按照期望完成。導致工作項 執行失敗的原因有很多種,與該工作項相關的硬件故障、軟件故障或網絡故障都會導致 活動參與者無法正常執行該工作項,同時活動參與者也可能會自己中止該工作項的執行 或者直接放棄。
  2. 超時:工作項未在指定的時間點完成或未在指定的時間點開始執行。
  3. 資源不可用:沒有可用的資源執行或完成工作項。有兩種情況,一是分配工作項時系統 找不到滿足執行該工作條件的資源(人手不夠,資源被佔用),二是工作項執行過程中,先前指定的資源不能繼續或無法執行該工作項(生病、離職、調動)。
  4. 外部觸發:外部觸發通常表現爲事件,組織外部的事件影響正在執行中的工作項。例如 用戶突然取消訂單會導致訂單處理流程中所有工作項的中止,並伴隨着業務回滾(收回 發貨)。
  5. 違反約束:工作流約束包括流程流轉的約束(流程死鎖,不能繼續執行,進入死循環)、 數據的約束、資源的約束(超出當前組織資源所能達到的能力)以及業務約束。工作流 系統運行過程中需要保證流程執行的合理性和一致性,需要對流程執行狀態進行持續的 監控。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章