摘要:根據ERP的領域需求及特點,開發出一種改進的基于活動網絡圖的工作流模型,并引入了事件管理器和事件訂閱器(event subscriber)。經過改進的工作流管理系統能夠很好地滿足ERP系統的業務要求,可以有效增加系統的柔性,簡化系統建模的難度。
關鍵詞:工作流模型; 工作流管理系統; 事件; 活動網絡圖; 企業資源規劃
中圖分類號:TP311.1文獻標志碼:A
文章編號:1001-3695(2008)04-1278-03
企業資源規劃(ERP)是目前國內企業信息化的重點和難點。一方面國內企業為了適應貿易全球化的影響需要對原有的各個部門進行業務流程重組;另一方面,企業也迫切需要一種有效的手段來解決各部門之間信息溝通。而工作流管理系統為企業進行業務流程重組、過程管理與過程自動化以及為企業之間或部門之間的信息交流提供了一種有效的技術手段。通過企業業務過程建模和模型仿真分析,可以規范和優化企業的業務流程,去除不合理環節,實現企業業務過程優化,并能為企業建立業務知識庫和規則庫,為企業決策提供長期有效的指導。
由于應用的業務環境不同,與其他信息系統相比ERP系統具有其自身的特點,主要表現在以下幾方面:
a)在ERP系統中存在事務處理的概念。事務處理通常涉及到物料和資金,是一種業務處理。這些事務處理組成了復雜多變、需要進行信息交互的業務流程。
b)ERP的業務流程所涉及到的部門比較多,包括銷售部門、生產部門、設計部門、采購部門以及供應商和客戶等。相對于OA等系統來說對ERP業務流程的實現和改造更加復雜。
c)業務流程不再以某個單獨對象(如文件、設計圖紙等)為處理核心,而是以事務為核心。例如,在ERP中比較典型的采購流程需經評定供應商、確認采購需求、生成采購申請單、選擇供應商、修正申請單、產生采購訂單、跟蹤采購訂單、檢驗入庫、支付貨款等步驟。在這些步驟中,需要處理的對象包括供應商記錄、采購申請單、采購訂單、入庫單以及財務憑證等,而非單一的某個文件或設計圖紙。
d)企業不僅需要其內部各個組織單元之間的協調,還需要企業與外部的業務單元之間進行協調,同時還要使各組織單元之間相互獨立。因此工作流系統既要確保各個單元間的相關信息交流,又要使得每個單元內部對于業務流程的改變不會影響到其他單元。
e)制造業企業的業務流程相對復雜,對工作流管理系統的柔性提出了更高的要求。
針對ERP領域的特點,在WfMC給出的工作流參考模型基礎上本文給出了一種建模方法。
1系統設計
工作流技術應用于ERP時必須解決建模問題。目前,比較常見的建模方法包括基于活動網絡圖的過程模型、事件驅動的過程鏈模型、基于Petri網的工作流模型、工作流的事務模型、基于語言行為理論的工作流模型等[1,2]。其中:基于活動網絡圖的工作流模型是目前國內外大多數工作流管理系統普遍采用的建模方法,典型的如IBM的FlowMark,但這類模型往往缺乏柔性,自適應能力較差,不能處理復雜的過程邏輯。
為此,筆者對現有基于活動網絡圖建模方法進行了改造。在原有基于活動網絡圖模型的基礎上引入了事件響應機制[3~6],為用戶提供了相應的模型元素。系統的體系結構如圖1所示。
1.1模型元素表示
過程定義的組成元素稱為模型元素[7,8]。在可視化圖形建模工具中,模型元素被表示成節點。擴展后的模型元素如圖2所示。具體為:
手工活動(activity)、專用活動(adhoc activity)、過程代理(proxy)、塊(block)、郵件自動機(notify robot)、定時器(timer)、同步自動機(synchronization robot)、表達式(expression)、應用程序自動機(application robot)、條件分支(condition)、與匯合(and)、或匯合(or)、閾值(threshold)、開始(start)、結束(end)、鏈接(linker)以及事件訂閱器(event subscriber)。
這里,事件訂閱器用來定義流程的觸發事件。每個模型可以有0~1個事件訂閱器。每個事件訂閱器中可以訂閱若干特定的事件,并分別定義驗證條件。條件可以為空,即事件發生時無條件啟動。
1.2工作流引擎的設計
根據工作流管理手冊,工作流系統的重要組成部分應包括過程建模工具、工作流引擎、組織模型、工作表管理器和用戶界面。作為工作流管理系統的核心,工作流引擎負責對工作流模型實例化,以及對流程實例的解釋和執行。工作流引擎可以控制流程實例狀態的改變,可以創建、終止、掛起、恢復一個過程實例。工作流引擎的設計如圖3所示。作為工作流系統的運行控制模塊,工作流引擎負責控制系統中工作流實例的狀態改變。工作流實例的狀態轉換如圖4所示。
1.3事件管理器的設計
事務處理構成了ERP系統復雜的業務流程。在傳統的ERP系統中,事務處理會導致業務對象狀態的變化。在ERP系統中業務對象狀態的變化需要通過事件傳遞。事件反應了一個對象的狀態發生了改變。為此筆者在WfMC給出的工作流參考模型基礎上引入了一個新的功能模塊——事件管理器(圖5)。
業務事務所產生的事件全部由事件管理器負責分發和處理。事件管理器會查找每個監聽此事件的工作流模型,并判斷其驗證條件是否被滿足。它是實現事件發布和訂閱機制的核心。事件管理器的構造函數如圖6所示。
2工作流示例
圖7給出的是在ERP系統中經過簡化的采購審批流程。企業通常是在某種物料不足的情況下啟動此業務流程。在圖中,筆者利用了事件的發布和訂閱機制,采用分而制之的策略,將比較復雜的采購審批業務流程用三個相對簡單的工作流程來描述:a)創建采購申請單流程;b)采購申請單復雜審批流程;c)采購申請單簡易審批流程。
創建采購申請單流程(圖7(a))訂閱了物料不足這一事件,具體經過以下步驟:a)(業務員)從系統中選擇可生產此物料的供應商;b)(業務主管)對供應商進行評審;c)(條件判斷)若可以滿足供貨條件則進行d),否則返回a);d)(業務員)根據物料信息和供應商信息創建采購申請單。當業務員完成創建采購申請單事務時,系統發出采購申請單被創建事件。采購訂單復雜審批流程和采購訂單簡易審批流程盡管都訂閱了采購申請單被創建事件,但是其驗證條件不同。這里假定:當采購申請單的總金額數≥10 000元時,采購訂單復雜審批流程(圖7(b))將會被啟動; 當采購申請單的總金額數<10 000元時,采購訂單簡易審批流程(圖7(c))將會被啟動。采購申請單復雜評審流程需要經過以下步驟:a)(部門主管)審批,若通過則進行b),否則執行d);b)(主管廠長)批準,若通過則執行c),否則返回d); c)(業務員)創建采購訂單; d)(業務員)決定取消此次采購申請或修改并重新提交采購申請單。采購申請單簡易審批流程只需經過兩個步驟: a)(組長)對此采購申請單進行批準,組長有權決定是否終止審批;b)(業務員)創建采購訂單。這里筆者用三個相對簡單的工作流模型實現了一個相對復雜的工作流程,在保證事件不變的前提下,單個模型的修改不會影響其他的工作流模型。通過該機制,能夠非常容易地實現信息傳遞以及多個部門間的協作。
通過對圖7給出的工作流模型進行分析,可知本文所提出的方法與傳統的基于活動網絡圖和事件驅動的過程鏈建模方法相比具有以下特點:
a)具有普通基于活動網絡圖建模方法簡單直觀的優點,同時又比普通基于活動網絡圖模型的描述能力強,能夠描述復雜、交互的業務流程。
b)事件管理器和事件訂閱器的引入,使得工作流建模的復雜度和難度降低。
c)各個部門僅僅維護與本部門有關的業務流程,流程之間可以通過事件進行協同。一個業務流程的改變不會影響到其他流程,因此具有低耦合高聚合的特點。
d)工作流實例的啟動和實例化可以由事件管理器完成,提高了整個ERP系統的自動化響應程度。
3結束語
隨著企業信息化的推廣和應用,工作流技術越來越受到人們的重視。本文針對企業資源規劃(ERP)這一應用領域的實際情況,開發出一種具有事件響應功能的基于活動網絡圖的工作流管理系統。該系統底層利用J2EE技術實現,采用當前流行的B/S結構,是典型的瘦客戶端。與國外的一些ERP軟件如SAP的R3相比,其建模過程更加簡單直觀;與國內一些ERP軟件如用友的U8相比,其柔性更強,可以對復雜的業務過程建模。
參考文獻:
[1]范玉順. 工作流管理技術基礎[M]. 北京:清華大學出版社,2001.
[2]羅海濱, 范玉順, 吳澄. 工作流技術綜述[J]. 軟件學報,2000,11(7):899-907.
[3]AALST van der. Inheritance of interorganizational workflows to enable business-to-business e-commerce[J]. Electronic Commerce Research, 2002(2): 195-231.
[4]AALST W M P van der,HEE K M van.Workflow management:models, methods, and systems[M]. Cambridge, MA: MIT Press,2002.
[5]CASATI F, DISCENZA A. Modeling and managing interactions among business processes[J].Journal of Systems Integration,2001,10(2): 145-168.
[6]AALST W M P van der. Interorganizational workflows: an approach based on message sequence charts and Petri nets[J]. Systems Analysis Modelling Simulation, 1999, 34(3):335-367.
[7]RUMBAUGH J, JACOBSON I, BOOCH G. The unified modeling language reference manual[M].[S.l.]: Addison Wesley Longman, Inc, 1999.
[8]趙文,胡文蕙,張世琨,等. 工作流元模型的研究與應用[J]. 軟件學報, 2003,14(7):1052-1059.
“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”