ERP與SOA結合:基於SOA的ERP體系架構

xo_zhang發表於2013-06-30
近年來,ERP在我國已被越來越多的企業認同和接受.實施ERP已成為企業資訊化的重要標誌之一。但目前大多數企業在應用ERP系統時均面臨著以下兩方面的問題:

    (一)系統重用和整合問題。

 首先,ERP系統其重點在於企業內部的管理,而對於企業外部資訊的管理,其卻很少涉及,因此,不能實現企業與供應 商、企業與分銷商之間的資訊整合。其次,企業在資訊化建設的過程中,由於多年來業務流程的變化和IT技術的發展,使企業內部沉澱了各種應用系統。而這些不 同的應用系統之間及它們與ERP系統之間不能直接通訊,成為一個個“資訊孤島”。而當企業總是希望能儘可能重用而不是替換遺留系統來實現新的業務要求,從 而降低成本,提高投資回報率。這就帶來了異構系統整合的困難。

    (二)流程敏捷化問題。

    日趨激烈的市場競爭要求企業能夠迅速響應外部環境的變化而及時調整現有的業務流程,而傳統的ERP系統剛性太強,柔性太 差,當企業外部環境和企業內部組織結構、業務流程發生變化時,ERP系統不能進行適應性的調整,造成投資浪費,抑制了企業的發展。

 如何使ERP系統具有快速可重構性,能動態調整其結構和行為,以支援企業的管理創新與流程重組優化,並能和企業現有的其他應用系統實現無縫整合,已成為 當前的一個挑戰。因此。本文基於軟體複用、軟體構件等技術,提出一種基於SOA的ERP體系架構模型,以滿足企業業務流程重組的需要並具有可靠性、複用 性、易擴充套件性和動態可變性的特點,實現為企業“量身定製”。

    二、面向服務架構(SOA)的工作原理

    (一)SOA的定義

 面向服務架構是一個元件模型,它將應用程式的不同功能單元(稱為服務)通過其間定義良好的介面和契約聯絡起來。服務是指定義良好的、自包含的、不依賴於 上下文和其他服務的一組功能。介面是採用中立的方式進行定義的,它獨立於實現服務的硬體平臺、作業系統和程式語言。

    (二)SOA的體系結構

    在面向服務架構中主要有三種角色:

 1.服務消費者:利用服務註冊中心查詢所需的服務,然後使用該服務。2.服務提供者:是建立服務的實體,並且對使用自身服務的請求進行響應。3.服務注 冊中心:註冊已經發布的服務,對其進行分類,並提供搜尋服務。它相當於一個服務資訊的資料庫,為服務提供者與服務消費者提供一個平臺,使兩者可以各取所 需,同時服務註冊中心要有一個通用的標準,使服務提供商提供的服務符合這個標準,這樣,服務消費者使用的服務才可以跨越不同的服務提供者。

    在SOA的體系結構中,每個實體的角色不是固定不變的,一個實體可以同時充當以上三種角色中的一個或多個。

    在面向服務的體系結構中主要的操作有:1.釋出:使服務提供者可以向服務註冊中心註冊自己的功能及訪問介面。

    2.發現:使服務請求者可以通過服務註冊中心查詢特定種類的服務。3繫結和呼叫:在獲得服務描述資訊之後,服務消費者據此去呼叫服務。

 目前,實現SOA的技術很多,比如Web Services、CORBA等,這些技術一個很重要的共同點就是支援在不同的平臺上、以不同語言編寫的各種程式以基於標準的方式相互通訊。例如,作為 SOA的一種實現手段,Web服務提供了基於可擴充套件標記語言(XML)的標準介面,具有完好的封裝性、 鬆散的耦合性、協議規範的標準性以及高度的可整合性等特點,能夠良好地滿足SOA應用模式的需求。目前已經有一系列基於XML的Web服務標準被業界廣泛 接受,形成了Web服務的核心技術。服務的提供者可以用Web服務描述語言(Web Services Description Language, WSDL)描述Web 服務:用統一描述、發現與整合(UniversaI Description,Discovery and Integration,UDDI)註冊中心釋出、註冊Web服務;服務的請求者通過UDDl進行查詢,發現所需的服務後可以利用簡單物件訪問協議 (Simpie Object Access Protocol,SOAP)來繫結、呼叫這些服務。

    (三)SOA的特點

    與傳統開發方法相比,SOA架構具有以下幾個典型特點:

 1.標準化的介面。近年來出現的兩個重要標準XML和Web服務使得SOA得以真正實現。Web服務使應用功能得以通過標準化介面提供,並可基於標準化 傳輸方式、採用標準化協議進行呼叫。採用XML,開發人員無須瞭解特定的資料表示格式,便能夠在這些應用問交換資料。

    2.鬆耦合性。通過介面中立,避免了修改一個服務的程式碼對其他服務的影響,使開發者能夠大量的遷移或取代單個服務而不影響總的組合應用程式。

    3.位置透明性。位置透明性指的是SOA系統中的所有服務對於他們的呼叫來說都是位置透明的,也就是說每個服務的呼叫者只需要知道他們呼叫的是哪一個服務,但並不需要知道所呼叫服務的物理位置在哪。

    4.服務的可重用性。服務的可重用性設計顯著地降低了成本。為了實現可重用性,服務只工作在特定處理過程的上下文中,獨立底層實現和客戶需求的變更。

 從SOA的幾個重要特徵可以看出,SOA具備了標準化、可操作、可組裝的特性,提供了一個通用的、可苴操作的和有彈性的行業標準架構,可以在軟 件基礎架構中建立一系列支援商業模型的可重複利用的服務,這些服務由不同應用系統的元件構成,能夠幫助企業實現適應商業流程變化的需求。

    三、基於SOA的ERP體系架構模型

 為了解決傳統ERP系統存在的問題,可以將ERP系統功能分解成粗粒度和細粒度的服務,通過服務組合實現ERP系統的整體功能。當企業業務流程重組時, 通過重新組合已編寫的服務部件即可容易的實現。為此,本文提出了一種基於SOA的多層企業ERP系統應用框架,在對服務進行歸類和粒度劃分基礎上,強調了 企業內部服務的開發部署與管理控制,能夠有效支援企業業務過程的快速重構,並考慮了和其他系統整合的問題。

 如圖2所示,該框架由下而上包括企業資源層、核心服務層、業務流程層、服務應用層。其中企業資源層是企業軟、硬體資源的邏輯表示;核心服務層將 企業資源服務化,成為遵循SOA規範的服務提供者;業務流程層是基於成組技術的服務歸類和麵向業務的服務組織,從而形成更大粒度的服務元件;服務應用層為 企業應用求解提供方法和工具。各層的功能分別敘述如下:

 (一)企業資源層:該層主要包括企業現有系統,如CRM、SCM、OA和 遺留系統等。這些應用系統目前在企業中對業務起了一定的支撐作用,今後仍將在企業內使用,但各系統之間互動能力較差,資料和功能難以重用。典型的應用例項 是:企業現在需要一個面向客戶的訂單查詢系統。如果使用現有系統,客戶首先要登入CRM驗證身份、獲取客戶資訊,然後須通過ERP檢視訂單詳情,最後可能 還得進入SCM中獲得訂單當前的執行狀態等。這時,SOA的作用是將現有系統的某些功能封裝成服務以便重用、整合或組合成流程。

 (二)核心服務層:核心服務層將企業資源包裝為符合SOA規範的能夠完成特定任務的功能單元。核心服務層為應用系統提供原子服務,所謂原子,這 裡指從服務的層次和組織角度來看,它是一個基本功能實體,不能向下分割,即原子服務是系統中的最小服務顆粒,它不包含其他服務,也不是由其他服務組成的。 然後,根據成組技術原理,將功能相同或相近的服務聚集形成服務簇(即細粒度服務),以簡化複雜和龐大的服務檢視,方便服務的分類組織和管理。同時,通過對 細粒度元件進行流程的編排,使其不但能夠協作產生粗粒度服務元件,還能夠根據需要,通過改變流程的編排,動態適應業務變化引起的元件功能的改變。在業務變 化涉及到元件服務的內部服務時,又能夠通過修改配置,重新組裝細粒度服務元件,重構粗粒度服務,以適應企業業務流程的動態變革的需求。

 (三)業務流程層:業務流程是具體的企業業務活動過程的抽象表達,是面向業務功能的服務擴充套件邏輯。以業務需求為導向,選擇合適的整合服務或原子 服務,利用工作流技術,組合形成業務服務流,直接支援企業業務過程的執行。業務服務流作為支撐面向服務的企業應用的粗粒度服務元件,是支援業務過程快速重 構的關鍵。利用服務流描述語言(WDSL)定義服務流,定義主要包括所採用的服務及服務間規約,當業務流程改變時,可以調整服務流定義或是更換所使用的服 務快速形成新的服務流,以適應需求的變化。

    (四)服務應用層:服務應用層為使用者提供GUI介面,呼叫企業應用服務。根據SOA機制,只要許可權滿足要求,原子服務、整合服務和業務服務流均可直接被使用者(應用)呼叫。服務應用層為使用者實現友好的圖形介面和簡潔的應用服務訪問介面。

 與OSI的七層網路協議構架圖類似,本框架圖中上一層也需要下一層的支援。其中,企業服務匯流排(entERPrise service bus,簡稱ESB)是企業服務執行的基礎平臺,負責對分散在整個企業以及企業外延的服務進行中央配置、部署和管理,為系統提供統一的服務呼叫介面。而構 架的安全性、可管理性及服務質量(QoS)則需要在各個層次都有所體現。

    同時,為了實現網際網路環境下企業之間的資訊整合,本文提出了一個能夠適應企業間(包括企業內部)自動化系統整合的體系架構,通過此架構能夠方便迅速地整合來自企業內部及外部客戶所請求的服務,從而實現商業需求和應用的功能性要求。

 ERP系統的各個業務模組可 作為粗粒度服務釋出,而每個模組的功能又是由多個子功能組成,我們把這些子功能作為細粒度服務釋出。企業內部提供的服務在本地服務註冊中心註冊,可由企業 內部客戶端訪問,而需要提供給外部合作企業訪問的服務,則釋出到公共服務註冊中心,供外部合作企業訪問。請求服務的客戶端通過web環境顯示使用者介面,利 用SOAP客戶介面實現與服務提供方和服務註冊中心通訊,達到查詢服務和繫結服務的目的。

    四、基於SOA的ERP體系架構的優點

    通過SOA思想的引入,筆者認為基於SOA的ERP系統可以做到傳統ERP無法實現的一些特點,主要表現為:

 (一)整合現有系統,解決了“資訊孤島”問題。SOA要求開發者從服務整合的角度來設汁應用軟體,考慮複用現有的服務。通過使用SOA,可將企 業現有的應月系統封裝成標準的服務,使用這些服務只需要知道它們的介面和名稱,可有效地利用現有的投資,並可方便地實現各業務應用的整合。因此,除了 ERP以外,企業其它的以ERP為核心的外圍資訊化模組如CRM, SCM, OA等.若符合SOA的技術規範,即使不是同一個公司的產品,實施和介面將比以前更加容易。

 (二)降低企業的IT投資成本。目前,多數企業通常購買的是成熟性軟體,需一個模組或一個系統的購買,企業在購買時往往無法將那些企業不需要的 功能剔除出去,這樣,企業就不得不為此多付出資金、培訓成本等許多不必要的成本。而支援SOA的ERP軟體則可以幫助企業實現真正的按需購買,企業需要什 麼功能就購買相應的服務,幫助企業避免不必要的支出。

 (三)實現企業的動態變革,真正實現ERP的應用柔性。基於SOA的ERP系統提供的是一個個獨立的服務,服務之間可以通過標準介面來相互調 用,這樣企業在重複功能上就可以直接通過介面呼叫,而不必去重新開發。當企業的業務流程發生變化時,只需要修改相應的服務即可,降低了修改的難度與複雜 度,保證了企業的ERP系統的動態變化。

    五、結論

 ERP產品在國內的發展有很多失敗的案例,其中一個最大的原因在於ERP產品不能真止滿足使用者的需求。因此,本文提出基於SOA的ERP系統體系架構的 研究,目的在於提高ERP產品的柔性和靈活性,使之能夠滿足企業經常發生的業務流程變化及資訊系統整合的需求,對新一代ERP產品的開發和生產有 積極的指導作用,通過軟體複用加快ERP軟體生產,延長ERP產品的生命週期。

相關文章