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