工作流管理系統,經(jīng)過(guò)對業(yè)務(wù)、公文流轉過(guò)程的分析以及抽象,工作流管理系統圍繞業(yè)務(wù)交互邏輯、業(yè)務(wù)處理邏輯以及參與者三個(gè)問(wèn)題進(jìn)行解決,業(yè)務(wù)交互邏輯對應的為業(yè)務(wù)的流轉過(guò)程,在工作流管理系統中對應的提出了工作流引擎、工作流設計器、流程操作來(lái)解決業(yè)務(wù)交互邏輯的問(wèn)題,業(yè)務(wù)處理邏輯對應業(yè)務(wù)流轉過(guò)程中的表單、文檔等的處理,在工作流管理系統中對應的提出了表單設計器、與表單的集成來(lái)解決業(yè)務(wù)處理邏輯的問(wèn)題,參與者對應到的為流轉過(guò)程中環(huán)節對應的人或程序,在工作流管理系統中通過(guò)與應用程序的集成來(lái)解決參與者的問(wèn)題。
工作流管理系統為方便業(yè)務(wù)交互邏輯、業(yè)務(wù)處理邏輯以及參與者的修改,多數通過(guò)提供可視化的流程設計器以及表單設計器來(lái)實(shí)現,為實(shí)現工作流管理系統的擴展性,多數提供了一系列的API。
一個(gè)完整的工作流管理系統通常由工作流引擎、工作流設計器、流程操作、工作流客戶(hù)端程序、流程監控、表單設計器、與表單的集成以及與應用程序的集成八個(gè)部分組成。
1. 工作流引擎
工作流引擎作為工作流管理系統的核心部分,主要提供了對于工作流定義的解析以及流程流轉的支持。工作流定義文件描述了業(yè)務(wù)的交互邏輯,工作流引擎通過(guò)解析此工作流定義文件按照業(yè)務(wù)的交互邏輯進(jìn)行業(yè)務(wù)的流轉,工作流引擎通常通過(guò)參考某種模型來(lái)進(jìn)行設計,通過(guò)調度算法來(lái)進(jìn)行流程的流轉(流程的啟動(dòng)、終止、掛起、恢復等),通過(guò)各種環(huán)節調度算法(SPLIT、AND、OR等)來(lái)實(shí)現對于環(huán)節的流轉(環(huán)節的合并、分叉、選擇、條件性的選擇等)。
2. 工作流設計器
工作流設計器為可視化的流程設計工具,用戶(hù)通過(guò)拖放等方式來(lái)繪制流程,并通過(guò)對于環(huán)節的配置來(lái)實(shí)現環(huán)節操作、環(huán)節表單、環(huán)節參與者的配置。工作流設計器為用戶(hù)以及開(kāi)發(fā)商提供了快速繪制、修改流程的方式,工作流設計器的好壞決定到工作流管理系統的易用性。
3. 流程操作
流程操作指所支持的對于流程環(huán)節的操作,如啟動(dòng)流程、終止流程、掛起流程、直流、分流(單人辦理)、并流(多人同時(shí)辦理)、聯(lián)審等,象這些流程操作都是可直接基于引擎所提供的環(huán)節調度算法來(lái)直接支持的,而在實(shí)際的需求中,通常需要自由的對于流程進(jìn)行干涉,如取回、回退、跳轉、追加、傳閱、傳閱辦理等,而這些流程操作對于工作流引擎來(lái)說(shuō)是不合理的,因此必須單獨的去實(shí)現。流程操作支持的好壞直接決定到一個(gè)工作流管理系統的實(shí)用性。
4. 工作流客戶(hù)端程序
工作流客戶(hù)端程序為工作流系統的表現形式,通常使用Web方式進(jìn)行展現,通過(guò)提供待辦列表、已辦列表、執行流程操作、查看流程歷史信息等來(lái)展現工作流系統的功能。
5. 流程監控
流程監控通過(guò)提供圖形化的方式來(lái)對流程執行過(guò)程進(jìn)行監控,包括流程運轉狀況,每個(gè)環(huán)節所耗費的時(shí)間等等,而通過(guò)這些可相應的進(jìn)行流程的優(yōu)化,以提高工作效率。
6. 表單設計器
表單設計器為可視化的表單設計工具,用戶(hù)通過(guò)拖放的方式來(lái)繪制業(yè)務(wù)所需的表單,并可相應的進(jìn)行表單數據的綁定。表單設計器為客戶(hù)以及開(kāi)發(fā)商提供了快速修改表單的方法,表單設計器的易用與否以及功能的完善與否影響到工作流管理系統的易用性。
7. 與表單的集成
通常業(yè)務(wù)流轉需要表單來(lái)表達實(shí)際的業(yè)務(wù),因此需要與表單進(jìn)行集成來(lái)實(shí)現業(yè)務(wù)意義,與表單的集成通常包括表單數據的自動(dòng)獲取、存儲、修改,表單域的權限控制、流程相關(guān)數據的維護以及流程環(huán)節表單的綁定。與表單的集成的好壞影響到工作流管理系統是否能提高開(kāi)發(fā)效率。
8. 與應用程序的集成
通過(guò)與應用程序的集成來(lái)完善工作流管理系統的業(yè)務(wù)意義,主要涉及到的是與權限系統以及組織機構的集成。流程環(huán)節需要相應的綁定不同的執行角色,而流程操作通常需要與權限系統、組織機構進(jìn)行關(guān)聯(lián)。
工作流參考模型
工作流參考模型(Workflow reference model)是由工作流管理聯(lián)盟(WfMC)于1995年提出的工作流管理系統的體系結構模型。
工作流參考模型標識了構成工作流管理系統的基本部件和這些基本部件交互使用的接口。這些基本部件包括:工作流執行服務(wù)、工作流引擎、流程定義工具、客戶(hù)端應用、調用應用、管理監控工具;基本部件交互使用的接口包括:接口一、接口二、接口三、接口四和接口五。這個(gè)模型很大地影響了人們后來(lái)對工作流技術(shù)的討論。
WFMC主要提出了五個(gè)接口與工作流執行服務(wù)一起共同組成了工作流系統:
- 接口1(工作流定義交換),用于在建模和定義工具與執行服務(wù)之間交換工作流定義。主要是數據交換格式和API。數據交換通過(guò)XPDL,API通過(guò)WAPI。
- 接口2(工作流客戶(hù)端應用接口),用于工作流客戶(hù)端應用訪(fǎng)問(wèn)工作流引擎和工作列表,通過(guò)WAPI完成。
- 接口3(被調用的應用接口),用于調用不同的應用系統。
- 接口4(工作流系統互操作接口),用于不同工作流系統之間的互操作。
- 接口5(系統管理和監控),用于系統管理應用訪(fǎng)問(wèn)工作流執行服務(wù)。
工作流執行服務(wù)是工作流管理系統的核心部件,它的功能包括創(chuàng )建、管理流程定義,創(chuàng )建、管理和執行流程實(shí)例;在執行上述功能的同時(shí),應用程序可能會(huì )通過(guò)編程接口同工作流執行服務(wù)交互;一個(gè)工作流執行服務(wù)可能包含有多個(gè)分布式工作的工作流引擎。
工作流引擎是為流程實(shí)例提供運行環(huán)境并解釋執行流程實(shí)例的軟件部件。
流程定義工具是管理流程定義的工具,它可能通過(guò)圖形方式把復雜的流程定義顯示出來(lái)并加以操作;流程定義工具同工作流執行服務(wù)交互。
客戶(hù)端應用是通過(guò)請求的方式同工作流執行服務(wù)交互的應用,也就是說(shuō)是客戶(hù)端應用調用工作流執行服務(wù);客戶(hù)端應用同工作流執行服務(wù)交互。
調用應用是被工作流執行服務(wù)調用的應用;調用應用同工作流執行服務(wù)交互。為了協(xié)作完成一個(gè)流程實(shí)例的執行,不同的工作流執行服務(wù)之間進(jìn)行交互。
管理監控工具主要指組織機構、角色等數據的維護管理和流程執行情況的監控;管理監控工具同工作流執行服務(wù)交互。