孫忱+王玨+高榮
[摘要]針對企業(yè)存在的信息孤島問題,設(shè)計并實現(xiàn)了一個企業(yè)數(shù)據(jù)交換服務(wù)系統(tǒng),用以支撐各信息系統(tǒng)之間數(shù)據(jù)和業(yè)務(wù)流程的互聯(lián)互通。在數(shù)據(jù)傳輸與交換標(biāo)準(zhǔn)的基礎(chǔ)上建立基于SOA架構(gòu)的數(shù)據(jù)交換服務(wù)系統(tǒng),實現(xiàn)主數(shù)據(jù)管理系統(tǒng)與企業(yè)各業(yè)務(wù)系統(tǒng)之間的數(shù)據(jù)集成。通過把數(shù)據(jù)需求封裝成Web服務(wù)的方式,從而在統(tǒng)一的面向服務(wù)的企業(yè)服務(wù)總線(ESB)上進行跨系統(tǒng)甚至跨企業(yè)間的數(shù)據(jù)交換集成。
[關(guān)鍵詞]ROA;企業(yè)數(shù)據(jù)交換;SOA
[DOI]1013939/jcnkizgsc201637162
伴隨著企業(yè)信息化的進一步深入發(fā)展和工業(yè)40的推進,企業(yè)中的信息系統(tǒng)越來越多,各個系統(tǒng)之間進行數(shù)據(jù)交換的需求也越來越迫切,建設(shè)一個企業(yè)內(nèi)部甚至不同企業(yè)之間的數(shù)據(jù)交換服務(wù)系統(tǒng)顯得非常重要。目前國內(nèi)企業(yè)已經(jīng)非常重視數(shù)據(jù)交換系統(tǒng)的建設(shè)。李長軍[1]研究實現(xiàn)了國家電網(wǎng)省級公司的數(shù)據(jù)交換的系統(tǒng)。屈龍華[2]研究了基于XML的醫(yī)療數(shù)據(jù)的規(guī)范和交互。李秉鍵[3]研究了基于XML的高校異構(gòu)數(shù)據(jù)之間的交互問題。曾焱等[4]實現(xiàn)了水利行業(yè)數(shù)據(jù)交換體系。本文實現(xiàn)了一種基于Web服務(wù)的數(shù)據(jù)交換服務(wù)系統(tǒng)。
1系統(tǒng)需求分析
企業(yè)在信息化和工業(yè)化的早期建設(shè)的各個系統(tǒng)采用的體系結(jié)構(gòu)相差較大,在建設(shè)的時候缺乏長遠(yuǎn)的規(guī)劃,導(dǎo)致企業(yè)在用的系統(tǒng)與系統(tǒng)之間的功能重復(fù)建設(shè),系統(tǒng)之間的協(xié)作與溝通缺乏規(guī)范。系統(tǒng)與系統(tǒng)之間的交互變得復(fù)雜和困難,由于系統(tǒng)實現(xiàn)的架構(gòu)不同,單個系統(tǒng)如果需要向其他系統(tǒng)開放服務(wù)或進行數(shù)據(jù)交互,需要對多個不同體系架構(gòu)的系統(tǒng)開放接口。本文實現(xiàn)的企業(yè)數(shù)據(jù)交換服務(wù)系統(tǒng)目標(biāo)是基于SOA架構(gòu)建立企業(yè)服務(wù)總線(ESB),以Web服務(wù)的方式實現(xiàn)企業(yè)內(nèi)部各業(yè)務(wù)系統(tǒng)之間以及與行業(yè)其他單位的業(yè)務(wù)系統(tǒng)之間的數(shù)據(jù)交換。
2系統(tǒng)設(shè)計與實現(xiàn)
21系統(tǒng)設(shè)計思路
通過搭建企業(yè)數(shù)據(jù)交換服務(wù)系統(tǒng),實現(xiàn)各個業(yè)務(wù)系統(tǒng)之間數(shù)據(jù)的交換,設(shè)計架構(gòu)如圖1所示。數(shù)據(jù)交換服務(wù)系統(tǒng)采用IBM WEBSPHERE MESSAGE BROKER(簡稱MB)作為數(shù)據(jù)交換平臺,自主開發(fā)接口服務(wù)注冊與管理平臺。
主要分為以下部分:第一,安全管理:對數(shù)據(jù)交換服務(wù)系統(tǒng)的訪問和數(shù)據(jù)交換進行安全管理配置。訪問服務(wù)時通過令牌、IP地址進行身份驗證。對傳輸通道進行加密,保證數(shù)據(jù)在傳輸和存儲過程中被攻擊者篡改。第二,訪問記賬:記錄各業(yè)務(wù)系統(tǒng)訪問數(shù)據(jù)交換服務(wù)系統(tǒng)的情況,并提供相關(guān)查詢和管理功能。第三,消息轉(zhuǎn)換:將服務(wù)請求SOAP消息轉(zhuǎn)換成服務(wù)提供方能夠識別的消息。第四,消息路由:根據(jù)端口類型、端口命名空間及目標(biāo)服務(wù)標(biāo)志動態(tài)從WSRR中查詢目標(biāo)服務(wù)的訪問地址。第五,消息分發(fā):根據(jù)消息路由信息調(diào)用服務(wù)提供方服務(wù)。第六,服務(wù)管理:包括服務(wù)的注冊、修改、查詢等功能。對服務(wù)可用性進行檢測和監(jiān)控。第七,服務(wù)運行監(jiān)控:包括圖形化運行狀態(tài)監(jiān)控以及錯誤統(tǒng)計、流量統(tǒng)計、數(shù)據(jù)交換頻率、服務(wù)使用排名等,通過對這些情況的監(jiān)控,幫助管理員了解企業(yè)服務(wù)總線的使用情況。第八,異常告警管理:發(fā)生異常時可進行主動報警,并通過接口傳遞給其他的監(jiān)控系統(tǒng)。通過查詢異常記錄,了解詳細(xì)異常信息,方便管理員及時了解異常情況,并處理。第九,消息重傳:對傳輸錯誤日志,系統(tǒng)提供自動重傳和手動重傳兩種方式實現(xiàn)數(shù)據(jù)及時交換。
22系統(tǒng)技術(shù)架構(gòu)
系統(tǒng)的技術(shù)架構(gòu)如圖2所示,主要由以下部分組成。
第一,企業(yè)服務(wù)總線。所有內(nèi)外部系統(tǒng)的服務(wù)交互,均通過ESB來進行。各業(yè)務(wù)應(yīng)用系統(tǒng)及主數(shù)據(jù)管理系統(tǒng)與ESB相連接,通過ESB提供并使用服務(wù)。ESB具備的功能主要包括:服務(wù)路由、格式轉(zhuǎn)換、消息發(fā)布、日志等。ESB與服務(wù)注冊庫相結(jié)合提供服務(wù)端點的查找與動態(tài)路由能力。第二,流程服務(wù)。流程服務(wù)組件要滿足通過提供快速組裝和更改業(yè)務(wù)流程的能力。能夠通過其提供的事件機制,支持對協(xié)同業(yè)務(wù)流程的監(jiān)控和管理。第三,服務(wù)網(wǎng)關(guān)。服務(wù)網(wǎng)關(guān)為企業(yè)內(nèi)部之間以及企業(yè)內(nèi)外部之間的XML消息交換和Web服務(wù)交互提供安全性保護,包括:過濾、數(shù)字簽名、Web服務(wù)安全性、XML訪問控制、加密、記錄日志等。第四,訪問控制。訪問控制組件主要包含用戶的身份管理、用戶身份認(rèn)證、權(quán)限檢查功能。第五,服務(wù)注冊與監(jiān)管。所有內(nèi)外部企業(yè)提供的服務(wù)及服務(wù)的元數(shù)據(jù)(提供者、服務(wù)地址、創(chuàng)建時間等)都統(tǒng)一注冊、存儲在服務(wù)注冊與存儲組件中。服務(wù)全生命周期管理實現(xiàn)從服務(wù)由任何一個企業(yè)提議,到開發(fā)、測試、使用,直到最終停止使用的整體服務(wù)生命周期的管理。
3結(jié)論
由于SOA(面向服務(wù)架構(gòu))具有良好的重用性、松耦合、靈活性和可靠性等特點,許多企業(yè)都采用了SOA架構(gòu)來進行數(shù)據(jù)集成,采用IBM的 WebSphere Message Broker(簡稱 MB)產(chǎn)品搭建ESB(企業(yè)服務(wù)總線)來構(gòu)筑企業(yè)信息系統(tǒng)集群的神經(jīng)中樞。本系統(tǒng)也采用了這種比較成熟的技術(shù)架構(gòu)和方法來搭建主數(shù)據(jù)平臺和數(shù)據(jù)交換平臺。不同的是,本系統(tǒng)還引入了ROA(面向資源架構(gòu))的理念,根據(jù)各應(yīng)用系統(tǒng)的實際業(yè)務(wù)需求,搭建了基于REST面向資源的集成平臺來對企業(yè)業(yè)務(wù)過程進行整合,將系統(tǒng)中的數(shù)據(jù)、文檔、服務(wù)作為一種資源來進行調(diào)用。該方法與傳統(tǒng)的基于SOAP協(xié)議的集成方式相比具有服務(wù)具有可尋址、可聯(lián)通、接口一致性、資源可緩存等優(yōu)勢,因此更加方便進行企業(yè)業(yè)務(wù)重組和整合,使系統(tǒng)具有更好的松耦合和靈活性。
參考文獻:
[1]李長軍新疆電力調(diào)度數(shù)據(jù)交換平臺的設(shè)計與實現(xiàn)[D].成都:電子科技大學(xué),2015
[2]屈龍華基于XML的數(shù)據(jù)交換平臺的研究與開發(fā)[D].杭州:浙江工業(yè)大學(xué),2014
[3]李秉鍵基于XML的高校異構(gòu)數(shù)據(jù)交換平臺設(shè)計[J].軟件導(dǎo)刊,2014(2):100-102
[4]曾焱,趙和松,張紹夫水利通用數(shù)據(jù)交換平臺研究與實踐[J].水利信息化,2014(6):7-12,17