siemens x
技術(shù)

基于SOA的汽車SCM設(shè)計與實現(xiàn)

2025China.cn   2010年04月02日

     引言

       面向服務(wù)的體系架構(gòu)(service oriented architecture,SOA)是一種可以根據(jù)業(yè)務(wù)需求,通過網(wǎng)絡(luò)對松散耦合的粗粒度應(yīng)用組件進行分布式部署、組合和使用的軟件系統(tǒng)架構(gòu)。SOA使得業(yè)務(wù)流程的自動化和在不同系統(tǒng)之間的信息共享變得更加容易腳,并支持跨企業(yè)和業(yè)務(wù)合作伙伴之間的端到端集成,使得客戶可以迅速地響應(yīng)新的業(yè)務(wù)需求,為企業(yè)的信息化帶來了一種全新的設(shè)計理念。

  供應(yīng)鏈管理(supply chain management,SCM)是一種集成的管理思想和方法,其圍繞核心企業(yè),執(zhí)行供應(yīng)鏈中從供應(yīng)商到最終用戶的物流、信息流、業(yè)務(wù)流、資金流的計劃和控制職能,并通過分析、整合價值鏈來進行供應(yīng)鏈管理。汽車業(yè)供應(yīng)鏈是最典型的供應(yīng)鏈組織結(jié)構(gòu)模式。以汽車制造企業(yè)為供應(yīng)鏈的核心,作為供應(yīng)鏈的物流調(diào)度與管理中心,擔負著信息集成與交換的作用,在產(chǎn)品設(shè)計、制造、裝配等方面具有強大優(yōu)勢,其不但可以拉動上游供應(yīng)商的原材料供應(yīng),也可以推動下游分銷商的產(chǎn)品分銷及客戶服務(wù)。隨著Web服務(wù)及相關(guān)計算機技術(shù)的迅速發(fā)展,汽車供應(yīng)鏈系統(tǒng)也逐步過渡到以Web服務(wù)為基礎(chǔ)的面向服務(wù)的系統(tǒng)結(jié)構(gòu)(SOA)之上。如何在面向服務(wù)的體系結(jié)構(gòu)之上實現(xiàn)隨汽車工業(yè)市場的全球化與制造的全球化而靈活多變的SCM業(yè)務(wù)集成,建立松散耦合的供應(yīng)鏈管理系統(tǒng),成為各大汽車廠商迫切需要解決的問題。

  1 面向服務(wù)的體系架構(gòu)

  早在2000年,面向服務(wù)的體系結(jié)構(gòu)就隨著HP的E-Speak實現(xiàn)而出現(xiàn)了。從20世紀90年代早期到中期,HP的實驗室開始著手研究如何解決分布式系統(tǒng)的技術(shù)和成本的難題,這項研究被其稱為E-Speak。E-Speak使用HTTP這樣的通用協(xié)議,數(shù)據(jù)的表示采用的是XML,并且將各種聯(lián)網(wǎng)系統(tǒng)看成能夠快速插接數(shù)據(jù)流的“電子服務(wù)”。但是,E-Speak的理念比目前的WebServices技術(shù)內(nèi)聚性更強,HP最近決定淡化E-Speak,轉(zhuǎn)而支持更主流的WebServices。IBM和Microsoft發(fā)現(xiàn)SOA的潛在概念非常有價值:基于開發(fā)的標準下實現(xiàn)SOA,可使它在其它分布式計算模型失敗之處獲得成功。這些IT巨頭都迅速的推出了各自的SOA技術(shù)和產(chǎn)品,同時得到了其它行業(yè)的熱烈響應(yīng),如美國印第安納大學CommunityGridsLab嘗試用WebServices構(gòu)建SOA架構(gòu)的GIS系統(tǒng)。

  若不考慮具體實現(xiàn),基本的SOA架構(gòu)包含了SOAP、WSDL、UDDI等支持服務(wù)請求者與服務(wù)提供者進行交互,以及用于Web服務(wù)發(fā)現(xiàn)的規(guī)范:

 ?。?)服務(wù)提供者通常用WSDL來描述它所提供的服務(wù),然后將該WSDL描述發(fā)布。它為處理一系列特定任務(wù)的軟件資源提供服務(wù)接口。服務(wù)提供者能代表商業(yè)實體的服務(wù),或者它甚至能代表可重用的子系統(tǒng)的服務(wù)接口。

 ?。?)服務(wù)請求者可以通過UDDI或其它的注冊庫來獲取WSDL描述,并通過向服務(wù)提供者發(fā)送一個SOAP消息來請求執(zhí)行服務(wù)。它發(fā)現(xiàn)并調(diào)用其它的軟件服務(wù)來提供商業(yè)解決方案。服務(wù)請求者常常指對分布式對象(即服務(wù)提供者)執(zhí)行遠端過程調(diào)用的商業(yè)應(yīng)用程序組件。在某些情況下,提供者就在本地的企業(yè)內(nèi)部網(wǎng)上,在其它情況下,它可能存在于遠端的Internet上。從本質(zhì)上來說,SOA將傳輸協(xié)議、安全細節(jié)等留給特定的實現(xiàn)來處理。

 ?。?)服務(wù)注冊者也稱為服務(wù)中介者,作為存儲庫的功能,產(chǎn)生由服務(wù)提供者發(fā)布的軟件接口。商業(yè)實體或者獨立運營商能代表服務(wù)中介者。

  以上3類SOA參與者通過3項基本操作:發(fā)布、查找、綁定相互作用。服務(wù)提供者向服務(wù)中介者發(fā)布服務(wù),服務(wù)請求者通過服務(wù)中介者查找所申請的服務(wù),并綁定到這些服務(wù)上。SOA是執(zhí)行分布式動態(tài)服務(wù)的概念性架構(gòu)州。

  2 Web服務(wù)技術(shù)

  在SOA架構(gòu)中,Web服務(wù)是封裝成用于業(yè)務(wù)流程的可重用組件的應(yīng)用程序函數(shù),它提供信息或簡化業(yè)務(wù)數(shù)據(jù)從一個有效的、一致的狀態(tài)向另一個狀態(tài)的轉(zhuǎn)變。Web服務(wù)成功實現(xiàn)的關(guān)鍵就是以SOA為構(gòu)架、依靠開放的Intcrnet標準建立一個新興的核心技術(shù)系列:服務(wù)描述語言(web servicesdescription language,WSDL)、服務(wù)注冊和發(fā)現(xiàn)(universal,discovery,description,integration,UDDI)協(xié)議、服務(wù)通信協(xié)議一簡單對象訪問協(xié)議(simple object access protocol,SOAP)。Web服務(wù)定義了一種自描述方式來發(fā)現(xiàn)并調(diào)用軟件應(yīng)用程序中的方法——不必考慮位置或平臺。數(shù)據(jù)被編入XML請求/響應(yīng)文檔,并使用HTTP或基于消息的協(xié)議在軟件包之間進行傳遞?;ゲ僮餍詥栴}就潛伏在定義、發(fā)現(xiàn)以及請求/響應(yīng)機制中。

 ?。?)Web服務(wù)描述語言(WSDL):WSDL是通過使用標準的XML語法描述服務(wù)IDL。它為服務(wù)提供者提供一種簡單的方法,描述服務(wù)請求及響應(yīng)方式的遠程方法調(diào)用(RMI)信息,利用各自的參數(shù)和數(shù)據(jù)類型來定義其發(fā)布的操作。

 ?。?)通用服務(wù)描述、發(fā)現(xiàn)和集成協(xié)議(UDDI):UDDI規(guī)范提供一組公用的SOAPAPI來實現(xiàn)服務(wù)中介者,它們管理的服務(wù)接口目錄是中介者所需要的標準方法。UDDI規(guī)范定義了4種核心數(shù)據(jù)模型,業(yè)務(wù)實體信息(businessEntity)、業(yè)務(wù)服務(wù)信息(businessService)、技術(shù)綁定信息(bindingTcmplate)和元技術(shù)信息(tModel),它促進了基于Web服務(wù)的創(chuàng)建、描述、發(fā)現(xiàn)和集成。

  (3)簡單對象訪問協(xié)議(SOAP):SOAP是一個基于XML的,用于在分布式環(huán)境下交換信息的輕量級協(xié)議,它在請求者和提供者對象之間定義了一個通訊協(xié)議。SOAP消息基本上就是一個XML文檔,它包括4個部分:SOAP封裝,封裝定義了一個描述消息中的內(nèi)容是什么,是誰發(fā)送的,誰應(yīng)當接受并處理它以及如何處理它們的框架;SOAP編碼規(guī)則,用于表示應(yīng)用程序需要使用的數(shù)據(jù)類型的實例;SOAPRPC表示,表示遠程過程調(diào)用和應(yīng)答的協(xié)定;SOAP綁定,使用底層協(xié)議交換信息。

  3 企業(yè)服務(wù)總線

  企業(yè)服務(wù)總線(enterprise service bus,ESB)是一種邏輯體系結(jié)構(gòu),它提供與SOA的原則保持一致的集成基礎(chǔ)架構(gòu),并提供了管理服務(wù)基礎(chǔ)架構(gòu)的方法和在分布式異構(gòu)環(huán)境中進行操作的功能。ESB是為了更好的服務(wù)于企業(yè)應(yīng)用,解決SOA架構(gòu)中服務(wù)模塊間調(diào)用的互操作問題的一種基礎(chǔ)架構(gòu)。在ESB模式中,服務(wù)交互的參與者并不直接交互,而是通過一個總線交互,該總線提供虛擬化和管理功能來實現(xiàn)和擴展SOA的核心定義。

  ESB提供一個基于標準的松散應(yīng)用耦合模式,可以作為分布式的異構(gòu)基礎(chǔ)架構(gòu),擔當連接應(yīng)用程序和整個企業(yè)中其它服務(wù)的共享消息收發(fā)層,可采用事件通知、智能路由、數(shù)據(jù)轉(zhuǎn)換等技術(shù)實現(xiàn)。ESB所涉及的技術(shù)有:訪問各個應(yīng)用服務(wù)的適配器、消息的可靠傳遞與管理、基于XML的統(tǒng)一訪問接口等,使用JMS(Java消息服務(wù))和XML來實現(xiàn)標準化。JMS提供事件分布和事務(wù)性確保傳遞的方法,主要應(yīng)用在事務(wù)性消息交換和實時事件通知領(lǐng)域。ESB是一個基于XML消息的高速邏輯通信總線,可用于所有的服務(wù)請求者和提供者,服務(wù)、應(yīng)用以及資源的動態(tài)發(fā)現(xiàn),元目錄搜索,事務(wù)傳輸?shù)取?/FONT>

  4 基于SOA架構(gòu)實現(xiàn)汽車SCM系統(tǒng)

  利用面向服務(wù)的架構(gòu)設(shè)計汽車供應(yīng)鏈管理系統(tǒng),在汽車企業(yè)現(xiàn)狀基礎(chǔ)上實現(xiàn)業(yè)務(wù)流程的改善,對整個供應(yīng)鏈實施協(xié)同管理,平衡整體利益分配,建立充分的信任關(guān)系,實現(xiàn)流程的協(xié)同共享,進一步實現(xiàn)協(xié)同知識創(chuàng)新。建立生產(chǎn)主計劃信息平臺(master planning system,MPS) 、物料需求計劃信息平臺(materiel requirementplanning,MRP) 、零部件庫存信息平臺(warehouse management system,WMS) 、生產(chǎn)制造執(zhí)行平臺(manufacture execution system,MES) ,以及供應(yīng)商數(shù)據(jù)信息交換平臺。打通供應(yīng)生態(tài)鏈的信息孤島,逐步實現(xiàn)的同期化生產(chǎn),縮短產(chǎn)品交付周期,降低制造成本,提高質(zhì)量,以達到提高客戶滿意度和企業(yè)競爭力的目的。

 ?。?)系統(tǒng)模型:各模塊都是基于服務(wù)實現(xiàn)的,這些服務(wù)提供可被調(diào)用的Web Services接口。通過單個服務(wù)或者多個服務(wù)的組合來形成業(yè)務(wù)流程,從而構(gòu)成各業(yè)務(wù)子模塊。各子模塊通過SOAP消息進行通信,相互訪問業(yè)務(wù)資源。系統(tǒng)從邏輯上分為3層:持久層、業(yè)務(wù)邏輯層、表示層。其中,持久層實現(xiàn)了業(yè)務(wù)對象數(shù)據(jù)的固化過程,主要封裝了通過JDBC訪問數(shù)據(jù)庫的一些方法,業(yè)務(wù)對象數(shù)據(jù)最終存儲的地方,例如Oracle、DB2、SQLServer數(shù)據(jù)庫等;業(yè)務(wù)邏輯層實現(xiàn)業(yè)務(wù)邏輯、服務(wù)封裝和數(shù)據(jù)訪問代理的功能,并采用一致的組織策略對所有業(yè)務(wù)實體進行統(tǒng)一表示,對封裝的Web服務(wù)提供查找和邏輯組合功能,業(yè)務(wù)實體和數(shù)據(jù)類的映射采用XML配置文件實現(xiàn),業(yè)務(wù)邏輯層也是應(yīng)用服務(wù)器上的UI層代理,作為UI和中間業(yè)務(wù)邏輯層以及業(yè)務(wù)流程引擎打交道的橋梁,可以根據(jù)界面的要求組織業(yè)務(wù)邏輯層的調(diào)用;表示層是最終用戶的使用界面,包括Java應(yīng)用程序、JavaApplet、Scrvlet或者JSP程序統(tǒng)稱為UI層,主要體現(xiàn)與用戶的交互過程。系統(tǒng)模型如圖1所示。

圖1 系統(tǒng)模型

  此外,在設(shè)計軟件架構(gòu)中創(chuàng)造性的將業(yè)務(wù)對象的屬性單獨提出形成業(yè)務(wù)數(shù)據(jù)BusincssData,各層應(yīng)用之間的數(shù)據(jù)傳遞通過傳遞BusincssData完成。這些BusinessData對應(yīng)于業(yè)務(wù)數(shù)據(jù)字典,同企業(yè)具體業(yè)務(wù)數(shù)據(jù)的描述保持一致,實現(xiàn)一個數(shù)據(jù)在企業(yè)應(yīng)用中的定義及這個數(shù)據(jù)的構(gòu)成結(jié)構(gòu)。例如發(fā)布給供應(yīng)商的采購訂單、采購驗收單等都是這樣的業(yè)務(wù)數(shù)據(jù)類。

 ?。?)Web服務(wù)實現(xiàn):以PurchascOrderService為例說明服務(wù)的具體實現(xiàn):PurclmseOrder Service服務(wù)對應(yīng)物料需求計劃中的采購訂單功能模塊,實現(xiàn)了對采購訂單的新增、修改、刪除、生產(chǎn)部回復、審核、跟蹤和查詢操作,分別對應(yīng)CreatePurchaseOrder()、ModifyPurchaseOrder()、DeletePurchaseOrder()、FeedBackPurclmseOrder()、CheckPurchaseOrder()、OverPurchaseOrder()和QueryPurchaseOrder()方法。生產(chǎn)部回復采購訂單且經(jīng)營部門同意生產(chǎn)部回復后,確定合同履行承諾的入庫日期,并由經(jīng)營部門負責回復發(fā)交計劃,這個操作對應(yīng)PurchaseOrder Service中的FeedBackToDistributePlan()方法。服務(wù)模型如圖2所示。

圖2 Purchase Order Service實現(xiàn)模型

  (3)服務(wù)組合及流程編排:采用BPEL流程管理器將上述定義好的Web服務(wù)進行編排,定義這些Web服務(wù)操作的執(zhí)行順序,并將聚集Web服務(wù)定義的操作映射到內(nèi)含的Web服務(wù)所實現(xiàn)的操作中去。流程模型通過定義一個公共接口或操作的portType表示聚集Web服務(wù)。如圖3所示,在采購收貨流程中,將定義的Web服務(wù):接收交換單服務(wù)(ReceiveDeliveryOrderService)、按采購訂單收貨服務(wù)(ReceiveByPurchaseOrderService)、補采購訂單服務(wù)(AddeurchaseOrderService)、質(zhì)量檢驗服務(wù)(QualitylnspectionService)、入庫服務(wù)(MoveInService)、退貨服務(wù)(RetumBackService),通過BPEL業(yè)務(wù)流程執(zhí)行語言進行編排,實現(xiàn)這些服務(wù)的連接。

圖3 采購收貨流程編排

  通過BPEL流程管理,能夠?qū)⑾到y(tǒng)中的任意服務(wù)進行松散耦合地編排起來,各服務(wù)程序并不關(guān)心對方服務(wù)的內(nèi)部實現(xiàn),只要按照預先暴露出來的服務(wù)接口進行編程即可。在這種交互模式中,對于同一個服務(wù)在不同時刻,可能是服務(wù)提供者,也可能是服務(wù)請求者,接收其它服務(wù)所傳遞過來的消息。

  (4)系統(tǒng)運行實例:通過基于SOA架構(gòu)的思想實現(xiàn)了汽車供應(yīng)鏈管理系統(tǒng),整個系統(tǒng)是一個松散耦合的體系,不但內(nèi)部結(jié)構(gòu)更加具有柔韌性,而且可以隨時響應(yīng)外部系統(tǒng)的需求,并提供共通開放的數(shù)據(jù)接口,為企業(yè)的擴展帶來了巨大改善。而且系統(tǒng)在加密通信和系統(tǒng)權(quán)限上也采取了有效的措施,能夠保證企業(yè)供應(yīng)鏈得到平穩(wěn)安全地運行。

  在系統(tǒng)運行過程中,通過利用WebSphcreBusinessMonitor的實時圖形化監(jiān)控、性能管理功能,幫助流程的持續(xù)改善,能夠讓Web服務(wù)變得易管理,而且能及時發(fā)現(xiàn)Web服務(wù)存在的情況、可用性、運行狀況、性能、用法以及動態(tài)配置平臺內(nèi)的Web服務(wù)。

  面向服務(wù)的架構(gòu)不是一項技術(shù),也不是一項技術(shù)標準,而是一個高級概念,SOA獨立于標準,提供了架構(gòu)藍圖。通過強大的“企業(yè)架構(gòu)”概念來解決企業(yè)IT環(huán)境的結(jié)構(gòu)性問題,建立一個組織級別的架構(gòu)策略。SOA提供了這一手段,基于SOA架構(gòu)的汽車供應(yīng)鏈管理系統(tǒng)便是一個有效的解決方案。此外,SOA架構(gòu)的實現(xiàn)是一個漸進的過程,需要長期的監(jiān)管和指導,應(yīng)該分步實現(xiàn),一步一個腳印、穩(wěn)定地接近日標。前進的路上不是一帆風順,有時會遇到一些無法控制的影響。但要堅信,SOA一定會給企業(yè)帶來長期效益。

(轉(zhuǎn)載)

標簽:SOA 汽車 SCM 我要反饋