工作流引擎核心需求 (WFMC 標準)
- 解釋流程定義
- 控制流程實例:建立、啟動、掛起、終止
- 活動導航:序列/平行、期限、資料解釋
- 參與者簽入/簽出
- 確定任務項目、實現使用者意圖、提供互動介面
- 維護控制資料與相關資料、跨應用/使用者傳遞
- 提供外部程式呼叫介面、連接所有相關資料
- 提供控制、管理、稽核功能
流程調整與流程模型需求
支援序列、平行、分支、合併、循環、同步、子流程等關係模型;實現版本控制 (動態調整):
- 僅修改單一實例模板
- 所有運行中實例套用新模板
- 現有實例維持舊模板,新實例用新模板
WF 版本控制機制請見後續章節。
流程異常處理與逾時處理
| 類型 | 需求 | WF 現況 |
| 異常處理 | 流程回退、業務補償、暫停、取消 | 需程式設計實作 |
| 逾時處理 | 簡訊/郵件通知、升級處理 | 需程式設計實作 |
關鍵問題待研究
- WF 對各種關係模型如何支援?
- WF 版本控制實作方式?
- WF 異常處理機制?
- WF 逾時處理機制?
工作流客戶端架構
WFMC 任務表概念
- 任務表:工作流引擎分派給使用者的任務序列
- 任務表處理器:管理參與者與執行服務器互動的軟體組件
- 使用者介面:提示處理對話框、控制本地介面
WF 的差異:無任務表,有宿主概念
- 流程調度參考第 3 章
- 宿主 (Host):註冊 WorkflowRuntime、定義服務 (持久化/追蹤/資料交換)
- 通訊:Remoting 或 WCF
- 角色定義:儲存於 .rules 檔案
架構對比圖解
傳統 WFMC 架構: WF 架構:
[引擎] ←→ [任務表] ←→ [處理器] ←→ [UI] [宿主] ←→ [WorkflowRuntime + 服務]
↑
[.rules 角色定義]