王文亞
摘 要:結合現(xiàn)代制造企業(yè)運營和管理方式的發(fā)展趨勢,提出了新型ERP系統(tǒng)所必須的主體功能體系,為使ERP系統(tǒng)的集成方法具有相當?shù)娜嵝砸詽M足ERP系統(tǒng)與制造企業(yè)運營方式變化相適應的要求,基于ESP規(guī)則的基本框架,設計了一種新的ERP系統(tǒng)的集成方式,該方法在靜態(tài)主體功能體系的基礎上,理順每個功能的處理邏輯,在運營方式發(fā)生變化時,通過修改ESP規(guī)則來實現(xiàn)系統(tǒng)功能模塊的動態(tài)集成,并給出應用實例說明了該方法優(yōu)良的模塊性和靈活性。
關鍵詞:ERP;柔性集成;方式
中圖分類號:F272.7 文獻標志碼:A 文章編號:1673-291X(2014)23-0270-04
ERP(Enterprise Resource Planning)系統(tǒng)在我國已經得到廣泛應用,同時迅速變化的企業(yè)需求也要求ERP系統(tǒng)具有對變化的適應能力,這就要求ERP系統(tǒng)的集成方法具有相當?shù)娜嵝?。要從根本上解決柔性集成的問題,很有必要對ERP系統(tǒng)的集成結構進行深入的研究,構建出一定程度上較為合理的ERP系統(tǒng)集成方法,使軟件管理操作人員能夠迅速地把握企業(yè)在激烈的競爭環(huán)境中業(yè)務的動態(tài)變化,方便、迅速地調整管理軟件系統(tǒng)。為了實現(xiàn)柔性集成的目的,在靜態(tài)模塊結構表示的基礎上,理順每個功能的邏輯處理過程,隨業(yè)務要求的變化,通過修改每個功能的邏輯聯(lián)系來實現(xiàn)處理功能的集成。ERP系統(tǒng)的柔性集成還要求在全局思想指導之下任何系統(tǒng)維護、擴充和升級,不會因ERP系統(tǒng)的修改和擴充而破壞整體的完整性和一致性。從應用上來看,國內一些較為成熟的ERP軟件雖然都在一定程度上實現(xiàn)了可配置、可擴展、具有動態(tài)定制的特點,但在結構上并不是能夠隨著用戶的業(yè)務變化而方便地進行調整和改變,很有必要研究一種新的結構模式以適應ERP系統(tǒng)業(yè)務的變化。因此,提高ERP系統(tǒng)各模塊集成的柔性具有相當?shù)睦碚搩r值和應用價值。
一、基于ESP規(guī)則的ERP系統(tǒng)集成方法
提高ERP系統(tǒng)的靈活性和適應性實質上仍然是模型重用問題,模型解釋和實用模型的構造是模型重用性實現(xiàn)的基本要求,目前的研究思路概括起來主要有兩種,一種是設計具有可重用結構的模型,如模型庫(Model Library)和類的概念等,模型庫的核心思想是提供多種可實例化的可重用模型樣板[1],而實例化的類可以直接應用類預先所定義的方法和屬性。另一種方法是提供專用的建模語言環(huán)境靈活地構建各種可供執(zhí)行的模型,如通用解釋器(Public Translator)。它是一個解釋器編輯系統(tǒng),利用通用解釋器來減少模型解釋器的數(shù)量,但在特定的建模環(huán)境中編寫高層的解釋器需要耗費大量的時間。有關這兩方面的研究及其實際應用方式還在進一步深入中。本文擬提供一種能根據(jù)制造企業(yè)具體環(huán)境和運營狀態(tài)的變化動態(tài)地對ERP集成進行調整的方法。若采用第一種研究思路,最直接的方法就是先依據(jù)制造企業(yè)ERP系統(tǒng)的主體模塊建立一個標準ERP體系,然后根據(jù)具體的變動對標準ERP體系進行改造。ESP規(guī)則是在事件發(fā)生或工作流處于某種狀態(tài)時用以激活元工作流的命令,主要用于處理工作流系統(tǒng)中的意外事件。為使ESP規(guī)則更適合柔性ERP的構建,需要重新定義原有的狀態(tài)集和控制命令集[2]。
定義1 活動Acitivity為完成某一任務需要進行的一系列動作的集合,它與企業(yè)生產運營過程中的單個任務相對應,它包含任務名、輸入和輸出數(shù)據(jù)、執(zhí)行活動的角色、活動所需的工具等屬性,且每個活動與ERP系統(tǒng)中的某個子程序相對應。
定義2 業(yè)務處理過程bpf (business processing flow)為多個相關活動組成的有序集合,它用來完成某個管理任務或生產控制過程,它對應于ERP系統(tǒng)中的某個功能模塊。業(yè)務處理過程bpf是一個二元組,wfu=({Activities},{ECA rules}),{Activities}是活動集合,也就是說業(yè)務處理過程bpf包含多個活動Acitivity。{ECA rules}是一組ECA規(guī)則的集合,ECA規(guī)則用來刻畫活動之間的遷移條件,決定著活動執(zhí)行的先后順序。
定義3 業(yè)務處理過程bpf狀態(tài)(state)集為
state(bfp)={Waiting,Ready,Executing Suspended,Canceled,Done}
其中,Waiting表示必要的觸發(fā)條件未滿足,業(yè)務處理過程處于等待狀態(tài);Ready表示觸發(fā)條件已滿足,可以開始執(zhí)行當前業(yè)務處理過程;Executing表示該業(yè)務處理過程中的某些活動已經開始執(zhí)行,但沒有全部完成;Suspended 表示業(yè)務處理過程暫時被掛起;Canceled表示業(yè)務處理過程沒有完成就被取消執(zhí)行;Done表示業(yè)務處理過程中的所有活動都執(zhí)行完畢。業(yè)務處理過程狀態(tài)間的轉換是通過下面定義的控制命令實現(xiàn)的。
定義4 與業(yè)務處理過程的狀態(tài)相對應控制命令集為:
C={Start(bpf),Suspend(bpf),Go-suspend,Cancel(bpf),Resume(bpf)}
其中,bpf為業(yè)務處理過程,Start表示啟動業(yè)務處理過程,Suspend表示暫停業(yè)務處理過程的執(zhí)行,將當前活動置為Suspended狀態(tài),Go-suspend表示系統(tǒng)繼續(xù)執(zhí)行,直至所有的活動執(zhí)行完畢后暫停;Cancel表示取消的執(zhí)行,而Resume則表示重新啟動處于suspended狀態(tài)的??刂泼罴兴x的五個控制命令的參數(shù)缺省時表示作用于當前業(yè)務處理過程。由這五個控制命令構成的控制流稱為元工作流(Meta workflow),它用來描述在某個ESP規(guī)則的條件滿足時系統(tǒng)應該執(zhí)行的流程,流程的運行會改變標準ERP運行體系的活動狀態(tài)或調用輔助業(yè)務處理過程。
基于以上定義,現(xiàn)給出ESP規(guī)則的基本形式如下:標準ERP運行體系ID/事件(Event):業(yè)務處理過程狀態(tài)(State)→元工作流ID(Meta workflow ID)??梢?,ESP規(guī)則描述了在標準ERP運行體系執(zhí)行過程中事件(Event)發(fā)生時系統(tǒng)根據(jù)業(yè)務處理過程的狀態(tài)(State)應該實施的元工作流(Meta workflow)。
定義5 ERP系統(tǒng)(簡記為ERPS)是由為一系列相關的業(yè)務處理過程組成的有序集合。ERPS也是一個二元組,wf=({bpfs},{ESP rules}),{bpfs}是業(yè)務處理過程集合,{ESP rules}是一組ESP規(guī)則的集合,ESP規(guī)則用來描述業(yè)務處理過程之間的遷移條件,決定著業(yè)務處理過程執(zhí)行的先后順序,即該定義說明可以通過ESP規(guī)則來聯(lián)接各個業(yè)務處理過程,建立整個ERP系統(tǒng)集成體系。
實際上,定義的5個控制命令均可帶有可選參數(shù)ERPS,如Star(bpf,ERPS),表示啟動ERP系統(tǒng)ERPS中的業(yè)務處理過程,缺省值表示當前的標準ERP體系。ECA規(guī)則和ESP規(guī)則都是基于規(guī)則和事件的控制規(guī)則,ECA規(guī)則描述了觸發(fā)活動的事件和內部條件,規(guī)定了活動執(zhí)行的依賴關系,因此,比較適合描述業(yè)務活動之間的邏輯關系和遷移條件;而ESP規(guī)則主要以工作流單元的狀態(tài)為考察對象,更適用于高層的流程控制,也為建立ERP系統(tǒng)的柔性集成體系提供了依據(jù)。
二、ERP系統(tǒng)的柔性集成方法
任何一種系統(tǒng)功能模塊集成的最終結果都應該與一個特定企業(yè)的業(yè)務流程相對應?;谶@種考慮,可以先將業(yè)務流程中主要的、常見的業(yè)務活動模塊化,并開發(fā)這些主要業(yè)務處理過程對應的功能模塊,待這些主要的模塊設計完畢后,再通過ESP規(guī)則將各個業(yè)務處理過程的功能模塊集成起來形成ERP系統(tǒng)的標準體系。如果將環(huán)境和需求引起的制造企業(yè)業(yè)務流程的變動都作為意外事件處理,那么根據(jù)ESP規(guī)則的建模思想完全可以提高ERP系統(tǒng)集成的柔性。因為運營環(huán)境的不確定性使企業(yè)的產品開發(fā)方式、生產制造流程以及合作成員的構成都可能發(fā)生變化,即便是對于定單處理和銷售這類簡單的業(yè)務,如果考慮所有的可能情況,那么ERP系統(tǒng)業(yè)務模型的描述也會相當復雜以至于難以理解。這時候如果針對這些變化對系統(tǒng)重新構建,顯然既不經濟,又不可行??尚械姆椒ㄖ荒苁?,在建立柔性系統(tǒng)集成方法的基礎上,適當?shù)馗淖冊泄δ苣K和系統(tǒng)業(yè)務之間的聯(lián)系方式或定義新的業(yè)務處理過程?;贓SP規(guī)則的控制思想,可以將那些基本的、主要的業(yè)務功能集成起來作為ERP標準體系,而將不經常發(fā)生的或因運營狀況的變動所需要增加的業(yè)務作為輔助業(yè)務處理過程,再通過增加ESP規(guī)則來修正ERP的標準運營體系或調用輔助業(yè)務處理過程使原有ERP標準運營體系與實際需要相匹配。ERP系統(tǒng)建立時,對于某些可預料到的變動(比如,增加一個銷售成員企業(yè)、可能出現(xiàn)的特殊交易方式的處理等),可以預先定義一些輔助業(yè)務處理過程模塊,同標準ERP模塊一并存放于模型庫中;對于意外或臨時出現(xiàn)的變動,則可根據(jù)具體情況隨時定義新的業(yè)務處理過程模塊,并修改和更新知識庫中的ESP規(guī)則,以適應相關的業(yè)務調整。
這種ERP系統(tǒng)的柔性集成方法的優(yōu)點在于它優(yōu)良的模塊性、拓展性和適應性。ERP標準系統(tǒng)定義時只考慮基本的、主要的業(yè)務流程的功能模塊,而從目前ERP系統(tǒng)的發(fā)展狀況看,這些模塊的功能的實現(xiàn)已經比較成熟,可以將這些功能模塊作為標準ERP體系的構成基本模塊存放在模型庫中,這樣就減少了模型的定義和描述的復雜度,系統(tǒng)建立或修改時可以直接調用。當業(yè)務需求發(fā)生變動時,首先通過人機交互界面定義新業(yè)務所要求的業(yè)務處理過程,進而修改知識庫中的ESP規(guī)則和模型應用數(shù)據(jù),并根據(jù)具體情況考慮是否需要設計和增加新的業(yè)務處理功能模塊,最后,新的ERP集成體系可以通過修改ESP規(guī)則調用標準ERP模塊和新增的輔助業(yè)務處理過程來生成。
三、ERP系統(tǒng)的柔性集成實例
假定某制造企業(yè)的初始業(yè)務流程如下圖2所示,現(xiàn)以該業(yè)務流程的應用模塊的集成和變化處理方式為對象給出利用ESP規(guī)則建立柔性ERP系統(tǒng),提高其柔性的集成方法。
(1)標準ERP體系的建立方法 標準ERP體系是由事先定義好的一些業(yè)務處理過程在ESP規(guī)則的約束下生成的,ESP規(guī)則用于刻畫各個主要的業(yè)務處理過程之間的遷移條件和邏輯關系。ESP規(guī)則的使用方法與ECA規(guī)則類似,現(xiàn)以圖2所示的開發(fā)和設計階段的系統(tǒng)集成方法為例,說明利用ESP規(guī)則建立標準ERP體系的過程。圖2中,IA1,IA2,IA3分別為生產準備階段需要進行的業(yè)務處理過程;DA1,DA2,DA3,DA4分別表示設計與開發(fā)階段的業(yè)務處理過程;MA1,MA2,MA3,MA4分別表示在產品制造階段需要進行的業(yè)務處理過程;最后,SA1,SA2分別表示在銷售和服務階段所必要的業(yè)務處理過程。在制造企業(yè)的生產準備工作結束之后,ERP系統(tǒng)會給出內部事件Begin_ddstage,表示設計和開發(fā)階段開始,設計和開發(fā)階段系統(tǒng)集成過程中需要定義的ESP規(guī)則。
當內部事件Begin_ddstage被觸發(fā)后,如果生產準備階段的業(yè)務處理過程均已完成,則開啟動元工作流Mmwf1,開始執(zhí)行業(yè)務處理過程DA1,該過程的描述如表中所求的ESPrules:wf1/ Begin_ddstage:(IA1∧IA2∧IA3)∈Done→Mmwf1);DA1完成后,在IA3也完成的情況下調用Mmwf2,執(zhí)行DA2,該過程用ERPS / Done(DA1):IA3∈done→Mmwf2來描述;DA2執(zhí)行完畢后,同時啟動同步并行工作流單元DA3和DA4(ERPS / Done(DA2):Mmwf3),在DA3和DA4結束后,引入一個決策工作流單元decision1,如果Result=OK表示對開發(fā)的產品滿意,則觸發(fā)內部事件Begin_mstage,開始生產過程(ERPS / decision∈done:(DA3∈Done∧DA4Done∧Result=OK)→ trigger (Begin_
mstage));如果Result=Not,則表示對開發(fā)的產品不滿意,這時則取消當前工作流單元,重新開始DA1(ERPS / decision∈done:Result=Not→Mmwf4),以上4條ESP規(guī)則就描述了開發(fā)與設計過程中的主要業(yè)務處理過程之間的關系,ESP規(guī)則也是決定業(yè)務處理過程之間聯(lián)系的唯一條件,即對ESP規(guī)則的修改完成可以使系統(tǒng)以一種新的方式集成,而對ESP規(guī)則的修改可以很方便地通過人機界面來實施。按照類似的方法處理其他階段的業(yè)務流程,就可以建立起與制造企業(yè)業(yè)務流程相匹配的標準ERP體系。值得一提的是,實際實施過程中并不是制造企業(yè)現(xiàn)在有哪些業(yè)務流程的需要就針對哪些標準的業(yè)務處理模塊進行集成,也可以從長遠的角度考慮,對未來可能涉及到的主要模塊一并集成到標準系統(tǒng)中只是限制其的使用權限或將一些可能會使用的主要的業(yè)務處理過程暫時先存儲在模型庫中,以便后期隨時調用。
從ERP實施的要求來看,需要對企業(yè)業(yè)務流程的合理性進行動態(tài)的檢查,而且市場運營環(huán)境的變化也會導致對企業(yè)業(yè)務流程的調整的必然性,所以也必然要求對ERP系統(tǒng)的體系進行及時的修改。導致業(yè)務流程變化的原因是多方面的,在此,僅對企業(yè)的業(yè)務流程的增刪問題介紹對ERP標準體系進行調整的方法。
(2)ERP標準體系的流程修改方法 假設企業(yè)對圖2所示的業(yè)務流程調整為圖3所示流程,即在設計與開發(fā)階段增加一個新的業(yè)務處理過程DA5以及在銷售服務階段增加新的業(yè)務SA3。增加DA5的原因可能是該制造企業(yè)為提高產品的功能,增加了一個新的業(yè)務處理過程或者是引入一個合作伙伴企業(yè)將對方的業(yè)務處理過程合并起來。增加SA3的原因可能是該企業(yè)除了進行銷售以外,還增加了一個售后服務的環(huán)節(jié)。
若將增加新業(yè)務處理過程的事件定義為Add_flows,新增的過程DA5為設計與開發(fā)階段業(yè)務處理過程DA4的前置過程,SA3為標準業(yè)務模塊的一個后置業(yè)務過程。那么,對于這次調整需要在模型庫中增加或調用(如果已經存在)兩個新的業(yè)務處理過程Dbpf1和Sbpf1,分別表示該成員在產品設計和開發(fā)階段的業(yè)務處理過程和在銷售過程中的業(yè)務處理過程。
假設系統(tǒng)默認按順序自動執(zhí)行標準ERP體系的標準業(yè)務處理過程模塊,只有當外部事件發(fā)生時,系統(tǒng)暫停標準ERP體系的執(zhí)行,那么,對于新增這兩個業(yè)務處理過程的外部事件需要定義的ESP規(guī)則。
表中的Aided bpfs描述了需要添加的兩個新的業(yè)務處理過程Dbpf1和Sbpf1的位置及其作用。ESP規(guī)則規(guī)定了事件發(fā)生時系統(tǒng)在不同情況下應該執(zhí)行的元工作流:當DA3和DA4均處于運行狀態(tài)時,由于DA3與DA4為并行工作流單元且新增成員不影響DA3的執(zhí)行,因此只需暫停DA4而DA3可繼續(xù)執(zhí)行,并啟動新業(yè)務處理過程Dbpf1(Mwf1:suspend(DA4,ERPS1);Go-suspend (DA3,ERPS1); Start(Dbpf1));等待Dbpf1執(zhí)行完畢后,則取消基本工作流的掛起的狀態(tài),系統(tǒng)繼續(xù)執(zhí)行DA4(ERPS1/ Dbpf1∈done:DA3∈done ∧→Mwf2)。第二步,在標準ERP體系中添加售后服務時,需要先判斷產品是否制造完畢,即檢查MA3的狀態(tài)(設MA3為產品裝配業(yè)務處理過程),如果且則表示產品已制造完成并且產品已經銷售出去則有必要添加銷售工作流單元Sbpf1,并重新啟動暫停的主工作流(ERPS1/ Add_flows:MA3∈done→Mwf3);如果制造過程和銷售業(yè)務 處理過程沒有完成,只需重新啟動暫停的基本工作流即可(ERPS1/ Add_flows:(MA3∈done)→Mwf4),待產品生產完畢時,系統(tǒng)執(zhí)行Mwf3來添加售后業(yè)務處理流程。
由于特殊業(yè)務流程不在標準的ERP體系中反映,所以當對于某些反映制造企業(yè)核心能力的運營和管理方式特殊業(yè)務發(fā)生時,就需要先把這些特殊功能模塊添加到系統(tǒng)中,然后按照類似的方法添加到標準ERP體系。如果要刪除標準系統(tǒng)中的某個業(yè)務處理過程,則可以使用Cancel()命令直接取消相應工作流單元的執(zhí)行。
實際系統(tǒng)設計過程中,可能會出現(xiàn)相同的事件和狀態(tài)對應多個元工作流的情況,所以需要考慮ESP規(guī)則調用的優(yōu)先級問題。對于這個問題,系統(tǒng)可以通過人機對話從相關的ESP規(guī)則候選集中選擇合適的規(guī)則。此外,當兩個或多個事件同時發(fā)生時,ESP規(guī)則的基本形式需要變?yōu)椋篍RP標準體系ID/復合事件(Composition Event):狀態(tài)(State)→元工作流ID,復合事件由多個事件的與(∧)、或(∨)和非(┑)組成。
四、結論
目前的ERP系統(tǒng)只按照所有的定單反映的正常需求來安排生產,沒有對非正常需求分析的模塊,勢必會造成沒有足夠的物料滿足需求等問題出現(xiàn)。所以要求ERP的系統(tǒng)的主要模塊可對供應鏈上的所有環(huán)節(jié)進行有效的管理,如采購、庫存、計劃、生產制造、質量控制、運輸、分銷、服務與維護、財務管理、投資管理、經營風險管理、決策管理、獲利分析、人事管理、實驗室管理、項目管理等。這些都是一個完整ERP系統(tǒng)應該考慮的方向。本文主要分析了供應鏈管理模塊,財務管理、生產控制管理、人力資源管理、客戶關系管理模塊等應該具備的各種功能,并對這些功能間的業(yè)務聯(lián)系作了分析,以期為開發(fā)這些模塊提供一類標準的方案。事實上這些模塊的設計并不是非常困難的事,而重要的問題是運營環(huán)境的不確定性使企業(yè)的產品開發(fā)方式、生產制造流程以及合作成員的構成都可能發(fā)生變化,這就要求ERP系統(tǒng)的集成方法具有相當?shù)娜嵝?。也就是說很有必要對ERP系統(tǒng)的集成結構進行深入的研究。本文基于ESP規(guī)則的基本框架,設計了一種新的ERP系統(tǒng)的集成方法。該方法在靜態(tài)模塊結構表示的基礎上,理順每個功能的邏輯處理過程,隨業(yè)務要求的變化,通過修改ESP規(guī)則來實現(xiàn)處理功能的動態(tài)集成。并給出了應用實例,證明了該方法優(yōu)良的模塊性和靈活性。
參考文獻:
[1] W.A.Muhanna.SYMMS:A Model Management System that Supports Model Reuse,Sharing,and Integration.Decision Support System
10,No.2 (2010):214-242.
[2] Akhil Kumar,Jacques Wainer.Meta workflows as a control and coordination mechanism for exception handling in workflow systems.
Decision Support Systems,2009,(40):89-105.
[責任編輯 仲 琪]