0 引言
供應鏈(Supply Chain)上下游企業之間的協同能力成為衡量企業競爭力的重要指標,企業要降低成本、贏得客戶,必須對客戶訂單做出快速響應(Quick Response,QR)?焖夙憫獧C制是以可靠、開放、柔性的系統集成為基礎的,通過快速響應集成系統完成信息的及時交換和共享,企業以最快的速度接受客戶采購請求、及時向供應商采購完成客戶訂單生產所需要的原料、及時將生成完成的產品交到客戶手中。在采用面向服務架構(Service Oriented Architecture,SOA)的系統集成方式之前,有CORBA、DCOM、COM+、RMI,都是用來實行分布式架構的技術,而且也被證明是不同技術階段的可行的系統集成方法。但是這些系統有一個共同的缺陷,就是它們要求服務客戶端與系統提供的服務本身之間必須進行緊耦合,即要求一個同類基本結構。這樣降低了系統的可擴展性和可維護性,系統往往十分脆弱,如果一端的執行機制發生變化,那么另一端便會無法正常運行。這樣的系統集成方法難以適應供應鏈快速響應對信息交換和共享的及時性要求。
SOA是一種ERP軟件系統架構和軟件設計模式,而企業服務總線(EntERPrise Service Bus,ESB)是實現這種架構的一種具體方法。Web服務是實現基于SOA的ESB集成方法的核心,它基于XML、SOAP、WSDL和UDDI等協議。Web服務技術是一個嶄新的分布式計算模型,是Web數據和信息集成的有效機制;赟OA的ESB集成系統的基本單元是服務,這些服務是可互操作的、獨立的、模塊化的、位置明確的、松耦合的,并且可以通過網絡查找其地址。服務間通過消息互相調用,通過服務協調,完成一定的業務處理,服務請求者無須知道服務提供者的技術細節。SOA強調通過清晰的系統結構層次,使系統具有良好的通用性和可維護性。SOA從軟件體系結構的角度出發改造企業的原有系統或設計新的應用系統,從而支持動態實現將來未知的企業應用集成。
ESB為SOA系統提供了一個核心架構,以集中管理各種服務。ESB是SOA、Web service、XML等技術相結合的產物,是一種分布式的集成框架,是SOA架構概念的具體實現。ESB定義通常如下:它是由中間件技術實現并支持的面向服務架構的一組基礎架構功能,支持異構環境中的服務、消息以及基于事件的交互,并且具有適當的服務級別和可管理性。一個ESB提供下述的能力:1)SOA的體系結構;2)采用面向消息的交互方式和XML作為消息表示與轉換的標準。
ESB是一種新的集成方法,支持企業應用間面向服務的交互,就像PC中硬件的總線,ESB智能地在企業系統間路由數據流,配合和轉換各個系統需要的數據信息。ESB作為SOA架構的數據交換HUB,同時為SOA提供一種連通性基礎架構,用以連接SOA中的服務。這種模式有助于減少應用接口數量和復雜性,是解決企業之間異構系統集成,實現準確高效的信息交換的有效方法。本文探討應用基于SOA的ESB系統集成方法來建立一種新型的供應鏈快速響應集成系統。
1 供應鏈快速響應系統集成條件
供應鏈快速響應系統涉及上游供應商、下游銷售商及第三方物流公司,這些合作伙伴的信息系統、單證及數據交換格式都不相同,使用傳統系統集成方式大大增加了系統集成的成本和復雜性。為適應激烈市場競爭需要,企業需要引入新的合作伙伴,淘汰不能滿足服務要求的合作方,企業供應鏈始終處于一個動態重組的狀態。新合作伙伴的加入,意味著需要協同新的業務流程、集成新的信息系統、處理新的格式數據。企業間業務流程協同,需要有一個開放、松散耦合的信息集成系統來支持。
為此,供應鏈快速響應集成系統應至少滿足如下條件:
1)支持不同格式數據的統一交換,實現異構系統間的集成;
2)盡可能減少對參與供應鏈快速響應集成系統數據交換的原有系統的修改;
3)保持供應鏈快速響應集成系統的柔性和可擴展性;
4)節省企業IT方面的投資。
2 基于SOA的ESB模式的系統集成設計
2.1 基于SOA的ESB模式的系統集成架構
SOA擺脫了面向技術的解決方案,朝著面向服務的方向發展。與其他架構相比,SOA更有彈性,使得企業能夠對變化做出快速響應,并且利用變化來獲得優勢,SOA為動態、異構的供應鏈快速響應系統集成提供了一個理想的構架模式。
基于SOA的ESB集成框架定義了一個數據適配器完成數據轉換、消息驅動服務的模型。將業務處理邏輯封裝成一系列的服務組件,消息處理器接收系統外發送來的請求消息,通過注冊中心檢索相應的數據適配器完成數據轉換,將轉換后的數據封裝成一定格式的數據消息,調用服務組件,完成數據處理。
ESB是實現SOA架構的重要方法,符合SOA的構架特征,包括服務的提供者、服務請求者和注冊中心,一般由消息處理層、服務層、數據訪問層、數據存儲層等構成。本文設計的基于SOA的ESB模式的供應鏈集成系統架構如圖1所示。
圖1 基于SOA的ESB模式的系統集成架構
在圖1中,該系統主要由以下幾個主要元素構成。
1)服務請求端。外部應用、服務、代理都可能是服務請求端,服務請求端發送基于XML消息規范的SOAP請求消息到ESB。服務請求端的請求消息包括從業務系統提取的業務數據,如供應商的裝箱單信息(最終由服務提供端的服務處理成采購商的報關單),也包括服務請求端在ESB注冊中心注冊數據適配器號、服務路由等信息。
2)消息處理器。消息規范采用XML語言來描述消息,消息處理器取出消息隊列中的頭信息,根據解析出來的頭信息標識,到中心注冊查找相應的數據處理適配器、數據映射關系表。
3)注冊中心。服務注冊中心充當信息庫,存放著ESB當中可用的Web服務信息、消息路由信息、消息處理配置信息。注冊中心根據配置信息,調用相關的數據適配器進行數據轉換。
4)數據適配器。它將從服務請求端傳遞過來的消息轉換成符合ESB中相應Web服務接口標準要求的數據。
5)服務提供端。接收由服務請求端發送、由ESB數據適配器轉換后的數據,對這些數據進行相關的處理。是由一些互相獨立的、完成邏輯處理的服務單元構成,按服務請求端事先注冊的服務路由表順序執行相關服務,并將處理后的數據發送到ESB的數據輸出適配器進行數據轉換處理,以消息的形式反饋給服務請求端。
2.2 基于SOA的ESB模式的集成系統執行機制
采用基于SOA的ESB模式的系統集成方法,可以有效地降低被集成系統之間的耦合程度,具有良好的可擴展性、可復用性、可維護性。基于SOA的ESB模式的集成系統執行過程包括服務注冊、請求消息發送、消息解析、數據適配器進行數據轉換和Web服務處理五個階段組成,各階段執行過程如圖2所示。
圖2 基于SOA企業服務總線模式的集成系統執行機制
圖2中,各階段的執行過程描述如下。
1)服務注冊階段。包括服務提供端的注冊和服務請求端的注冊。服務請求端的注冊包括對ESB數據適配器的申請、服務路由定義及數據映射關系的建立。
2)請求消息發送。服務請求端發送請求消息到服務提供端,請求端將一個或多個商務文檔加載到請求消息中,SOAP請求消息是用XML來編碼的。在服務請求端和服務提供端之間的消息交互模式有以下幾種:請求/響應模式;會話交換模式;異步消息(Asynchronous Message)模式;發布—訂閱(Rublish/Subscribe)模式。
3)消息解析。ESB接收到請求消息后,消息處理器對接收到的消息進行解析,獲取請求端注冊申請的數據適配器標識,根據標識到注冊中心檢索具體的數據適配器。
4)數據適配器進行數據轉換。按照數據映射關系表,數據適配器將收到解析后的數據轉換為符合相應Web服務接口標準要求的數據。
5)Web服務處理。Web服務接收到經過數據適配器轉換處理的數據后,完成業務邏輯處理,并輸出相關處理結果消息。
3 供應鏈快速響應集成系統構建
供應鏈快速響應系統涉及采購、運輸、通關、收貨及對帳等業務流程,快速響應系統的整體執行效率需要各個節點的執行效率來保證。供應鏈快速響應是建立在及時、高效、準確的信息共享基礎上,通過對上下游異構系統的集成,完成信息的交換和共享。
如圖3,基于SOA的供應鏈快速響應系統集成是通過參與系統集成的雙方互相以消息的形式調用對方的Web服務,服務處理完成后,再將含有處理結果的數據以消息的形式反饋給遠程服務調用方。
圖3 基于SOA的供應鏈快速響應集成系統模型
本文以快速通關為例來說明該集成系統:通關環節是供應鏈快速響應系統的重要一環,很多因素會影響通關效率,造成原料交付的延誤,如采購商錄入的進口報關數據與供應商實際交貨數據不一致、第三方物流服務商提供的相關數據滯后、錄入錯誤等。
為避免進口報關環節的差錯和延誤,采購企業希望從供應商那里獲取原始數據,如裝箱單數據、發票數據,將這些數據轉換為進口報關數據,從而提高進口報關單證的制作效率和數據準確性,避免單證錯誤,影響海關放行。但每家供應商的系統不同,單證格式也不一樣,采用傳統的數據交換方式,必然造成采購企業的采購門戶平臺針對不同供應商的大量定制開發,隨著新的供應商加入,系統最終很難維護,甚至無法正常運行。采用基于SOA的ESB模式的系統集成方式,數據適配器可以對供應商的數據進行預處理,將不同格式的裝箱單數據或發票數據轉換為符合進口報關單EDI報文生成服務接口標準的XML格式數據。
以下是基于SOA的ESB模式的快速通關集成系統處理流程。
1)供應商在平臺上注冊數據適配器。按注冊中心向導,根據單證類型,注冊相應的數據適配器,建立數據字段的映射關系,如發送發票數據,注冊Adapt1數據適配器;發送裝箱單數據,注冊Adapt2數據適配器。注冊信息將保存到企業服務總線的注冊中心。
2)服務請求端(供應商)發送含供應商代碼、采購訂單號、數據適配器注冊編號參數的消息到采購企業門戶平臺,消息中以XML格式負載發票信息或裝箱單信息。
3)采購門戶平臺的服務總線接收到SOAP消息后,對消息進行解析,獲取請求端注冊的數據適配器號、服務路由及數據信息;
4)注冊中心根據傳遞來的數據適配器代碼,檢索相關注冊信息,如數據匹配映射關系,調用相應數據適配器處理數據。
5)數據適配器處理完數據后,將發票信息(或裝箱單信息)轉換為后臺服務能接受的統一格式化數據,再調用進口報關單EDI報文生成服務,將由數據適配器轉換成統一格式后的數據生成進口報關單EDI報文。系統處理交互如圖4。
圖4 生成進口報關單EDI報文的系統交互圖
由于系統框架的開放性、數據適配器的可配置性以及數據交換標準的統一性,進口企業可以引用供應商發票、裝箱單或運單等不同單證信息作為進口報關的數據來源,同時支持Excel、TXT、CSV、XML等不同格式文件之間的數據轉換,基于SOA的ESB方法為快速通關業務中異構系統間的數據交換提供了一個理想的系統集成框架,使通關效率得到了顯著地提高。
4 結語
本文分析了當前企業實施供應鏈快速響應系統集成過程中,實現異構系統之間數據交換和共享時遇到的主要問題。將ESB作為實現基于SOA架構系統集成的具體方法,提出了一個遵循SOA基本原則、應用ESB為系統集成方法的供應鏈快速響應系統架構,重點對該系統架構組成和執行機制進行了詳細說明,并應用此框架解決一個具體應用問題。這種松散耦合的系統集成框架提高了系統的可擴展性和可維護性,SOA和ESB共同為分布式、異構的系統集成提供更高效的、可擴展的平臺和工具,使供應鏈快速響應集成系統的柔性大大提高。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/