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