1 現(xiàn)有ERP系統(tǒng)的局限性
企業(yè)資源計(jì)劃ERP是由美國(guó)Ganner Gmup Inc提出的一整套企業(yè)管理系統(tǒng)體系標(biāo)準(zhǔn),在近二、三十年來(lái),ERP系統(tǒng)的應(yīng)用得到了極大的發(fā)展。ERP系統(tǒng)首先成為制造業(yè)提高管理水平、降低成本、縮短交貨期的有力工具,并進(jìn)而在其他行業(yè)都得到了廣泛的應(yīng)用。現(xiàn)有的ERP系統(tǒng)主要是面向企業(yè)內(nèi)部管理的,其體系結(jié)構(gòu)缺少靈活性,主要問(wèn)題是:
1)不能適應(yīng)企業(yè)經(jīng)營(yíng)管理模式的變化,企業(yè)組織架構(gòu)、經(jīng)營(yíng)管理模式的變化導(dǎo)致原有的ERP系統(tǒng)要重新開(kāi)發(fā)或做較大的改進(jìn),造成投資浪費(fèi)。
2)不能靈活地支持供應(yīng)鏈管理功能,不能實(shí)現(xiàn)企業(yè)與供應(yīng)商、企業(yè)與分銷(xiāo)商之間的信息集成,以及不同軟件之間的互操作。
為了解決現(xiàn)有ERP系統(tǒng)難以重構(gòu),難以與企業(yè)之外的供應(yīng)商、分銷(xiāo)商集成的問(wèn)題,本文提出了基于面向服務(wù)架構(gòu)(SOA)的ERP系統(tǒng)體系結(jié)構(gòu)。
2 面向服務(wù)架構(gòu)的特點(diǎn)和實(shí)現(xiàn)技術(shù)
面向服務(wù)架構(gòu)(service 0riented Architecture,s0A)是一種面向服務(wù)的企業(yè)應(yīng)用體系結(jié)構(gòu),是一種分布式的軟件架構(gòu)模型。在該模型中,任何業(yè)務(wù)功能都被作為提供的一個(gè)服務(wù)使用,應(yīng)用程序的不同功能(服務(wù))通過(guò)這些服務(wù)之間定義的結(jié)構(gòu)和合約聯(lián)系,應(yīng)用系統(tǒng)可以看作是一系列服務(wù)的集成。SOA的體系結(jié)構(gòu)由三個(gè)參與者和三個(gè)基本操作構(gòu)成,三個(gè)參與者分別為服務(wù)提供者、服務(wù)請(qǐng)求者和服務(wù)注冊(cè)代理,三個(gè)基本操作分別是發(fā)布、查找和綁定,如圖1。服務(wù)提供者將其服務(wù)發(fā)布到服務(wù)注冊(cè)代理的一個(gè)目錄上,當(dāng)服務(wù)請(qǐng)求者需要調(diào)用該服務(wù)時(shí),它首先利用服務(wù)注冊(cè)代理提供的目錄查找服務(wù),服務(wù)注冊(cè)代理返回調(diào)用該服務(wù)的信息,服務(wù)請(qǐng)求者根據(jù)返回的信息調(diào)用服務(wù)提供者提供的服務(wù),當(dāng)服務(wù)請(qǐng)求者從服務(wù)注冊(cè)代理得到調(diào)用所需服務(wù)的信息后,通訊在服務(wù)請(qǐng)求者和服務(wù)提供者之間直接進(jìn)行,無(wú)需經(jīng)過(guò)服務(wù)注冊(cè)代理。面向服務(wù)架構(gòu)最流行的一種實(shí)現(xiàn)方法是web senrices技術(shù),web Services技術(shù)使用一系列標(biāo)準(zhǔn)和協(xié)議實(shí)現(xiàn)相關(guān)的功能,其中xML作為web Services技術(shù)的基礎(chǔ),是開(kāi)放環(huán)境下描述數(shù)據(jù)和信息的標(biāo)準(zhǔn)技術(shù),服務(wù)提供者可以用wsDL(Web服務(wù)描述語(yǔ)言)描述web服務(wù),用UDDI(統(tǒng)一描述、發(fā)現(xiàn)和集成)向服務(wù)注冊(cè)代理發(fā)布和注冊(cè)web服務(wù),服務(wù)請(qǐng)求者通過(guò)VDDI進(jìn)行查詢(xún),找到所需的服務(wù)后,利用SOAP(簡(jiǎn)單對(duì)象協(xié)議)來(lái)綁定、調(diào)用這些服務(wù)。
圖1 SOA 體系結(jié)構(gòu)
3 基于SOA的ERP系統(tǒng)體系結(jié)構(gòu)
為了實(shí)現(xiàn)互連網(wǎng)環(huán)境下企業(yè)之間的供應(yīng)鏈集成和響應(yīng)企業(yè)內(nèi)部流程重組的變化,要求ERP系統(tǒng)具有給外部企業(yè)提供服務(wù)和從外部企業(yè)獲取服務(wù)的功能,為了能夠靈活地實(shí)現(xiàn)企業(yè)內(nèi)部流程重組的要求,可以把ERP系統(tǒng)功能分解成粗粒度和細(xì)粒度的服務(wù),通過(guò)服務(wù)組合實(shí)現(xiàn)ERP系統(tǒng)的整體功能。當(dāng)重組企業(yè)業(yè)務(wù)流程時(shí),通過(guò)重新組合已編寫(xiě)的服務(wù)部件即可容易的實(shí)現(xiàn)。為此,本文提出了基于SOA的ERP系統(tǒng)體系結(jié)構(gòu),如圖2所示。
圖2 基于SOA的ERP系統(tǒng)體系結(jié)構(gòu)
在圖2所示的ERP系統(tǒng)體系結(jié)構(gòu)中,ERP各個(gè)業(yè)務(wù)模塊的功能作為粗粒度服務(wù)發(fā)布,而每個(gè)模塊的功能又是由多個(gè)子功能組成,我們把這些子功能作為細(xì)粒度服務(wù)發(fā)布。一個(gè)粗粒度服務(wù)由多個(gè)細(xì)粒度服務(wù)組合而成,如銷(xiāo)售管理服務(wù)就由銷(xiāo)售報(bào)價(jià)、客戶訂單、客戶出貨、客戶檔案等細(xì)粒度服務(wù)組合而成,每個(gè)細(xì)粒度服務(wù)利用數(shù)據(jù)訪問(wèn)邏輯組件對(duì)數(shù)據(jù)庫(kù)表進(jìn)行查找、更新、保存等操作。本地企業(yè)提供的服務(wù)在本地服務(wù)注冊(cè)中心注冊(cè),可由本地企業(yè)客戶端訪問(wèn),而需要提供給合作企業(yè)訪問(wèn)的服務(wù),則發(fā)布到公共注冊(cè)中心,供外部合作企業(yè)訪問(wèn)。請(qǐng)求服務(wù)的客戶端通過(guò)web環(huán)境顯示用戶界面,利用SOAP客戶接口實(shí)現(xiàn)與服務(wù)提供方和服務(wù)注冊(cè)中心通訊,達(dá)到查詢(xún)服務(wù)和綁定服務(wù)的目的。
4 基于SOA的ERP系統(tǒng)的實(shí)現(xiàn)技術(shù)
SOA的主要實(shí)現(xiàn)方法是web service8技術(shù),而實(shí)現(xiàn)web服務(wù)的主流開(kāi)發(fā)平臺(tái)有J2EE平臺(tái)和Micmsoft.net平臺(tái),由于用J2EE平臺(tái)開(kāi)發(fā)的系統(tǒng)具有平臺(tái)無(wú)關(guān)性、安全性、可伸縮性、不同供應(yīng)商實(shí)現(xiàn)方案之間的可移植性等若干優(yōu)點(diǎn)而得到了廣泛的應(yīng)用。圖3是采用J2EE平臺(tái)實(shí)現(xiàn)ERP系統(tǒng)的web服務(wù)體系結(jié)構(gòu)。其中JAxR(Java API for xML Registries,用于xML注冊(cè)表的Java API)使得應(yīng)用程序能夠在注冊(cè)表中注冊(cè)、或者查詢(xún)其他公司提供的web服務(wù),JAxM(Java API for xMLMessa舀ng,用于xML消息交換的Java API)提供了web服務(wù)環(huán)境中的異步和消息交換功能,并可以通過(guò)內(nèi)部網(wǎng)和Intemet進(jìn)行xML文檔交換,JAXM是基于s0APl.1規(guī)范和SOAP附件定義的消息交換協(xié)議的一種API框架。
服務(wù)提供方用JAxR向UDDI服務(wù)注冊(cè)表發(fā)布web服務(wù),客戶端的用戶界面用瀏覽器形式表示,使用JsP和JsTL來(lái)實(shí)現(xiàn),JSrI.L標(biāo)記將輔助完成條件處理和對(duì)wEB服務(wù)所返回xML數(shù)據(jù)的分析。服務(wù)請(qǐng)求方包括一個(gè)servlet,負(fù)責(zé)解釋客戶端輸入的HTTP請(qǐng)求,根據(jù)HTTP請(qǐng)求,利用JAxR發(fā)現(xiàn)UDDI服務(wù)注冊(cè)表中的服務(wù),然后根據(jù)請(qǐng)求內(nèi)容創(chuàng)建一條SOAPMessage,利用JAxM把SOAPMes8age提交給服務(wù)提供方調(diào)用相關(guān)的web服務(wù),由web服務(wù)程序處理數(shù)據(jù)庫(kù),最后把結(jié)果返回到服務(wù)請(qǐng)求方。
圖3 基于J2EE的web服務(wù)體系結(jié)構(gòu)
5 結(jié)語(yǔ)
基于SOA的ERP系統(tǒng)體系結(jié)構(gòu),把ERP系統(tǒng)模塊表示成粗粒度服務(wù),而每一個(gè)粗粒度服務(wù)又可以分解成多個(gè)細(xì)粒度服務(wù),每一個(gè)細(xì)粒度服務(wù)完成一項(xiàng)單一功能,通過(guò)調(diào)用數(shù)據(jù)訪問(wèn)邏輯組件直接操作數(shù)據(jù)庫(kù)表,通過(guò)細(xì)粒度服務(wù)的不同組合可實(shí)現(xiàn)ERP系統(tǒng)的不同業(yè)務(wù)功能和業(yè)務(wù)流程,從而達(dá)到企業(yè)業(yè)務(wù)流程重組的目的。另一方面,把需要向外部企業(yè)提供的服務(wù)發(fā)布到公共服務(wù)注冊(cè)代理供合作伙伴訪問(wèn),同時(shí)也通過(guò)公共服務(wù)注冊(cè)代理查找合作伙伴提供的服務(wù),實(shí)現(xiàn)企業(yè)之間的業(yè)務(wù)交互,保證企業(yè)之間的合作能在ERP系統(tǒng)中順利實(shí)施。
轉(zhuǎn)載請(qǐng)注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:基于SOA的ERP系統(tǒng)體系結(jié)構(gòu)的研究
本文網(wǎng)址:http://www.ezxoed.cn/html/support/1112153632.html