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