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