在一個組織內部存在著兩種信息:一種是數據信息,另一種是業務信息。在組織之間也同樣存在著兩種信息:一種是數據信息,另一種是業務往來信息。如果這兩種信息用計算機系統來管理,前一種屬于組織內部的信息系統,后一種屬于B2B電子商務系統。目前對數據信息的計算機管理系統(即:數據庫管理系統)經過多年的發展已經成熟。對業務過程的計算機管理系統由于比較復雜,可變因素較多,難度大,因此發展還不成熟。工作流技術作為現代組織實現過程管理與過程控制的一項關鍵技術,為組織的業務處理過程提供了一個從模型建立、管理到運行、分析的完整框架。同時,工作流管理系統(Workflow Management System ,WFMS)通過一套集成化、可互操作的軟件工具為這個框架提供了全過程的支持。Thomas Koulopoulos曾預言:工作流管理系統將最終成為覆蓋于各類臺式機與網絡操作系統(如:Windows,Unix,Windows NT)之上的業務操作系統BOS(Business Operating System),它將帶來操作系統的一次革命。但是目前工作流技術無論從理論上還是從實踐都還不夠完善,要實現Thomas Koulopoulos的預言可能還需有一段路要走。本文主要介紹了由作者獨立設計一套工作流管理系統體系結構,以供工作流技術愛好者參考。
2、工作流管理系統的基本概念
顧名思義,工作流就是工作任務在多個人或單位之間的流轉。在計算機網絡環境下,這種流轉實際上表現為信息或數據在多個人之間的傳送。工作流管理聯盟( Workflow Management Coalition ,WfMC)對工作流的定義是:“業務過程的部分或全部在計算機應用環境下的自動化”。 她所要解決的主要問題是,“使在多個參與者之間按照某種預定義規則傳遞的文檔、信息或任務的過程自動進行,從而實現某個預期的業務目標,或者是促使此目標的實現”。
工作流管理系統就是通過管理一序列的工作活動以及相關人員、資源、信息技術資料來提供業務處理程序上的自動控制。工作流管理系統通過計算機軟件來定義、管理和執行工作流程。在工作流管理系統中計算機運用程序的執行順序是由工作流邏輯的計算機描述來驅動的。她的主要目標是對業務過程中各步驟(或稱活動、環節)發生的先后次序,以及同各個步驟相關的人力、資源、信息資料的調用等進行管理,從而實現業務過程的自動化。當然這種管理可能會在不同的信息及通信環境下實現,所涉及的范圍可以小至一個只有幾人的工作組,也可以大到政府、企業組織各個機構之間。工作流管理系統將人員、組織結構、設備資源、信息源(如數據庫、文件系統、電子郵件、計算機輔助設計工具等)整和成一個整體。這樣,工作流管理系統就成為了一個理想的用來收容業務邏輯的業務知識倉庫,并給予業務邏輯一個易操作易控制的界面。
工作流管理系統的最大優點就是實現具體應用邏輯和過程邏輯的分離,實現在不修改具體功能的情況下,通過修改業務流程模板來改變系統的功能,完成對組織生產經營過程的部分業務或全部業務的集成管理,有效的把人力資源、物質資源和信息組織在一起,發揮最大的效能。
3、工作流管理系統體系結構
工作流管理系統在實際運用中一般分為三個階段:工作流建模階段,工作流模型實例化階段和工作流執行階段,如圖1。在工作流建模階段主要通過工作流建模工具完成業務流程的模型建立,將實際的業務操作流程轉為為計算機可模擬處理的工作流模型;在模型實例化階段主要通過工作流引擎完成具體業務流程的實例化,為具體業務流程辦理流轉提供工作流相關數據和工作流控制數據,并為業務流程的辦理提供所需要資源(如人力資源和物料、設備資源等); 工作流執行階段主要完成業務流程的執行,重點是完成人機交互和系統內部應用或外部應用程序的調用。
圖1、實施的三個步驟
根據工作流的三個階段的分工,工作流管理系統結構可以分為過程設計定義功能、運行控制功能和運行交互接口三個層次的功能,如圖2。
過程設計定義功能主要作業務處理流程的計算機定義,她提供了一種分析、建模、系統定義技術,將一個現實世界的業務處理過程轉換成計算機可處理的定義;最終的定義叫作工作流模型、過程模版或過程定義,她可以用圖形符號進行表示。 工作流管理系統結構這一層次主要包括以下功能:業務建模與信息建模、組織管理、資源管理、內部應用開發工具、數據窗口開發工具、工作流定義等功能。
4.1業務建模與信息建模
業務流程是由各業務環節連接而成,而每一個業務環節都由多個相互關聯、不同層次的要素構成。在業務建模時可自頂向下的將業務流程中各個業務環節最終分解成一系列的原子任務。所謂原子任務,即將有可能發生的每筆業務進行原子化分解,細分到不能再分割的操作單元,每個操作單元即是一個原子任務。任務之間的相互聯結也將最終轉化為數據流、信息流、協作流、資源流。這樣各個原子任務的控制連接,就成為了工作流模型。因此,工作流是企業中過程流、數據流、信息流、協作流、資源流等各種流的綜合集成。業務建模工具主要提供流程定義開發人員便捷的與數據流圖工具或活動圖等流程描述工具類似的業務流程分析工具。
業務模型是信息模型的出發點。信息模型說明了業務處理對象中所包含的信息,或者說執行具體功能的活動的輸入、輸出數據、以及這些數據之間的邏輯關系。信息建模工具可提供使用E-R圖方法構建信息系統的邏輯數據模型;根據實際選用的數據庫管理系統,建立適用于該數據庫管理系統的物理數據模型,同時可生成目標數據庫管理系統的數據庫創建腳本。 信息模型是個兩層次的建立過程,先建立邏輯模型,再建立物理模型。邏輯模型支持數據的概念模式,它從抽象的層次上反映內部數據間的關聯,不管具體的數據結構及數據存儲方式等等。物理模型支持數據庫的物理設計,它與具體選定的數據庫類型密切相關。
4.2組織管理
在組織單位中組織結構是信息決策、任務執行和監督管理等重要活動的載體,組織結構揭示了組織單位人員管理的層次,反映了人與工作、決策、責權之間的聯系。因此,組織結構對于一個組織單位中如何完成業務流程的建模和提高管理、生產效率是至關重要的。組織結構、工作流、過程建模等概念的提出,為描述組織單位業務流程提供了有力的工具,也使過程到組織的映射模型的建立成為可能。
工作流管理系統結構提供了組織管理功能,用于定義業務單位的組織架構和人員管理職責分配等工作。為工作流模型的定義和工作流的實例化、執行提供人力資源約束和支持。
4.3資源管理
資源是進行生產經營不可缺少的物資因素,在工作流的執行過程,必須得到企業資源的支持,相應的組織實體才能夠按照要求完成活動。同時,工作流要保證將正確的信息和資源在正確的時刻以正確的方式送給正確的小組或成員。
工作流管理系統結構提供了資源管理功能,用于建立組織單位的資源模型,表示組織單位的資源結構和配置情況,描述組織單位各種資源對象之間的聯系和關系,為工作流模型提供資源約束和支持。
4.4內部應用開發工具
工作流管理系統結構提供了圖形化應用開發工具,用戶可以使用圖形化設計方法,開發出動態頁面應用,其結果可保存為html或jsp或其他可直接調度執行的運用程序。這些內部應用程序具有數據庫訪問能力,能夠訪問或存儲工作流相關數據和控制數據。在流程定義時流程開發人員可以直接設計并提供流程節點預調用。 運行時用戶可以在任務列表中直接調用,執行所需完成的工作。它的最大的優點是讓開發人員避免了復雜業務處理應用程序的開發。
4.5數據窗口開發工具
工作流管理系統結構提供了圖形化設計復雜報表頁面的能力,可設計任意復雜的報表,并可畫出各種統計分析圖并能夠使用多種形式輸出。在流程定義時數據窗口開發工具就像內部應用開發工具一樣可以由用戶自行定義并提供流程節點預調用。當流程實例運用到指定節點時,用戶可以直接調用該數據窗口以用戶所需要的形式展現相關信息內容。
4.6工作流建模工具
工作流建模工具以工作流元模型為基礎,通過分析不同類型的業務過程,采用有向圖的方法對現實的業務活動進行形式化描述,建立業務過程到工作流模型的映射機制。對于建模工具而言一方面為用戶提供了一個建立規范的業務過程的接口,另一方面,所建立的工作流過程可以存儲于工作流庫中作為工作流引擎的輸入,投入運轉、執行并接受監控。建模工具的主要包含以下功能:
提供建立工作流模型所需的各類基本元素,比如活動、子過程、連接弧等;
支持圖形用戶界面的基本操作,比如鼠標的點擊與拖動;
提供用戶定義各模型單元屬性的對話框;
模型的保存與讀取;
支持多層次建模;
與外部自動應用的接口;
4.7工作流模型庫
工作流模型庫主要用于保存和管理已定義完成的工作流模型。在工作流程啟動時工作流引擎將直接加載并將其實例化,同時為工作流的流轉提供基礎模板。
5、運行控制功能
運行控制功能主要對工作流模型的定義進行解釋,創建并控制過程的運行實例,調度過程的各種行為步驟,調用適當的人力、資源和應用程序以完成任務的執行。工作流管理系統的核心部件就是工作流管理控制軟件——工作流引擎。工作流管理系統結構在這一層次的主要包括:工作流引擎和工作流監控管理2部分。
5.1工作流引擎
工作流引擎可以說是工作流管理系統的心臟。一個工作流管理系統通常可以包括一個或多個工作流引擎,不同工作流引擎通過協作共同執行工作流程。工作流引擎實際上是經營過程的任務調度器,在某種程度上還是資源的分配器。在采用工作流管理系統支持經營過程中,工作流引擎可以看成是一個業務操作系統BOS(Business Operating System)。業務過程在她的管理、監控之下運行,因此工作流引擎的性能和可靠性就直接決定了業務過程的運行效率和安全性。
5.2工作流監控管理
系統管理與監控是工作流系統一個非常重要的功能。工作流系統管理與監控工具能夠對工作流在整個組織內部的流動狀況進行監視,并提供一系列的管理功能,實現安全性、過程控制和授權操作等方面的管理。它包括以下幾個方面的功能:
1)建立、設置和優化組成工作流管理系統的各個軟件。
2)對過程模型進行實例化。
3)將過程模型中的角色實例化。
4)將運行中的過程實例、活動實例和數據分發到各個工作流機中。
5)啟動、掛起、恢復和終止過程實例。
6)管理正在執行的過程實例,并對正常結束或異常退出的過程實例的歷史數據進行統計和分析。
6、運行交互接口
運行交互接口主要提供工作流管理系統與人員或應用程序工具的交互接口來處理各種活動步驟。交互接口對于活動間的控制傳遞是必須的,如確定過程的狀態,調用應用程序工具,傳遞應用程序數據等。
7、結論
該工作流管理系統體系結構是作者深入研究了工作流管理聯盟提供的工作流管理系統模型和各大主流工作流管理系統的基礎上設計出來的。以該體系結構為基礎作者領導開發了基于J2EE架構的新一代工作流管理系統UniFlow。UniFlow工作流管理系統目前已在電子政務中取得了廣泛的運用。