鄧子云 楊曉峰 陳玉林
摘要:SOA-BPM組合架構(gòu)為第三方物流企業(yè)信息系統(tǒng)的集成提供了新的技術(shù)組合。給出了SOA-BPM組合架構(gòu)在物流信息系統(tǒng)集成平臺(tái)應(yīng)用時(shí)的系統(tǒng)設(shè)計(jì)情況,平臺(tái)的架構(gòu)分為5層:系統(tǒng)接口層、SOA集成層、SOA-BPM映射層、BPM層、應(yīng)用層。并以倉(cāng)儲(chǔ)管理信息系統(tǒng)為例描述了在平臺(tái)中是如何實(shí)現(xiàn)業(yè)務(wù)流程處理的。
關(guān)鍵詞:SOA-BPM組合架構(gòu);物流信息系統(tǒng)集成平臺(tái);總體結(jié)構(gòu);實(shí)現(xiàn)案例
中圖分類號(hào):TP319文獻(xiàn)標(biāo)識(shí)碼:A
Abstract: SOA-BPM based architecture is a new IT infrastructure for implementation of enterprise integration in logistics industry. In this paper, a SOA-BPM based integration platform for logistics information system was introduced, have been used for development of the platform. The platform has five tiers: system interface, SOA integration, SOA-BPM mapping, BPM and Application. The paper also introduced the approach for implementation of business process of the warehouse management on the platform.
Key words: SOA-BPM based combined architecture; integration platform for logistics information system; overall architecture; the realization of the case
第三方物流企業(yè)(以下簡(jiǎn)稱為物流企業(yè))從事的主營(yíng)業(yè)務(wù)是合同制物流。物流企業(yè)在發(fā)展的過(guò)程中會(huì)建有各種各樣的信息系統(tǒng)。從物流企業(yè)的信息系統(tǒng)需求來(lái)看,會(huì)有特定的物流企業(yè)運(yùn)營(yíng)系統(tǒng)達(dá)到一定的規(guī)模后,還會(huì)需要與眾多的客戶建立起接口系統(tǒng),物流企業(yè)內(nèi)部已建成的各種信息系統(tǒng)之間也存在著或多或少的關(guān)系。
然而物流企業(yè)已建的各種信息系統(tǒng)技術(shù)架構(gòu)各異,系統(tǒng)與系統(tǒng)之間如果均開發(fā)接口,將會(huì)使系統(tǒng)之間的關(guān)系呈現(xiàn)出網(wǎng)狀結(jié)構(gòu),維護(hù)和擴(kuò)展將非常困難。
1SOA-BPM的組合
為解決技術(shù)異構(gòu)的問(wèn)題,不斷出現(xiàn)一些集成的方法和技術(shù),比如采用面向消息的通訊中間件進(jìn)行松散藕合,采用CORBA體系結(jié)構(gòu)等[1]。SOA-BPM組合架構(gòu)為第三方物流企業(yè)信息系統(tǒng)的集成提供了新的技術(shù)組合,開發(fā)一個(gè)這樣的集成平臺(tái)將有助于實(shí)現(xiàn)系統(tǒng)松散藕合,從而對(duì)現(xiàn)有系統(tǒng)盡可能少的改造。
SOA側(cè)重于解決在分布式的環(huán)境下的系統(tǒng)的集成;而BPM側(cè)重于解決業(yè)務(wù)流程的調(diào)度處理,兩者的結(jié)合就形成了SOA-BPM組合架構(gòu)。SOA-BPM組合架構(gòu)在技術(shù)層面采用Web Service、EJB、Spring Bean等眾多的構(gòu)件技術(shù),通過(guò)SOA中間件軟件實(shí)現(xiàn)協(xié)議解藕;在業(yè)務(wù)層面采用BPM系統(tǒng)或工作流程系統(tǒng)進(jìn)行業(yè)務(wù)流程建模,從而實(shí)現(xiàn)系統(tǒng)集成。
2物流信息系統(tǒng)集成平臺(tái)設(shè)計(jì)
物流信息系統(tǒng)集成平臺(tái)將各種物流信息系統(tǒng)通過(guò)SOA-BPM架構(gòu)組合集成起來(lái),并針對(duì)各種組織機(jī)構(gòu)提供接口接入。物流信息系統(tǒng)集成平臺(tái)的總體設(shè)計(jì)如圖1所示。
2.1系統(tǒng)接口層
系統(tǒng)接口層用來(lái)連接各種異種的信息系統(tǒng),進(jìn)行接口接入集成,支持多種接入方式,統(tǒng)一采用XML報(bào)文。各種接入系統(tǒng)接入時(shí)采用各自原有的或新商訂的接口技術(shù),通過(guò)系統(tǒng)接口層的接入后對(duì)外部其它系統(tǒng)和物流信息系統(tǒng)集成平臺(tái)內(nèi)部統(tǒng)一采用Web Service方式,接出時(shí)均采用XML報(bào)文,用XML Schema來(lái)進(jìn)行報(bào)文格式規(guī)范化,傳輸時(shí)對(duì)報(bào)文進(jìn)行加密,接收?qǐng)?bào)文時(shí)則進(jìn)行解密。
2.2SOA集成層
SOA集成層建立在系統(tǒng)接口層的基礎(chǔ)之上,主要任務(wù)有4個(gè):Web Service構(gòu)件庫(kù)管理、協(xié)議解藕、接口匯聚、路由分發(fā)。由于平臺(tái)內(nèi)外的各種組件最終會(huì)表現(xiàn)為Web Service,因此需要有構(gòu)件庫(kù)來(lái)管理眾多的Web Service。在SOA集成層就要解決協(xié)議解耦的問(wèn)題,不論原有系統(tǒng)是什么樣的組件接口,通過(guò)SOA集成層就可連通各種系統(tǒng)。
2.3SOA-BPM映射層
系統(tǒng)集成后,外在表現(xiàn)為一個(gè)一個(gè)的業(yè)務(wù)流程,比如在供應(yīng)鏈環(huán)節(jié)上的各家企業(yè)如何通用合作,合作的業(yè)務(wù)流程是怎樣的。在業(yè)務(wù)流程的某個(gè)結(jié)合,可能要使用到一些已有的Web Service,可見需要在SOA中的Web Service和BPM中業(yè)務(wù)流程結(jié)點(diǎn)(或者說(shuō)是活動(dòng))進(jìn)行資源整合。
2.4BPM層
BPM層的主要功能有兩大塊,即流程和流程監(jiān)控。利用流程建模工具可進(jìn)行可視化的拖拽式方法,靈活有效地建模出業(yè)務(wù)流程圖形。本系統(tǒng)中的實(shí)現(xiàn)原理如圖2所示。
2.5應(yīng)用層
應(yīng)用層要實(shí)現(xiàn)的功能主要有三部分,即平臺(tái)管理、平臺(tái)監(jiān)控、報(bào)表和數(shù)據(jù)查詢。平臺(tái)管理主要用于對(duì)平臺(tái)中的參數(shù)、基礎(chǔ)數(shù)據(jù)進(jìn)行配置和管理,平臺(tái)監(jiān)控可供用戶使用,監(jiān)控物流企業(yè)生產(chǎn)的業(yè)務(wù)情況,而報(bào)表和數(shù)據(jù)查詢則基于平臺(tái)的數(shù)據(jù)來(lái)生成供分析和查詢用的報(bào)表。
3平臺(tái)實(shí)現(xiàn)案例
以倉(cāng)儲(chǔ)管理信息系統(tǒng)的集成為例,假設(shè)需要集成倉(cāng)儲(chǔ)入庫(kù)業(yè)務(wù),入庫(kù)業(yè)務(wù)的流程如圖3所示,這也是使用物流信息系統(tǒng)集成平臺(tái)的流程建模工具進(jìn)行可視化建模后的流程圖。
錄入入庫(kù)委托單后,即可據(jù)此生成入庫(kù)單;此后可錄入入庫(kù)單明細(xì)、安排貨物;入庫(kù)單明細(xì)錄入完成,并安排完貨位后才能完成入庫(kù)操作;此后還需要驗(yàn)收入庫(kù)明細(xì)及貨物明細(xì);驗(yàn)收完畢后才能核銷入庫(kù)單;核銷完畢后完成單筆的入庫(kù)業(yè)務(wù)。
完成可視化建模后,流程圖對(duì)應(yīng)著一個(gè)描述流程的XML文件,其中部分內(nèi)容如下所示。
… …
… …
… …
工作流的核心引擎主要基于有限狀態(tài)機(jī)。每一種狀態(tài)(state)被描述成為步驟(step ID)和status。從一種狀態(tài)(state)轉(zhuǎn)移到另一種狀態(tài)沒(méi)有動(dòng)作(action)是不可能發(fā)生的。在工作流的生命周期內(nèi)通常有一個(gè)或者多個(gè)活動(dòng)的狀態(tài)。
設(shè)計(jì)的倉(cāng)儲(chǔ)管理信息系統(tǒng)接入接口方式如圖4所示。
在倉(cāng)儲(chǔ)管理系統(tǒng)中駐留有接口程序,倉(cāng)儲(chǔ)管理系統(tǒng)端和物流信息系統(tǒng)集成平臺(tái)端相互提供Web Service供調(diào)用,但在物流信息系統(tǒng)集成平臺(tái)端進(jìn)行了統(tǒng)一的協(xié)議解藕和路由分發(fā)。相互之間傳送的報(bào)文采用加密的XML報(bào)文,以保證數(shù)據(jù)的安全。
當(dāng)在倉(cāng)儲(chǔ)管理系統(tǒng)中錄入了一個(gè)新的委托單時(shí),此時(shí)在倉(cāng)儲(chǔ)管理系統(tǒng)中駐留的接口程序被觸發(fā),打包形成XML文件,加密,并往物流信息系統(tǒng)集成平臺(tái)端發(fā)送委托單數(shù)據(jù)(發(fā)送前用XML Schema作出校驗(yàn))。
物流信息系統(tǒng)集成平臺(tái)端的Web Service調(diào)用接口如下:
Web Service URL:
"http://localhost:8085/WarehouseWebService"
Web Service QName:"http://SOAPlatform"
Web Service 方法:"sendToSOAWarehoseEntrustForms"
Web Service 輸入?yún)?shù):"String xmlStr"
(表示委托單的XML字符串)
Web Service 輸出參數(shù):"int result"
(1表示成功,2表示失敗)
說(shuō)明:以上為實(shí)驗(yàn)時(shí)的物流信息系統(tǒng)集成平臺(tái)端參數(shù)
物流信息系統(tǒng)集成平臺(tái)端收到委托單數(shù)據(jù)后,要解密并解析XML報(bào)文(解析前用XML Schema作出校驗(yàn)),創(chuàng)建工作流實(shí)例,置工作步驟為“生成入庫(kù)單”步驟,如圖5所示。
4結(jié)束語(yǔ)
物流信息系統(tǒng)集成平臺(tái)實(shí)現(xiàn)了異構(gòu)環(huán)境下的各種接口技術(shù)集成,其實(shí)質(zhì)上是以總線形式進(jìn)行松散藕合,在SOA層通過(guò)協(xié)議解藕、路由分發(fā)、接口匯聚、構(gòu)件組裝等功能接入各種系統(tǒng),形成Web Service構(gòu)件庫(kù);通過(guò)與工作流系統(tǒng)的集成進(jìn)行物流業(yè)務(wù)流程的建模與解析,可視化物流業(yè)務(wù)流程管理。目前,物流信息系統(tǒng)集成平臺(tái)的研發(fā)已實(shí)現(xiàn)了架構(gòu)設(shè)計(jì)的思想,后續(xù)還將進(jìn)一步通用化、產(chǎn)品化,這必將為物流行業(yè)的信息系統(tǒng)集成帶來(lái)新的手段。
參考文獻(xiàn):
[1] 劉劍. 面向服務(wù)體系結(jié)構(gòu)的服務(wù)重組關(guān)鍵技術(shù)研究[D]. 武漢:華中科技大學(xué)(博士學(xué)位論文),2006:31-35.
[2] 徐國(guó)平. 基于J2EE和OSWorkflow的工作流程管理系統(tǒng)的研究與設(shè)計(jì)[D]. 大連:大連海事大學(xué)(碩士學(xué)位論文),2008:29-30.[3] Trick Lightbody. OSWork FLOW Manul[EB/OL]. (2004-12-26)[2009-08-10]. http://wiki.opensymphony.com/display/WF/Manual.