姚惠紅
摘要:文章從工作流的概念及工作流管理系統(tǒng)的作用與組成出發(fā),設計了一個由流程模型定義工具、業(yè)務建模工具。流程運行引擎服務與流程運行WEB組成的項目管理系統(tǒng)。
關鍵詞:工作流管理系統(tǒng);項目管理;過程建模;系統(tǒng)設計
中圖分類號:TP315
文獻標識碼:A
文章編號:1009-2374(2009)14-0127-02
起源于20世紀70年代的“工作流管理(Work Flow)”技術,已成為組織挖掘信息系統(tǒng)潛能、實施業(yè)務過程再造的重要技術,并逐步成為當代組織信息系統(tǒng)的標準核心構件。
一、工作流管理系統(tǒng)的內(nèi)涵
在計算機描述語言中,工作流(Work flow)就是工作流程的計算模型,即將工作流程中的工作如何前后組織在一起的邏輯和規(guī)則在計算機中以恰當?shù)哪P瓦M行表示并對其實施計算,工作流要解決的主要問題是實現(xiàn)某個業(yè)務目標,在多個參與者之間,利用計算機,按某種預定規(guī)則自動傳遞文檔、信息或者任務。
工作流管理建立階段的功能主要完成經(jīng)營過程的計算機化的定義。在這個階段,利用一個或多個建模技術與工具,完成實際的經(jīng)營過程到計算機可處理的形式化定義的轉(zhuǎn)化。所得到的定義通常可稱為過程模型、過程模板、過程元數(shù)據(jù)或過程定義。這個過程也稱為過程定義或工作流過程建模。因此,在工作流建立階段主要完成過程建模工作。過程建模方法學研究的主要內(nèi)容和目的是為企業(yè)經(jīng)營過程建模提供一套完整有效的描述經(jīng)營過程的建模語言。對流程的描述需要提供對邏輯順序結構,如順序、分之、匯合、條件、循環(huán)、并行的描述。使用者可以通過這一套語言來對企業(yè)的經(jīng)營過程進行形式化描述。目前較為官方的建模語言有工作流管理聯(lián)盟WFMC定義的工作流描述語言。
二、基于項目管理的工作流系統(tǒng)的設計
(一)總體設計目標
提供一個流程定義工具,對企業(yè)的業(yè)務過程模型進行圖形化建模,并使規(guī)則達到數(shù)據(jù)庫無關性。提供一個流程運行引擎。可以對流程定義進行裝載,并解釋執(zhí)行流程。提供流程運行WEB桌面工具和可進行WEB二次開發(fā)的一套比較規(guī)范的外部接口。用于流程的實例化運行和與實際業(yè)務數(shù)據(jù)的接口開發(fā)與流程實例化的可持性維護。
(二)結構設計
本基于項目管理的工作流系技術架構采用MS.NET+Delphi多層體系架構。NET體系支持項目級的分布式應用開發(fā),在MS.NET體系中可以實現(xiàn)兩層、三層、多層分布式應用?;贗nternet的工作流平臺是一個典型的多層分布式WEB企業(yè)級應用系統(tǒng)。為了建設穩(wěn)定、高效、可靠、可擴展、易維護的企業(yè)級Internet工作流平臺應用系統(tǒng),我們基于MS.NET技術架構的解決方案采用三層的分布式架構,三層模式采用B/S結構分為表現(xiàn)層、業(yè)務層、數(shù)據(jù)層?,F(xiàn)層:表現(xiàn)層提供應用程序的用戶界面。這通常包括Windows窗體(用于智能客戶端應用程序)和ASP.NET技術(用于基于瀏覽器的交互)的使用。業(yè)務層:業(yè)務層實現(xiàn)應用程序的業(yè)務功能。業(yè)務層通常由使用一種或多種支持.NET的編程語言實現(xiàn)的大量組件組成。這些組件可能為實現(xiàn)可伸縮的分布式組件解決方案而以Microsoft.NET Enterprise Services進行擴充。數(shù)據(jù)層:數(shù)據(jù)層提供對外部系統(tǒng)(如數(shù)據(jù)庫)的訪問。該層涉及到的主要.NET技術是ADO.NET。但是,在這里也經(jīng)常用到一些.NETⅫI功能。但是,在這里也經(jīng)常用到一些MS.NET功能。采用DELPHI開發(fā)的工作流建模工具可以分布式的定義.XML流程模型,與業(yè)務數(shù)據(jù)庫都是數(shù)據(jù)層的重要數(shù)據(jù)。
(三)模塊設計
1.工作流建模工具。為實現(xiàn)使用圖形化的方式,讓開發(fā)和維護者在直觀的環(huán)境下用最少的時間設計或修改項目管理工作流程,建模工具需要提供相當豐富的流程元素、數(shù)據(jù)類型、邏輯表達方式等,可以表示非常復雜的流程,與業(yè)務建模工具相結合可以輕易的設定每個流程每個步驟設計數(shù)據(jù)域及要執(zhí)行的功能,和管理工具相結合,可方便準確地選擇每個活動執(zhí)行的參與者。本系統(tǒng)提供了流程自動模擬功能來測試與檢測流程的準確性與合理性,主要實現(xiàn)以下功能:圖形化拖拽方式:使用圖形控件實現(xiàn)業(yè)務過程模型圖形化拖拽;提供過程元素對象控件:開始活動、中間活動、終止活動,路徑等元素?;顒訉傩栽O置;可以設置活動的通知類型、參與者人數(shù)、活動的參與者、可收回環(huán)節(jié)、可退回環(huán)節(jié)、業(yè)務事限、激活條件等。簡單的操作功能:實現(xiàn)過程元素的剪貼、復制、粘貼、刪除、操作的撤消、對象控件的全選、圖形元素自動排列等功能。過程模型存儲:采用統(tǒng)一的XMI格式儲存工作流模型文件。參與者設置:可以從業(yè)務表中獲取有關的系統(tǒng)角色或用戶;也可以定義有關的活動處理的參與者角色或用戶。流程數(shù)據(jù)定義:實現(xiàn)與業(yè)務數(shù)據(jù)交互的數(shù)據(jù)變量定義,實現(xiàn)多種流程模型:實現(xiàn)串行模型、并行發(fā)散模型、選擇發(fā)散模型、傳送模型、并行聚合模型、簡單聚合模型、鑒別式聚合等多種模型文件的繪制。
2.業(yè)務建模工具。業(yè)務建模工具主要實現(xiàn)項目管理業(yè)務的數(shù)據(jù)庫設計和業(yè)務界面的設計,即數(shù)據(jù)建模和頁面建模,是流程平臺的為了支持企業(yè)業(yè)務流程的額外工具。其中本系統(tǒng)的數(shù)據(jù)建模實現(xiàn)表格化的定義方式,采用統(tǒng)一的模式使開發(fā)人員或維護人員在不必精通多數(shù)據(jù)庫語法的情況下進行數(shù)據(jù)庫對象的設計,使數(shù)據(jù)對象建模快捷,方便,具有向?qū)厣?。它的最大的?yōu)點是:讓維護人員脫離數(shù)據(jù)庫語言特色,讓開發(fā)人員與維護人員簡化了數(shù)據(jù)維護過程,降低了項目的開發(fā)成本和維護成本。主要實現(xiàn)以下功能:第一,表格化操作方式:實現(xiàn)采用列表方式列出表字段的列名、中文名、長度、數(shù)據(jù)類型、初始值、下拉選擇值等。第二,簡單操作功能:實現(xiàn)表字段的增加、刪除、修改義。
3.流程運行引擎。本系統(tǒng)的流程運行引擎服務是項目管理核心,是應用控制和運行的中心,負責解釋、控制并協(xié)調(diào)各種復雜工作流程的執(zhí)行并且同步各個客戶端的反應,如:工作流激活、任務分配、任務接收、任務終結、任務回退、并發(fā)控制、同步控制等;為客戶端和監(jiān)控管理提供所需服務。運行服務器包括監(jiān)視自激活服務,裝載服務,數(shù)據(jù)庫服務、工作項服務、消息服務、日志服務、垃圾回收服務,主要的實現(xiàn)的功能有:過程定義的裝載解釋;過程實例的創(chuàng)建:人工創(chuàng)建,自動創(chuàng)建;過程、活動以及工作項的控制:創(chuàng)建,運行,掛起,恢復,終止;流程自動激活工作;系統(tǒng)時鐘管理;自動回收垃圾過程;系統(tǒng)日志服務;數(shù)據(jù)存取服務等。
4.流程運行WEB。工作流運行WEB能提供業(yè)務人員進人特定任務并處理任務的環(huán)境,并提供監(jiān)控功能供業(yè)務專責人員從宏觀角度隨時在線監(jiān)視和管理職責范圍內(nèi)的業(yè)務流程,監(jiān)督指導或檢查任何一項具體活動。本系統(tǒng)的流程運行WEB主要實現(xiàn)以下功能:第一,工作待辦:以聲音和明顯顏色主動提示有需要處理的工作。第二,歷史任務回溯:實現(xiàn)讓用戶檢索任何以往已處理的任務,回溯以往工作,并可重入。第三,相關任務預覽功能:實現(xiàn)讓用戶觀察到當前系統(tǒng)中正在進行的與自己有關但目前正在其它人手頭上處理的任務,為下一步的工作提前做好準備流程列表:按流程類型列出各種流程實例化列表。并實現(xiàn)按擬稿中、處理中、已終結、已作廢方式分類列出。第四,流程處理:實現(xiàn)人工方式的流程啟動、發(fā)送、保存、收回、退回、作廢、監(jiān)視、終結、預處理設置等流程處理方式。第五,流程管理:實現(xiàn)流程的擬稿、查看、刪除、催辦、跳轉(zhuǎn)、恢復、掛起、控制域設置、預處理設置。
本項目管理系統(tǒng)工作流平臺在+++公司調(diào)度管理系統(tǒng)(DMIS)中內(nèi)部測試應用中,使得調(diào)度業(yè)務流程得以快速、穩(wěn)定的進行流程,流程業(yè)務完全實現(xiàn)了網(wǎng)上處理。