引言
供應鏈管理需要將供應鏈中各參與方在過去數十年的業務實踐中構建的各類管理信息系統有機結合到一起,實現供應鏈中各實體間的資源共享與業務協同。但是,在整合這些遺留的管理信息系統時人們發現因編程語言差異、通信協議差異和數據差異導致的異構問題已經嚴重阻礙了現代物流中企業內部和企業之間實現業務協同的進程,“信息孤島”問題突出。隨著面向服務體系架構(service-orien-ted architecture,SOA)的不斷推廣,SOA在供應鏈管理中的應用逐漸成為了國內外研究的熱點。文獻[1]探討了支撐和實施SOA的若干關鍵問題,給出了SOA的設計原則、編程模型和實現技術等方面的內容。文獻[2]提出了一個基于企業服務總線的供應鏈知識管理系統架構,但對于企業級應用而言仍缺少可操作性。文獻[3]主要以SOA體系為出發點,提出了基于企業服務總線的分布式供應鏈信息共享平臺體系結構,但缺少對于企業實際應用中業務流程建模等方面的介紹。文獻[4]提出了基于SOA的汽車SCM實現模型,對汽車SCM的核心環節進行組織再造和業務流程再造。
本文介紹SOA的概念及其涉及的各項關鍵技術,并提出了一種基于SOA的供應鏈管理平臺。在詳細介紹了該平臺的體系結構、企業服務總線、業務執行引擎等關鍵設計之后,本文給出了該平臺在以摩托車整車裝配企業為核心的供應鏈管理中的應用。最后,介紹在應用中發現的問題與今后可能的研究方向。
1面向服務體系架構的原理與關鍵技術
1.1面向服務體系架構
SOA是由Gartner公司在1996年最早提出的一種新的設計方法學與軟件架構思想。作為一種新的系統設計方法學,SOA為解決企業業務系統集成中的各類異構問題提供了更好的解決方案,其核心概念是業務重用與企業級的互操作。具體而言,SOA按照與業務對齊的方式將企業的IT資源進行Web服務的封裝和登記,使得用戶可以發現和調用所需的服務,并按照業務流程將服務進行編排與組裝,進而構建出滿足企業需求的管理信息系統。在業務流程發生變化時,SOA只需以編排、重組的方式將這些服務拼裝成新系統而不是重新架構整個系統。這種架構使企業的IT架構能夠更快速,更有效的適應業務需求的變化,大大降低了系統開發、維護的費用。
1. 2 Web服務
Web服務是在COM/DOOM和CORBA基礎上提出的一種革命性分布式計算技術:“是由URI標識的軟件應用程序,其接口和綁定可以通過XML標準進行定義、描述和發現,通過Internet協議與其它軟件應用程序直接進行交互”。開發人員能夠以類似過去創建分布式程序時調用組件的方式,將各種來源的Web服務組合到一起以構建新的應用系統。Web服務所依麟的開放協議,如簡單對象訪向協議(simple object access protocol.SOAP),可拓展標記性語言((extensible markup language,XML)服務描述語言(web service description language, WSDL)等等,在涉及到操作系統、對象模型和編程語言的選擇時,沒有任何傾向,因此Web服務具有很強的生命力與適應性。
1. 3業務過程執行語言
業務過程執行語言(business process execution Ianguage, BPEL),是一種使用XML編寫的自動化業務流程的形式規約語言.廣泛使用于web服務相關的自動化業務流程項目開發中。BPEL得到了IT業界200多家大公司和科研機構的重視和擁護,成為業務過程管理在web服務編排領域事實上的標準。BPEL流程模型的核心是web服務間的對等交互概念,流程及其合作伙伴都被建模成Web服務。業務流程定義了如何協調流程實例與它的合作伙伴之間的交互。在這個意義上,一個BPEL流程定義提供和/或使用一個或多個Web服務。
1.4企業服務總線
針對SOA架構中對于集成各類異構系統的需要,企業服務總線(entERPrise service bus. ESB)的概念應運而生。IDC (Internet data center)將ESB定義為:基于開放標準的消息總線,用于通過標準的適配器和接口,來提供各程序和組件之間的互操作功能。它支持相互獨立的異構環境中的服務、消息及基于事件的交互,并且具有適當的服務級別和可管理性。ESB為基于Web服務、J2EE、. NET和其它標準的應用提供一個基于XML標準的信息通路。使得在系統內部和整個價值鏈中可以容易地進行異步或同步數據交換UO,使來自不同硬件平臺、不同操作系統和不同語言開發的應用能夠以一種松散輻合的方式連接在一起構成具有復雜邏輯、功能更為強大的合成應用。現有較為成熟的企業服務總線產品包括ServiceMix,IBM WebSphere ESB等。
2 基于SOA的供應鏈管理平臺
本文從供應鏈管理系統的實際需求出發,結合上述各項關鍵技術設計出了符合SOA思想的供應鏈管理平臺(supply chain management platform, RCMP)。該平臺體系架構如圖1所示。從總體上講.SCMP將IT資源層中離散的業務功能封裝為中立型的Web服務接入平臺,憑借集成服務總線跨系統、跨企業的異構應用集成能力,基于BPEL技術實現了對Weh服務的編制、編排與執行,最終達到對整個供應鏈管理與監控的目的。
圖1供應鏈管理平臺體系架構
2.1開發平臺
開發平臺是SCMP中集開發、調試、部署和監控于一體的可視化開發工具套件。整個開發平臺符合B/S架構,采用Java技術及AJAX框架開發,全面支持WS-BPEI2. 0標準,同時兼容BPEL4People等EEL的高級特性,能夠以可視化的方式實現基于數據模型、服務模型的業務流程建模,并為用戶提供基于瀏覽器的業務流程實時、動態監控,可有效簡化業務流程開發過程,適應業務的快速變化。
2. 2業務執行平臺
業務執行平臺是SCMP的核心與運行時環境,分為兩個主要部分:
2.2.1企業服務總線
SCMP中企業服務總線(SCMP-ESB)的目的在于支持實現異構的服務、消息、事件的一致性文互。SCMP-ESB基于Java業務集成規范(Java business integration)開發,支持在內核上部署多種可插拔綁定組件和集成服務組件以拓展總線的集成能力,進而實現多種IT應用集成。作為供應鏈管理平臺的核心功能層,SCMP ESB的體系結構將直接決定平臺的運行效率、可拓展性與集成能力,SCMRESB體系結構如圖2所示。
圖2 SCMRESB體系結構
作為一種開放、消息驅動以及組件可插拔的輕量級SOA基礎設施,該ESB系統架構中的主要功能模塊包括:
組件與組件框架:組件分為服務引擎和綁定組件兩種。服務引擎實現業務邏輯的控制與編排;綁定組件負責基于特定通訊協議的消息轉換與傳輸。組件框架則是管理這些組件運行的可插拔框架。SCMP-ESB可以通過增加組件的方式提升總線的業務集成能力。
服務單元框架,與組件框架對組件的管理類似,服務單元框架實現了對服務單元的管理,負責對部署至SCMRESB的服務的部署、反部署以及運行時管理等工作。
規范化消息路由器:是快速、可靠、基于內存的消息總線,可以在SCMP-ESB框架的組件之間動態的路由基于同一標準的規范化消息。通過綁定組件在規范化消息和通訊協議特定消息之間雙向轉換的能力,SCMP ESB中的所有組件都能夠以統一的方式同外部Web服務消費者、外部Web服務提供者進行交互。
管理控制臺:主要包括總線管理門戶與總線管理核心兩個部分,前者以UI的方式接收來自用戶的命令,并通過JMX將命令傳遞給總線管理核心。管理核心則接收并執行命令,在SCMP--公犯環境內完成組件安裝/卸載、服務部署/反部署,系統監控等任務。
2. 2. 2業務執行引擎
業務執行引攀的主要功能是實現對業務流程模型的部署、執行和監控能力,為實現企業內部、企業間業務流程自動化提供支持。該引攀全面支持WS-BPEL2.0規范,負責對業務流程模型的編譯、運行的功能,提供對流程定義與流程實例的持久化能力,支持基于BPEL4People的人機交互與可擴展的表達式執行。整個引攀的架構如圖3所示。
圖3業務執行引擎體系架構
執行引攀的主要功能模塊包括:
總線適配:本文將業務執行引攀設計為SCMP-ESB上可擂拔的服務引擎組件,故需要在引攀內核之外設計接口適配器以實現SCMP-ESB對組件的控制。適配器包括總線接口、服務管理器、引攀控制、消息代理4個部分。總線接口是引擎對于JBI規范中組件接口的具體實現,SCMP-ESB可以通過該接口管理引擎的生命周期,完成基于規范化消息的組件間通訊。服務管理器負責管理引擎發布的服務端點信息和服務描述信息,同時完成SCMP-ESB上的服務端點注冊、激活和撤銷。引擎控制器則負責控制引擎的安裝和卸載,以及引擎啟動、暫停、停止、終止等。消息代理器主要負責引擎內部的消息格式與SCMP-ESB上統一的消息格式之間的雙向轉換。
引擎內核:由流程管理器、隊列管理器和活動處理器組成,負責根據調度算法進行流程和活動的調度。流程管理器的主要功能是管理流程模板和業務流程的實例化與運行。隊列管理器通過與流程管理器協作完成活動之間的調度。活動管理器管理BPEL中活動的啟動、掛起和恢復、終止和重啟、刪除、超時處理等功能。
引擎服務:提供引擎運行所必需的服務,由流程部署器、流程實例庫和流程模板庫組成。流程部署器,根據收到的流程部署命令完成對業務流程模型的解析與部署。流程實例庫和流程模板庫主要是輔助流程管理器管理流程信息。
引擎擴展:由日志記錄、定時器、腳本引擎和流程恢復服務組成。日志記錄服務按事件級別記錄引擎運行過程中的各種事件,為引擎的運行提供診斷信息。定時器為某些流程活動的執行和引擎的運行提供定時功能,主要為BPEL4People這類需要人機交互的業務過程提供支持。腳本引擎提供了基本的腳本運算接口,可以集成多種成熟的腳本執行引擎,為執行引擎運行提供了擴展功能。流程恢復服務負責基于持久化的業務流程實例恢復工作。
持久化支持:現有業務執行引擎使用文件系統和數據庫完成數據持久化,實現配置文件、用戶信息、日志記錄、業務流程實例信息的存取功能。
2. 3 IT資源層
IT資源層涵蓋了供應鏈管理業務集成過程中涉及到的應用資源與數據資源。為降低遺留系統接入的難度,保持舊有系統人機交互接口不變,維持其系統對用戶展現的歷史一致性,對系統的操作調用、數據轉換等工作統一在SCMP-ESB中完成;對于新開發的系統和模塊,直接按照SOA的要求完成開發、部署與接入。
3應用案例
本文針對某摩托車整車裝配企業在摩托整車銷售、采購業務集成中供應商和制造商、制造商和分銷商的信息和業務流程整合需求,在舊有信息管理系統架構保持不變的基礎上,通過對業務流程和服務集合進行補充和擴展,實現銷售、采購業務流程的集成和協同。在未引入SCMP之前,該摩托車整車裝配企業在業務整合方面遇到的問題如圖4所示。
圖4某摩托車整車裝配企業供應鏈管理業務背景
如圖4所示,以該摩托車整車裝配企業為核心,整個產業鏈中涉及到數百家供應商、分銷商,但是銷售和采購相關業務流程分散于要貨系統、ERP系統和供應系統中,各異構系統之間未實現信息傳遞與轉換,存在重復手工環節(圖4中所示的待集成流程),無法完成跨系統的業務過程的自動流轉。同時,該裝配企業迫切需要解決在整個供應鏈中的信息集成、業務集成問題,提高供應鏈管理中的信息流轉效率。
為解決上述問題,本文針對摩托車整車業務中供應商和制造商、制造商和分銷商的信息和業務流程集成需求,設計7個數據模型、13個服務模型和6個集成業務流程,實現銷售、采購業務流程的集成和協同。圖5 (a)給出了整個銷售、采購業務集成的解決方案。圖5 (b)給出了該摩托車供應鏈管理系統的應用程序界面。
該供應鏈管理系統的實際應用效果主要體現在:
(1)有效集成要貨系統和R/3 ERP系統,實現從客戶下單、生產到發貨環節的信息流和業務流的集成,實現整個過程的跟蹤和控制。
(2)有效集成R/3 ERP和供應系統,實現從采購計劃編制、采購執行到材料入庫環節的信息流和業務流集成,實現整個過程的跟蹤和控制。
(3)針對集成多個異構系統的需求,提供了多種可插拔組件,以實現與多種IT應用的有效集成;同時,集成平臺采用基于Web服務的業務流集成技術,加強集成的設計、執行和監控功能,具有更好的適應性、更強的靈活性和可擴展性。
圖5 SCMP在摩托車供應鏈管理中應用
4結束語
基于SOA的供應鏈管理平臺在摩托車整車裝配企業業務過程中的成功應用,證明了本文所提出SCMP平臺的有效性與合理性,為供應鏈管理的實施與進一步推廣提供了有力的支持。同時,在研發應用AMP平臺的過程中我們發現,傳統的基于關鍵字的服務集成在服務發現、服務匹配方面效率較低,已經阻礙了服務之間的有效交互,擬在今后的研究中展開基于語義的服務集成技術,以進一步提升服務集成的有效性與可靠性。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文標題:基于SOA的供應鏈管理平臺設計與實現