0 引言
由于現(xiàn)代的企業(yè)競爭已經(jīng)從降低成本和提高質(zhì)量的競爭進(jìn)化到如何增加企業(yè)的柔性和快速反應(yīng)性的競爭,人們越來越重視對過程的管理。為了提高競爭力,企業(yè)不僅要很好地實現(xiàn)基于過程的管理,而且要保證過程的柔性,因為速度和柔性是贏得競爭的關(guān)鍵。現(xiàn)在的企業(yè)信息系統(tǒng)主要通過ERP系統(tǒng)來實現(xiàn)。ERP系統(tǒng)一般在一個軟件中實現(xiàn)所有的功能。但是這個軟件是面向功能的,不是基于業(yè)務(wù)過程構(gòu)建,因此不能適應(yīng)企業(yè)業(yè)務(wù)過程的經(jīng)常變化。而工作流技術(shù)和工作流管理系統(tǒng)作為面向過程應(yīng)用的關(guān)鍵技術(shù)現(xiàn)在已經(jīng)逐漸成熟并被廣泛地用于各種信息系統(tǒng)中。它的應(yīng)用一般有兩種形式,一是作為自治系統(tǒng)(如Lotus Notes,Ultimus workflow等),一是作為其他大型系統(tǒng)的 一部分(如在SAP和Oracle中的工作流系統(tǒng))。隨著工作流技術(shù)的日趨成熟,工作流管理系統(tǒng)已經(jīng)為業(yè)務(wù)過程的定義和執(zhí)行提供了良好的基礎(chǔ),而工作流技術(shù)將繼續(xù)發(fā)展成為業(yè)務(wù)操作系統(tǒng),實現(xiàn)對業(yè)務(wù)過程的全面管理。
因此,在企業(yè)中實施工作流管理勢在必行。實施工作流管理必然要考慮工作流管理系統(tǒng)與ERP系統(tǒng)的關(guān)系?紤]企業(yè)業(yè)務(wù)過程的特點,企業(yè)中沒有實現(xiàn)電子化的業(yè)務(wù)流程以及已經(jīng)實現(xiàn)電子化但需要經(jīng)常變化的業(yè)務(wù)流程可以交由工作流管理系統(tǒng)來管理。而目前實現(xiàn)了電子化的這部分過程,一般在ERP系統(tǒng)中來管理。這就需要很好地從)ERP系統(tǒng)中“剝離”出一部分過程,交由工作流系統(tǒng)管理。如何選擇這些過程,以及工作流管理系統(tǒng)與ERP系統(tǒng)的關(guān)系則是必須考慮的問題。一般來講,對企業(yè)中“業(yè)務(wù)性”很強(qiáng)的過程(特點是流程經(jīng)常變化,業(yè)務(wù)數(shù)據(jù)少,事務(wù)性的工作多(如報銷流程等),由工作流管理系統(tǒng)來實現(xiàn)。此時,作為ERP系統(tǒng)的一部分,工作流管理系統(tǒng)能夠?qū)崿F(xiàn)對業(yè)務(wù)過程的有效管理,從而提高業(yè)務(wù)過程的柔性和快速反應(yīng)性,使得企業(yè)能夠適應(yīng)市場的經(jīng)常性變化通過對現(xiàn)有ERP系統(tǒng)的缺點和存在問題的分析,本文給出了一個引入了工作流技術(shù)的ERP系統(tǒng)。在工作流管理系統(tǒng)和基于組件開發(fā)的基礎(chǔ)上,設(shè)計了基于組件的ERP系統(tǒng)體系結(jié)構(gòu),給出了根據(jù)功能把過程中的活動分解為組件的方法,最后詳細(xì)討論了支持該系統(tǒng)全生命周期管理的開發(fā)和實施方法。
1 工作流管理系統(tǒng)簡介
工作流是業(yè)務(wù)過程的自動執(zhí)行,它根據(jù)預(yù)定義的規(guī)則使得文檔、信息或者任務(wù)在工作流執(zhí)行者之間傳遞并幫助活動的執(zhí)行。業(yè)務(wù)過程的自動化是在工作流定義中描述的,工作流定義確定了工作流活動、活動之間的相互依賴關(guān)系以及用于管理工作流的控制數(shù)據(jù)。活動是工作流中定義的任務(wù),它形成了過程中的一個邏輯步驟。工作流中活動的依賴關(guān)系有兩種,即用于執(zhí)行的控制關(guān)系和用于數(shù)據(jù)傳遞的信息依賴關(guān)系。在工作流建模時,需要指定活動的角色,輸入輸出數(shù)據(jù)以及時間延遲等信息來描述一個實際的過程。同時,還需要確定活動之間的相互關(guān)系以用于過程執(zhí)行時決定活動的執(zhí)行順序,F(xiàn)有的工作流建模方法很多,許多工作流模型都是基于Petri網(wǎng)建立,工作流管理聯(lián)盟設(shè)計了基于XML的建模方法XPDL,有向圖的方法也用來描述過程,其中節(jié)點對應(yīng)著活動而有向邊對應(yīng)著活動間的關(guān)系。在工作流運(yùn)行之前要建立工作流實例,工作流實例是工作流執(zhí)行過程的表示,它由工作流管理系統(tǒng)根據(jù)工作流模型來生成和管理。通過對工作流實例的執(zhí)行,工作流管理系統(tǒng)完成對業(yè)務(wù)過程的運(yùn)行和管理。
工作流管理系統(tǒng)是一個完整的支持工作流的定義、執(zhí)行和管理的軟件系統(tǒng),而該軟件系統(tǒng)的執(zhí)行順序是根據(jù)工作流模型來進(jìn)行的。工作流管理系統(tǒng)包括工作流過程定義工具、工作流執(zhí)行服務(wù)、管理與監(jiān)控工具、工作流客戶端和相關(guān)應(yīng)用程序接口等部分,如圖1所示。過程定義是建立工作流的過程,將企業(yè)的實際業(yè)務(wù)過程轉(zhuǎn)化為計算機(jī)可處理的工作流模型。工作流執(zhí)行服務(wù)負(fù)責(zé)對工作流進(jìn)行實例化、執(zhí)行和管理。管理與監(jiān)控工具負(fù)責(zé)對工作流的執(zhí)行進(jìn)行管理、分析與控制。工作流客戶端負(fù)責(zé)人機(jī)交互,提供工作流執(zhí)行的接口,幫助完成業(yè)務(wù)過程的執(zhí)行。相關(guān)應(yīng)用程序接口負(fù)責(zé)與應(yīng)用程序的接口,提供工作流執(zhí)行時所需要的軟件以協(xié)助工作流的正常執(zhí)行,相關(guān)的程序包括ERP系統(tǒng)的COM+或J2EE等軟件組件、文檔管理、表單管理、電子郵件服務(wù)、CAD/CAM/CAPP等。

工作流管理系統(tǒng)提供了定義和執(zhí)行業(yè)務(wù)過程的基礎(chǔ),企業(yè)ERP統(tǒng)的一部分業(yè)務(wù)過程可以由工作流管理系統(tǒng)來執(zhí)行,實現(xiàn)對企業(yè)過程的高效管理。工作流中活動對應(yīng)的功能將由軟件組件來實現(xiàn)。而基于工作流管理系統(tǒng)的這部分系統(tǒng)可以與ERP系統(tǒng)其他部分集成。集成在兩個層次上實現(xiàn):
(1)在軟件層次的集成:工作流管理系統(tǒng)調(diào)用其他軟件工具實現(xiàn)過程的執(zhí)行。
(2)在數(shù)據(jù)層的集成:基于工作流的系統(tǒng)與其他信息系統(tǒng)共同訪問一個數(shù)據(jù)庫,實現(xiàn)數(shù)據(jù)層的集成。
2 工作流在ERP系統(tǒng)中的應(yīng)用
2.1現(xiàn)有ERP系統(tǒng)的缺點
傳統(tǒng)ERP系統(tǒng)的設(shè)計與開發(fā)都是以信息處理和信息集成為中心,面向系統(tǒng)的組織結(jié)構(gòu)來實現(xiàn)各種功能。而這些功能模塊之間的內(nèi)在聯(lián)系都沒有顯式的實現(xiàn),而是隱含在程序中。而執(zhí)行流程往往隱藏在復(fù)雜的菜單之后,通過用戶不斷地點擊各個菜單來實現(xiàn)業(yè)務(wù)過程的運(yùn)轉(zhuǎn)。系統(tǒng)界面以菜單的形式提交給用戶,而菜單中各個功能之間的內(nèi)在關(guān)聯(lián)則無法顯式地提交給用戶,而只能靠軟件說明書或者幫助來指導(dǎo)用戶的操作。新用戶需要專門的培訓(xùn)才能夠掌握軟件的使用,操作的正確與否也取決于用戶的熟練程度。當(dāng)前ERP系統(tǒng)多為面向功能的,所以當(dāng)過程出現(xiàn)變化時系統(tǒng)往往不能適應(yīng)。ERP的設(shè)計者和開發(fā)人員通常只是考慮系統(tǒng)的功能而很少考慮軟件的使用流程。如果需要經(jīng)常改變工作流程的時候就出現(xiàn)了問題:此時需要重新設(shè)計、編碼和重新編譯軟件,影響軟件的穩(wěn)定性。正常的工作會被打擾而且操作人員還需重新熟悉軟件,更重要的是需要重新熟悉隱藏在繁瑣的菜單后面的工作過程?梢姡瑐鹘y(tǒng)的面向功能的ERP件缺乏對業(yè)務(wù)流程的
有效支持,軟件的耦合度很大,缺乏靈活性。工作流管理系統(tǒng)是對業(yè)務(wù)過程進(jìn)行處理的系統(tǒng),以過程為中心實現(xiàn)系統(tǒng)的集成,具有靈活、開放的優(yōu)點。基于工作流系統(tǒng)的開發(fā)則強(qiáng)調(diào)對業(yè)務(wù)過程的支持。因此,通過傳統(tǒng)ERP系統(tǒng)與工作流系統(tǒng)的結(jié)合,對傳統(tǒng)ERP系統(tǒng)進(jìn)行改進(jìn),可增強(qiáng)ERP系統(tǒng)對業(yè)務(wù)過程的集成和管理,提高系統(tǒng)的柔性,進(jìn)而增強(qiáng)和改進(jìn)ERP系統(tǒng)的功能,更好地適應(yīng)客戶的需要。
2.2ERP中的工作流應(yīng)用
為了增強(qiáng)對企業(yè)業(yè)務(wù)過程的有效管理,需要在ERP系統(tǒng)中引入工作流技術(shù)。在ERP中,對業(yè)務(wù)性很強(qiáng)的業(yè)務(wù)過程用工作流系統(tǒng)來管理,而對于企業(yè)中沒有實現(xiàn)電子化的那部分業(yè)務(wù)過程同樣可以由工作流管理系統(tǒng)來管理。可見工作流系統(tǒng)還包括了一些不屬于ERP功能的過程。為了方便這里不加區(qū)分,而把ERP需要工作流系統(tǒng)實現(xiàn)的過程和以前沒有實行電子化的過程統(tǒng)一管理。
工作流包括一組活動以及活動之間的邏輯關(guān)系;顒訉(yīng)著業(yè)務(wù)過程中的任務(wù),邏輯關(guān)系決定了活動的執(zhí)行順序和活動之間的數(shù)據(jù)流動關(guān)系。工作流執(zhí)行者負(fù)責(zé)人工活動的執(zhí)行,執(zhí)行時需要一些相應(yīng)的數(shù)據(jù)、資源和相關(guān)軟件。工作流管理系統(tǒng)本身需要建立在某種軟件組件基礎(chǔ)之上,如J2EE或NET。而ERP系統(tǒng)中的業(yè)務(wù)過程可以分解成活動,每個活動實現(xiàn)某種特定功能。過程中的活動可以由軟件組件來實現(xiàn),并根據(jù)模型的對應(yīng)關(guān)系把這些軟件組件插入到工作流系統(tǒng)中,運(yùn)行時由工作流引擎調(diào)用。這些活動,或者功能,可以建立在與工作流管理系統(tǒng)相同的組件基礎(chǔ)結(jié)構(gòu)之上。
引入工作流技術(shù)的ERP系統(tǒng)結(jié)構(gòu)如圖2所示。底層是操作系統(tǒng)、網(wǎng)絡(luò)、數(shù)據(jù)庫和基礎(chǔ)組件平臺,作為整個系統(tǒng)的基礎(chǔ)結(jié)構(gòu)。在這個基礎(chǔ)結(jié)構(gòu)之上建立ERP系統(tǒng)和工作流管理系統(tǒng),它們都是建立在同一個平臺之上(J2EE或.NET)。工作流管理系統(tǒng)是管理者,它幫助建立整個企業(yè)的業(yè)務(wù)過程,并且通過管理和監(jiān)視業(yè)務(wù)過程的執(zhí)行來完成ERP系統(tǒng)的一部分功能。工作流中相應(yīng)活動的功能由軟件組件實現(xiàn),而這些軟件由工作流管理系統(tǒng)根據(jù)過程規(guī)則進(jìn)行觸發(fā)。用戶通過工作流客戶端進(jìn)入系統(tǒng),在工作流執(zhí)行服務(wù)的支持下,完成系統(tǒng)中業(yè)務(wù)過程的運(yùn)轉(zhuǎn)。工作流管理系統(tǒng)與ERP的其他子系統(tǒng)共同存在,工作流管理系統(tǒng)通過調(diào)用相關(guān)子系統(tǒng)中的軟件組件來實現(xiàn)相應(yīng)的功能,同時通過訪問企業(yè)數(shù)據(jù)庫來進(jìn)行數(shù)據(jù)交換。通過工作流系統(tǒng)來管理其他子系統(tǒng)中的業(yè)務(wù)過程,增強(qiáng)了ERP系統(tǒng)對過程的處理能力。而工作流管理系統(tǒng)通過與ERP系統(tǒng)共享底層數(shù)據(jù)庫以及通過調(diào)用實現(xiàn)了相關(guān)ERP功能的軟件組件,來實現(xiàn)與其他ERP子系統(tǒng)的緊密集成。

在業(yè)務(wù)過程中,人工活動由人來控制執(zhí)行,執(zhí)行時需要調(diào)用相關(guān)的應(yīng)用程序和ERP中的軟件組件,而自動活動由計算機(jī)程序來執(zhí)行,該程序就是在工作流管理系統(tǒng)運(yùn)行時由工作流引擎觸發(fā)的軟件組件。這些軟件組件由ERP系統(tǒng)開發(fā)者根據(jù)企業(yè)建模所得到的過程模型來開發(fā)。它們是根據(jù)活動的功能設(shè)計的,并且在模型中建立活動與這些組件之間的映射關(guān)系,在工作流執(zhí)行時由工作流引擎來調(diào)用它們以實現(xiàn)過程的運(yùn)轉(zhuǎn)。
2.3面向過程的ERP系統(tǒng)優(yōu)勢
與面向功能的系統(tǒng)相比,引入了工作流技術(shù)以后,ERP系統(tǒng)是面向過程來設(shè)計、開發(fā)和實施的,這種面向過程的ERP系統(tǒng)具有如下優(yōu)點:
(1)柔性:過程中活動之間的關(guān)系與活動的功能邏輯是分開的。也就是說業(yè)務(wù)過程與ERP系統(tǒng)的功能可以分別建立。相應(yīng)的軟件組件可以根據(jù)功能來建立,而工作流模型根據(jù)業(yè)務(wù)過程來建立。然后在工作流模型內(nèi)定義軟件組件和活動之間的對應(yīng)關(guān)系。這種分開做的方式允許ERP應(yīng)用中的過程模型改變而不影響相關(guān)活動的功能,增強(qiáng)了系統(tǒng)的柔性。這也正是企業(yè)試圖使用工作流技術(shù)的原因。
(2)可重用性:可重用性的優(yōu)勢是基于工作流的應(yīng)用自身所具有的。過程中活動的實施與流程是獨(dú)立的,并且它們在過程中的使用也是自由的。因此,一個給定的活動可以被用在不同的過程模型中,實現(xiàn)了活動(以及對應(yīng)的軟件組件)的可重用。
(3)集成性:通過活動之間的控制關(guān)系和信息依賴關(guān)系,工作流模型能夠把不同的活動集成在一個過程內(nèi)。而且,由于各個功能模塊是基于組件技術(shù)構(gòu)建,其他異構(gòu)的信息系統(tǒng)同樣可以被工作流系統(tǒng)集成到過程中來,成為ERP系統(tǒng)的一部分。尤其是與CRM和SCM系統(tǒng)的集成,擴(kuò)展了ERP的外延。
(4)快速性:通過對過程的管理,能夠?qū)崿F(xiàn)ERP應(yīng)用的快速定制和實施,大幅度縮短ERP應(yīng)用工程的實施周期。
(5)動態(tài)性:工作流管理系統(tǒng)能夠動態(tài)、實時地提供過程的運(yùn)行信息,對這些信息的動態(tài)分析可以及時給出決策與管理的依據(jù)。通過動態(tài)修改工作流模型,還可實現(xiàn)動態(tài)的BPR。
(6)協(xié)調(diào)性:工作流管理系統(tǒng)可以全局地協(xié)調(diào)工作流中各個活動的執(zhí)行,使得活動的參與者以及相應(yīng)的軟件工具能夠在工作流執(zhí)行系統(tǒng)的管理下有機(jī)地協(xié)調(diào)運(yùn)行,充分利用企業(yè)的資源并實現(xiàn)過程的最優(yōu)化運(yùn)行。
(7)高效性:工作流技術(shù)在流程優(yōu)化的基礎(chǔ)上,能夠?qū)崿F(xiàn)業(yè)務(wù)流程的全部和部分自動化,從而實現(xiàn)業(yè)務(wù)過程的高效運(yùn)轉(zhuǎn)。下面在第3節(jié)給出了ERP系統(tǒng)中工作流管理系統(tǒng)的全生命周期管理方法和系統(tǒng)實施步驟。
4 系統(tǒng)實施方法
ERP中工作流管理系統(tǒng)的生命周期可分為4個階段,即需求分析、設(shè)計說明、實施描述和運(yùn)行維護(hù),如圖3所示。在CIMOSA體系結(jié)構(gòu)中模型的生命周期有3個階段。我們在ERP系統(tǒng)的生命周期中加入了運(yùn)行維護(hù)階段。在運(yùn)行維護(hù)階段,企業(yè)模型可以進(jìn)行動態(tài)的維護(hù),而且可以方便地實施BPR操作。

在需求分析階段,主要有兩項工作:一是建立工作流模型,一是對所需的組件進(jìn)行需求分析與設(shè)計。建模人員要調(diào)查和分析實現(xiàn)ERP系統(tǒng)功能的相關(guān)業(yè)務(wù)過程,并且建立需求分析模型,即通過進(jìn)行過程定義來建立工作流模型。在此階段要建立模型的4個視圖,即過程圖、組織視圖、資源視圖和信息視圖,這些視圖分別從不同的角度描述了工作流模型。過程視圖是工作流模型的主視圖,它將被工作流管理系統(tǒng)進(jìn)行調(diào)度執(zhí)行用以完成ERP系統(tǒng)的功能。工作流模型中的活動都將被建立,活動之間的控制關(guān)系和信息流動關(guān)系都被指定。同時,需要指定過程中負(fù)責(zé)執(zhí)行活動的角色以及支持用戶使用的應(yīng)用程序。而這些應(yīng)用程序會以軟件組件的形式提供。這些軟件組件本身實現(xiàn)某些功能,并且映射到某個工作流中指定的活動。在需求分析階段要對這些組件進(jìn)行設(shè)計,包括設(shè)計它的接口,API和功能。
在設(shè)計說明階段,主要是分析和優(yōu)化在需求分析階段得到的工作流模型。如果必要,重新指定活動的組織和資源,也就是活動的執(zhí)行者和活動所需要的資源。同樣,活動的輸入輸出信息也可能被重新設(shè)定。在此基礎(chǔ)上,設(shè)計和開發(fā)全部軟件組件。在實施描述階段,通過指定工作流過程中活動與組件的關(guān)系,建立起ERP統(tǒng)中完整的工作流管理系統(tǒng)。為了檢測過程中潛在的錯誤和問題,需要進(jìn)行工作流系統(tǒng)仿真。通過仿真來找出過程的瓶頸,找出任務(wù)、角色分配的潛在負(fù)載沖突,并進(jìn)行改進(jìn),把修改后的工作流模型保存在模型庫中用于最終的執(zhí)行。經(jīng)過仿真檢驗后,所得到的過程模型可以進(jìn)行實際運(yùn)行。然后,通過模型的實例化,為工作流過程和活動指定執(zhí)行者,分配各種資源,同時建立起完整的企業(yè)數(shù)據(jù)庫。于是,整個ERP系統(tǒng)中的過程被工作流系統(tǒng)管理起來。
在運(yùn)行維護(hù)階段,在工作流引擎的管理下,系統(tǒng)中每一個工作流的實例都被很好地管理和控制。同時,過程的時間和成本性能被實時監(jiān)督,而所得到的運(yùn)行記錄與歷史記錄一起為企業(yè)性能評價提供了支持。這些記錄保證企業(yè)有足夠的信息進(jìn)行BPR的分析與操作。另外,在傳統(tǒng)的面向功能的ERP系統(tǒng)中,很難實現(xiàn)在系統(tǒng)運(yùn)行時改變系統(tǒng)的模型。而基于過程的模型中卻可以容易地實現(xiàn),因為:
(1)工作流管理系統(tǒng)本身支持工作流模型的動態(tài)修改;
(2)工作流模型和相關(guān)的軟件組件是獨(dú)立的。這使得我們可以在生命周期的任何階段修改模型。尤其是在運(yùn)行維護(hù)階段,模型可以及時得到改進(jìn)。模型的動態(tài)修改方法如圖4所示。在工作流運(yùn)行時,借助管理監(jiān)視工具,管理人員能夠觀察并判斷工作流的執(zhí)行是否按照模型嚴(yán)格進(jìn)行。如果出現(xiàn)時間約束違反,成本超出預(yù)算,活動執(zhí)行出現(xiàn)問題,操作人員的工作負(fù)載超負(fù)荷,或者任何性能指標(biāo)出現(xiàn)違反(時間、成本、質(zhì)量、服務(wù))的話,管理員可以給出某些建議并且據(jù)此改進(jìn)工作流模型,也就是進(jìn)行業(yè)務(wù)過程重組。BPR操作可以離線進(jìn)行,可以在線進(jìn)行,然后可以修改并得到更好的工作流模型,同時把對企業(yè)的影響降到最低。

4 結(jié)論
為了克服當(dāng)前面向功能的ERP系統(tǒng)結(jié)構(gòu)相對固定以及不能適應(yīng)經(jīng)常變化的業(yè)務(wù)過程的缺點,本文給出了在ERP系統(tǒng)中實施工作流管理的方法。在工作流管理系統(tǒng)和組件開發(fā)技術(shù)的基礎(chǔ)上,設(shè)計了引入工作流技術(shù)后的ERP系統(tǒng)結(jié)構(gòu)。設(shè)計了相應(yīng)的過程管理方法以及根據(jù)功能把過程分解為組件的方法。詳細(xì)討論了這種面向過程的企業(yè)信息系統(tǒng)的開發(fā)和實施方法。由于工作流管理系統(tǒng)不但能夠有效地控制過程的執(zhí)行,還能夠進(jìn)行實時性能分析和BPR 操作,提高了ERP系統(tǒng)對不斷變化的業(yè)務(wù)過程的管理能力,使企業(yè)能夠更好地適應(yīng)市場的動態(tài)變化。另外,這種系統(tǒng)結(jié)構(gòu)提高了ERP的實施速度,而系統(tǒng)的使用也會更加方便,維護(hù)則更加靈活。系統(tǒng)的MES部分已經(jīng)在企業(yè)實施,驗證了本文提出的體系結(jié)構(gòu)。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.oesoe.com/
本文標(biāo)題:工作流技術(shù)在ERP系統(tǒng)中的應(yīng)用
























