a. 工作流引擎只负责处理与流程运转相关事宜,处理过程的解释執行、流轉規則,控制任務管理器。架構在工作流引擎之上的web應用的具體業務處理另外編寫,以保持工作流引擎的獨立性和簡潔性。
b. 通過此設計方案設計的工作流引擎,只負責業務系統流程的流轉,業務系統使用此工作流引擎需要根據業務系統的需要來評估使用性以及考慮業務邏輯的具體實現,不能依靠工作流引擎來實現所有的業務功能。
c. 此階段在業務系統中需要控制表單控件的訪問權限時需要業務系統結合工作流來自行進行控制,在之後的工作流引擎功能擴展第二階段可以設計通過工作流引擎來控制表單中控件的訪問權限。
d. 此階段流程定義採用程式來定義和維護,不使用圖形化的建模工作。在工作流平臺的進一步深入開發的第三階段再進行流程定義工具的開發。
根據WFMC的定義,工作流(Workflow)就是自動運作的業務流程部份或整體,表現為參與者對文件、信息或任務按照規程採取行動,并令其在參與者之間傳遞。簡單的說,工作流就是一系列相互銜接、自動進行的業務活動或任務。如果將整個業務流程看作是一條河,其中流過的就是工作流。使用工作流作為業務流程的實現技術首先要求工作流系統能夠反映業務流程的以下幾個問題,即業務流程是什麽(由哪些活動、任務組成,也就是結構上的定義)、怎麼做(活動間的執行條件、規則以及所交互的信息,也就是控制流與信息流的定義)、由誰來做(人或計算機應用程序,也就是組織角色的定義)、做的怎麼樣(通過工作流管理系統對執行流程進行監控)。
通常,工作流管理系統是指運行在一個或多個工作流引擎上用於定義、實現和管理工作流運行的一套軟件系統,它與工作流執行者(人、應用)交互,推進工作流實例的執行,并監控工作流的運行狀態。雖然不同的工作流管理系統具有不同的應用範圍和不同的實施方式,但它們具有很多共同的特性。概括地說,工作流管理系統提供了3種功能。
(1). 建立階段的功能:主要考慮工作流流程和相關活動的定義和建模功能。
(2). 運行階段的控制功能:在一定的運行環境下,執行工作流工程,并完成每個流程中活動的排序和調度功能。
(3). 運行階段的人機交互功能:實現各種活動執行流程中用戶與IT應用工具之間的交互。
a. 流程定義:
創建計算機可處理的業務流程描述。規定用戶間信息傳輸的一組路由命令。
b. 組織/角色模型:包含了組織結構和組織中角色的信息。這些信息往往與流程定義信息緊密相關。
c. 工作流執行系統和工作流引擎:
工作流執行系統也稱業務流程執行環境,包括一個或多個工作流引擎。工作流引擎是WMS的核心。它功能包括:解釋流程定義;創建流程實例并控制其執行;調度各項活動;為用戶工作表添加工作項;通過應用程序接口(API)調用應用程序;提供監督和管理功能等。
d. 工作流控制數據:
被工作流執行系統和工作流引擎管理的系統數據,如工作流實例的狀態信息、每一活動的狀態信息等。
e. 工作流相關數據:
指與業務流程相關的數據。WFMS使用這些數據確定工作流實例的狀態轉移,例如流程調度決策數據、活動間的傳輸數據等。工作流相關數據既可被工作流引擎使用,也可以被應用程序調用。
f. 工作列表:
流程執行中,當需要用戶的交互時,工作流引擎便將工作項放置到由worklist 管理的工作列表中,通過worklist 實現與用戶的交互。
g. 應用程序和應用數據:應用程序可以直接被WFMS調用或通過應用程序代理被間接調用。通過應用程序調用,WFMS部份或完全自動完成一個活動,或者對業務參與者的工作提供支持。與工作流控制數據和相關數據不同,應用數據對應用程序來講是局部數據,對WFMS的其他部件來說是不可見的。
WFMC的工作流流程語言包括6個基本實體:
工作流定義:反映一個業務流程的目的。
活動:對應業務流程中的任務,主要反映了完成該業務流程需要執行的哪些功能操作。
轉換條件:負責為流程實例提供導航依據,對應于一個業務流程中的業務規則和操作順序。
工作流相關數據:是引擎執行任務推進的依據之一,引擎根據相關數據和轉換條件執行後續活動。
角色:角色或組織實體決定了參與某個活動的人員或組織單元,描述了業務流程中參與的操作人員和組織單位。
應用程序:描述了用於完成業務流程所採用的外部工具或工具。
活動是流程定義的核心部份。一個流程包括若干活動組成;特定的角色參與活動的執行;活動執行流程中使用工作流相關數據,激活特定外部應用程序;流程實例的推進是根據轉換條件和工作流相關數據進行的。
工作流模型元模型實體
一個角色有4個業務活動,(開始、結束也算活動類型之一,但這裡為符合日常習慣,特意避開,下同):
- 設計一個流程;
- 設計6個活動,start類型1個;end類型1