工作流資源模式 - 折回模式9種

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

實際工作中,工作的執行狀態不可能總是與預想相符,總會出現各種各樣的情況,例如原本 分配給員工甲的活動由於甲要請假不得不重新分配,由於需要處理新的緊急活動,員工乙當前的 工作需要掛起一段時間等等。折回模式對應着這些情況,折回代表着工作項狀態的反覆和回退, 如圖B-40所示。

圖B-40 工作項生命週期裏的折回模式

折回模式共有9種,如圖B-41所示。

圖B-41 折回模式

  1. 委派:資源將先前指派給他的工作項委派給他人執行。
  2. 系統重新分配:系統將沒有完成的工作項重新提供或指派給其他資源執行。
  3. 退回指派:資源撤銷指派給他的工作項,工作項重新指派給其他資源。
  4. 有狀態工作移交:資源將其已經開始執行的工作項移交給他人執行,工作項保持狀態。
  5. 無狀態工作移交:資源將其已經開始執行的工作項移交給他人重新開始執行。
  6. 掛起/恢復執行:資源臨時掛起當前執行的工作項,並在某一個時候重新恢復執行該工作項。
  7. 跳過:資源選擇跳過指派給他的工作項,不執行該工作項同時將工作項置爲完成。
  8. 重做:資源重新執行先前已經完成的工作項。
  9. 提前執行:資源在流程實例實際觸發該工作前提前執行該工作。

委派(WRP_27: Delegation)

描述

資源能夠將先前指派給他的工作項指派給另外的資源執行,如圖B-42所示。

圖B-42 委派

應用

委派在工作中非常常見,例如員工請假/出差/繁忙,需要將他的工作委派給其他同事執行、 領導將相關工作委派給下屬執行等。

實際應用中,委派按照粒度分爲了兩種:一種是工作項的委派,這是一種細粒度的委派,指 單一活動的委派,與某一特定的流程實例關聯;另一種是業務的委派,這是一種粗粒度的委派, 例如,資源將其負責的某類業務的工作全部委派給他人,這意味着屬於這類業務的所有工作都將 由委派人執行。業務的委派與權限緊密關聯。

注意:委派意味着原先指派的資源還必須對該工作負責。例如,員工甲將某項工作委派給員工 乙執行,儘管員工乙實際執行了該工作,但該工作仍然必須由員工甲負責,所以在實現 中,員工甲必須能夠保持對委派工作項的追蹤和控制。

系統重新分配(WRP_28: Escalation)

描述

系統能夠重新分配已經分配的工作項,以加快工作項的執行。

如圖B-43所示,工作項原先提供或指派給了一個或多個資源執行,現在由於各種原因,需要優化該工作項的執行,所以將該工作項收回重新分配,提供或指派給其他的資源。

圖B-43 系統重新分配

應用

系統驅動工作分配的優化。很多時候,計劃跟不上變化,工作也是這樣,分配工作前有許多 的考慮因素,如個人能力、工作經驗、技能要求等,但在實際工作中會發現原先的資源分配並不 合理,或者有些人承擔了太多的職責,或者有人能力超出其目前擔承的職責等等,在這種時候就 需要對工作進行靈活的重新分配以到達最高的執行效率。
對流程的優化始終是一個對人的命題,而不是對機器和工具的命題,工具所能做到的只是盡 可能多的提供可供參考的數據模型,例如各種報表、數據分析等,最後做出決策的還是人。所以 該模式的實現也以提供給流程管理員重新分配工作項的能力爲主,同時提供工作項超時的提示 爲輔。

退回指派(WRP_29: Deallocation)

描述

資源能夠撤銷指派給他的工作項,工作項可以重新分配給其他資源,如圖B-44所示。

圖B-44 退回指派

應用

資源驅動工作分配的優化。

有狀態工作移交(WRP_30: Stateful Reallocation)

描述

資源能夠將正在執行的工作項移交給其他資源執行,該工作的狀態將得到保存,如圖B-45 所示。

圖B-45 工作移交

應用

該模式與委派模式很相似,差別就在於委派模式是將未開始執行的工作進行重新指派執行, 而該模式則是將已開始執行的工作進行重新指派執行。委派模式中的委派者仍需要爲委派出去的 工作負責,而移交則意味着責任的移交。

無狀態工作移交(WRP_31: Stateless Reallocation) 描述

資源能夠將正在執行的工作項移交給其他資源執行,該工作的狀態不會得到保存。

應用

工作的無狀態移交意味着該工作的重新執行,原有工作對重啓的工作而言沒有價值。

掛起/恢復執行(WRP_32: Suspension/Resumption)

描述

資源能夠掛起當前執行的工作項,並在某一個時候重新恢復執行該工作項,如圖B-46所示。

圖B-46 掛起/恢復執行工作

應用

資源對分配給其的工作進行優化執行,能夠根據自己和當前流程實例的實際情況合理的安排工作執行,掛起正在執行的工作,執行當前最重要或效率最高的工作,然後再返回執行該工作。

跳過(WRP_33: Skip)

描述

資源能夠選擇跳過指派給他的工作項的執行,不執行該工作項,並將該工作項標識爲完成, 如圖B-47所示。

圖B-47 跳過工作的執行

應用

因爲變化,當前工作不再具有價值,選擇跳過繼續執行後續工作。

重做(WRP_34: Redo)

描述

資源能夠對先前完成的工作項重新處理,同時,該工作的後續工作項(後續活動所對應的工 作項)也將被重新處理,如圖B-48所示。

圖B-48 重新執行工作

應用

對已完成的工作進行重新處理並不少見,但該模式最爲重要的部分還是在於要求所有後續工 作的重新處理,所以該模式應用在極其重要的關鍵活動裏。例如,非常重要的決策工作,因爲後 續的活動嚴重依賴於該工作所作出的決策,所以一旦決策發生變化,那麼相應的後續工作必須都 要做出變化。這也是業務敏捷性的一種反映。

注意,該模式是一種代價高昂的應用,因爲這意味着該流程實例中的所有後續工作都需要重 7 新處理,所以如何在業務處理中儘早發現可能的環境變化並及時作出決策的調整並避免成本高昂 的返工纔是最重要的一點。

提前執行(WRP_35: Pre-Do)

描述

在工作實際提供或指派給資源執行之前,資源能夠提前執行該工作。示例見圖B-49。
該模式需要一個前提條件:活動不能依賴於前續活動的處理輸出。該模式與推模式裏的提前 分配模式非常相似,所不同的是:提前分配強調一種通知機制,強調預先準備;而提前執行則已 經可以開始實際的執行工作。

圖B-49 提前執行工作

應用

和提前分配模式不同,該模式提供了一種流程活動執行的靈活機制,在預先定義的流程裏, 活動的執行是具有一定順序的,在大多數情況下,這種順序是合理的,但是在某些具體的流程實 例裏,某些串行執行的活動可以並行的執行以達到最好的執行效率和負載均衡,在這種情況下, 就應該應用該模式並行執行部分活動。

注意:該模式僅僅引入了一種實際執行活動的靈活性,是對流程定義固化的補償,如果在實際 流程實例中頻繁應用到該模式,則意味着流程定義本身需要作出調整。

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