王慶風(fēng) 瞿潔 費(fèi)樹(shù)岷
摘要: 由于企業(yè)各個(gè)信息化系統(tǒng)開(kāi)發(fā)時(shí)間不同,開(kāi)發(fā)廠商不同,使用部門(mén)不同,導(dǎo)致企業(yè)內(nèi)異構(gòu)系統(tǒng)越來(lái)越多,而多異構(gòu)系統(tǒng)的集成就變?yōu)橹饕獑?wèn)題,但傳統(tǒng)的解決方案工作量大,耗費(fèi)人力物力而且效率低,針對(duì)這些問(wèn)題,本文結(jié)合近些年興起的ESB總線結(jié)構(gòu)技術(shù)和Web Services技術(shù),采用SOAP跨平臺(tái)的能力,提出一種基于企業(yè)服務(wù)總線的集成平臺(tái)架構(gòu),用于實(shí)現(xiàn)異構(gòu)系統(tǒng)間的數(shù)據(jù)交互,提高企業(yè)的效能,這種方案開(kāi)發(fā)周期短,開(kāi)放性好且易于維護(hù)。
Abstract: Because of the different development times, different development companies, different use departments, the various informatization systems in the companies generate more heterogeneous system in the company, so as the integration of the multi-heterogeneous systems becomes the main problem. But the workload of traditional solutions is large, the manpower and material resources are consumed and the efficiency is low. In order to deal with these problems, this paper combines ESB bus architecture technology with Web Services technology, adopts the cross-platform ability of SOAP to propose the integration platform architecture based on Enterprise Service Bus to implement data exchange among heterogeneous systems and improve the effectiveness of the enterprise. This scheme can shorten the development cycle, improve openness and simplify the maintaince.
關(guān)鍵詞: 企業(yè)服務(wù)總線;Web Services;SOAP;異構(gòu)系統(tǒng)
Key words: ESB;Web Services;SOAP;Heterogeneous system
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1006-4311(2016)06-0085-03
0 引言
企業(yè)隨著技術(shù)發(fā)展會(huì)根據(jù)需求開(kāi)發(fā)很多信息化系統(tǒng),但這些系統(tǒng)是根據(jù)各個(gè)部門(mén)不同的需求建立的,由于開(kāi)發(fā)廠商不同,操作系統(tǒng)不同,軟件架構(gòu)不同,數(shù)據(jù)庫(kù)不同,編程語(yǔ)言不同,而且傳統(tǒng)的信息系統(tǒng)開(kāi)發(fā)很少考慮應(yīng)用的可集成性,可重用性,可定制性和可移植性,導(dǎo)致不同系統(tǒng)間的信息交互難以實(shí)現(xiàn),形成“信息孤島”[1],企業(yè)效率不高。以某公司為例,該公司有多個(gè)信息化子系統(tǒng):工業(yè)電視子系統(tǒng),電子圍欄子系統(tǒng),安防監(jiān)控子系統(tǒng),門(mén)禁子系統(tǒng),電子巡更子系統(tǒng)等信息化系統(tǒng),各個(gè)子系統(tǒng)由于功能不同,都是獨(dú)立的,彼此沒(méi)有數(shù)據(jù)交互,如今公司需要將這些子系統(tǒng)集成到一個(gè)物防技防一體化智能管理平臺(tái)上,實(shí)現(xiàn)系統(tǒng)集成,信息交互,從而提高公司效率。
為了解決系統(tǒng)間信息交互的問(wèn)題,之前提出過(guò)多種傳統(tǒng)解決方案,如DCOM構(gòu)建模型[2]、RMI技術(shù)[3]和CORBA技術(shù)[4],但是這些方案都存在缺點(diǎn)。對(duì)于DOCM構(gòu)建模型技術(shù),它需要企業(yè)內(nèi)部系統(tǒng)運(yùn)行在微軟的平臺(tái)上,如果系統(tǒng)采用了其他操作平臺(tái),采用DOCM技術(shù)就不合適;而RMI技術(shù)采用的是Java語(yǔ)言,它要求所有集成系統(tǒng)必須由Java實(shí)現(xiàn);CORBA的缺點(diǎn)與DCOM類似,要求每臺(tái)計(jì)算機(jī)都運(yùn)行相同的ORB產(chǎn)品。所以由此看出,如果使用這三種技術(shù)實(shí)現(xiàn)信息交互,必須要求子系統(tǒng)同構(gòu)?,F(xiàn)在要開(kāi)發(fā)異構(gòu)系統(tǒng)集成,雖然使用這三種技術(shù)也可以實(shí)現(xiàn)相互訪問(wèn),但是存在一些問(wèn)題,工作量加大,開(kāi)發(fā)周期長(zhǎng),而且開(kāi)發(fā)難度大。
最近興起的ESB總線結(jié)構(gòu)技術(shù)[5],提供了網(wǎng)絡(luò)中最基本的連接中樞,是構(gòu)筑企業(yè)神經(jīng)系統(tǒng)的必要元素。ESB的出現(xiàn)改變了傳統(tǒng)的軟件架構(gòu),可以提供比傳統(tǒng)中間件產(chǎn)品更為廉價(jià)的解決方案,同時(shí)它還可以消除不同應(yīng)用之間的技術(shù)差異,讓不同的應(yīng)用服務(wù)器協(xié)調(diào)運(yùn)作,實(shí)現(xiàn)了不同服務(wù)之間的通信與整合。
本文采用ESB的思想并且結(jié)合Web Services架構(gòu),為解決企業(yè)間異構(gòu)系統(tǒng)的集成提出了一種新的解決方案,該解決方案可以在不改變現(xiàn)有結(jié)構(gòu)的情況下實(shí)現(xiàn)異構(gòu)系統(tǒng)集成,數(shù)據(jù)交互,這種方案不僅開(kāi)發(fā)周期短,工作量小,效率高,而且開(kāi)放性好易于以后開(kāi)發(fā)和維護(hù)。
1 多異構(gòu)系統(tǒng)集成框架
以福建仙游抽水蓄能電站為例,公司內(nèi)已經(jīng)存在五個(gè)安防子系統(tǒng),分別為工業(yè)電視子系統(tǒng)、安防視頻子系統(tǒng)、入侵防范防護(hù)子系統(tǒng)、出入口控制子系統(tǒng)、電子巡查子系統(tǒng)。但由于開(kāi)發(fā)時(shí)間不同,開(kāi)發(fā)平臺(tái)不同,開(kāi)發(fā)技術(shù)不同,而且各個(gè)子系統(tǒng)分布在不同的物理網(wǎng)絡(luò)中,每個(gè)子系統(tǒng)都是獨(dú)立的,不能實(shí)現(xiàn)系統(tǒng)間的數(shù)據(jù)共享,導(dǎo)致公司安防工作效率不高。
1.1 智能管理平臺(tái)框架設(shè)計(jì)
針對(duì)該公司的情況,采用ESB總線結(jié)構(gòu)技術(shù)建立一個(gè)物防技防一體化智能管理平臺(tái),從而實(shí)現(xiàn)多種異構(gòu)系統(tǒng)集成,信息交互。ESB提供了一個(gè)靈活的連接基礎(chǔ)架構(gòu),用來(lái)集成企業(yè)子系統(tǒng)和服務(wù),當(dāng)服務(wù)的請(qǐng)求者連接到ESB的時(shí)候,ESB負(fù)責(zé)傳輸它的請(qǐng)求,將消息發(fā)給服務(wù)提供者來(lái)提取需求的功能和服務(wù)。ESB方便了請(qǐng)求者-提供者的互操作,并且解決了不相兼容的協(xié)議,互操作模型和服務(wù)的能力。設(shè)計(jì)智能管理平臺(tái)框架如圖1所示。
其中網(wǎng)絡(luò)為企業(yè)目前的以太網(wǎng),用戶A到用戶N相當(dāng)于公司的客戶端,Web服務(wù)器相當(dāng)于物防技防一體化智能管理平臺(tái),子系統(tǒng)1到子系統(tǒng)5相當(dāng)于5個(gè)子系統(tǒng)的服務(wù)器或工作站。需要說(shuō)明,圖1給出的是網(wǎng)絡(luò)邏輯結(jié)構(gòu)(不是物體結(jié)構(gòu))。ESB總線可以使子系統(tǒng)間以一個(gè)統(tǒng)一的接口互相連接,這樣不僅子系統(tǒng)間連接便捷,還實(shí)現(xiàn)了子系統(tǒng)即插即用,每個(gè)子系統(tǒng)單獨(dú)開(kāi)發(fā),單獨(dú)調(diào)試,從而大大提高了開(kāi)發(fā)效率,縮短了開(kāi)發(fā)周期。
基于以上框架的信息傳遞過(guò)程:服務(wù)請(qǐng)求者(用戶)發(fā)出服務(wù)請(qǐng)求消息不是直接發(fā)送給服務(wù)提供者(子系統(tǒng)),而是先將消息發(fā)給ESB服務(wù)總線,由ESB作為代理將請(qǐng)求消息轉(zhuǎn)發(fā)給服務(wù)提供者,當(dāng)?shù)玫椒?wù)提供者的返回消息后,再將返回的消息傳遞給服務(wù)請(qǐng)求者。這樣各個(gè)子系統(tǒng)盡管異構(gòu),但是不需要重新開(kāi)發(fā)接口進(jìn)行集成,只需要通過(guò)ESB服務(wù)總線,將各個(gè)子系統(tǒng)連接到ESB服務(wù)總線上,進(jìn)行信息轉(zhuǎn)換,協(xié)議轉(zhuǎn)換,將結(jié)果返回給服務(wù)請(qǐng)求者。
1.2 ESB引擎的設(shè)計(jì)
由圖1可以看出,物防技防一體化智能管理平臺(tái)的一種功能相當(dāng)于ESB引擎,可部署在用戶配置的Web服務(wù)器上。任何用戶要訪問(wèn)某個(gè)信息化子系統(tǒng)都要受服務(wù)器的控制,智能平臺(tái)軟件可以控制消息和數(shù)據(jù)的轉(zhuǎn)換、發(fā)送和接收。物防技防一體化智能管理平臺(tái)作為ESB引擎,可實(shí)現(xiàn)各個(gè)子系統(tǒng)信息共享,有效集成,流程整合和數(shù)據(jù)整合,并實(shí)現(xiàn)系統(tǒng)的信息安全管理和運(yùn)維保障等服務(wù)。
ESB包括服務(wù)的提供者,服務(wù)的請(qǐng)求者和注冊(cè)中心,一般由消息處理層,服務(wù)層、數(shù)據(jù)訪問(wèn)層、數(shù)據(jù)存儲(chǔ)層等構(gòu)成。本文介紹的ESB引擎設(shè)計(jì)結(jié)構(gòu)圖如圖2所示。
由圖2可知,ESB引擎設(shè)計(jì)結(jié)構(gòu)圖由三層構(gòu)成:
①服務(wù)端請(qǐng)求:客戶通過(guò)客戶端發(fā)送請(qǐng)求消息到ESB總線,該請(qǐng)求消息是基于XML的SOAP消息。并接收從ESB傳遞回來(lái)的結(jié)果信息。
②ESB總線:首先ESB接收到請(qǐng)求消息后,進(jìn)行處理,并解析消息,然后到UDDI注冊(cè)中心查找相應(yīng)的數(shù)據(jù)處理。其中注冊(cè)中心充當(dāng)信息庫(kù),存放著ESB當(dāng)中可用的Web服務(wù)信息。當(dāng)在注冊(cè)中心找到相關(guān)服務(wù)之后,Web服務(wù)間可以調(diào)用,然后將結(jié)果信息返回給客戶端。
③數(shù)據(jù)存儲(chǔ)層:將子系統(tǒng)數(shù)據(jù)均存儲(chǔ)在數(shù)據(jù)庫(kù)中,當(dāng)調(diào)用的服務(wù)需要數(shù)據(jù)時(shí),到數(shù)據(jù)庫(kù)查找相關(guān)數(shù)據(jù)。
2 智能管理平臺(tái)關(guān)鍵技術(shù)
ESB企業(yè)結(jié)構(gòu)總線技術(shù)是物防技防一體化智能管理平臺(tái)的核心,它完成了服務(wù)請(qǐng)求端和數(shù)據(jù)存儲(chǔ)層的連接。在處理客戶端信息的接入和請(qǐng)求時(shí),是通過(guò)SOAP和XML完成。其中SOAP為在不同系統(tǒng)之間信息交換定義了一套基本的規(guī)則和跨平臺(tái)的消息機(jī)制,SOAP是Web服務(wù)體系中服務(wù)交互的基礎(chǔ)架構(gòu),UDDI則是將Web服務(wù)和用戶聯(lián)系起來(lái)起中介作用。綜上所述,智能管理平臺(tái)需要解決兩個(gè)主要問(wèn)題:①在UDDI中注冊(cè)服務(wù);②SOAP信息的處理。
2.1 UDDI注冊(cè)中心設(shè)計(jì)
UDDI是分布式Web服務(wù)的信息注冊(cè)規(guī)范。Web Services可以根據(jù)其進(jìn)行注冊(cè),從而被其他調(diào)用該服務(wù)的用戶使用。UDDI規(guī)范描述了Web服務(wù)的概念,定義了一種編程接口,這個(gè)接口提供了描述各種Web服務(wù)的簡(jiǎn)單框架。UDDI真正實(shí)現(xiàn)了Web Services信息訪問(wèn)的“一次訪問(wèn),到處發(fā)布”,UDDI注冊(cè)中心的設(shè)計(jì)直接關(guān)系到服務(wù)能否被正確調(diào)用,UDDI注冊(cè)如圖3所示。
根據(jù)圖3所示,UDDI注冊(cè)主要步驟如下:
①標(biāo)準(zhǔn)化組織,服務(wù)提供者等發(fā)布服務(wù)定義;
②服務(wù)提供者根據(jù)服務(wù)的定義構(gòu)建服務(wù)并向UDDI注冊(cè)中心發(fā)送該服務(wù)的信息;
③針對(duì)不同的服務(wù),服務(wù)客戶端在UDDI注冊(cè)中心查詢所需服務(wù);
④找到所需服務(wù)后,客戶端解析服務(wù)定義的細(xì)節(jié);
⑤解析完成后,客戶端根據(jù)規(guī)則標(biāo)準(zhǔn)調(diào)用該服務(wù)。
2.2 SOAP信息的處理
根據(jù)上面章節(jié)介紹,本文系統(tǒng)采用的是SOAP技術(shù)和WSDL文檔來(lái)自動(dòng)生成代理客戶端從而和服務(wù)器端的對(duì)象進(jìn)行信息交互。與此同時(shí)利用了SOAP技術(shù)實(shí)現(xiàn)了消息應(yīng)用層的加密和解密擴(kuò)展。其通信過(guò)程如下圖4所示:
SOAP具體的消息處理步驟如下:
①客戶通過(guò)客戶端發(fā)出請(qǐng)求,生成相應(yīng)的代理客戶端;
②生成本地的消息,將其序列化為SOAP消息格式(所有平臺(tái)都使用的統(tǒng)一的消息格式);
③將SOAP消息進(jìn)行加密;
④綁定SOAP信息和HTTP協(xié)議;
⑤發(fā)送給服務(wù)器端,服務(wù)器接收信息以后,將加密后的SOAP信息解密,在反序列化生成本地格式的請(qǐng)求,服務(wù)器進(jìn)行處理,處理結(jié)果再進(jìn)行序列化成為SOAP信息,加密以后送回客戶端;
⑥客戶端接收到信息后,解密然后反序列化,生成本地信息。
通過(guò)以上分析,由此可以看出本系統(tǒng)的優(yōu)點(diǎn)是:可擴(kuò)展性和靈活性強(qiáng),易于維護(hù),不僅可以把多種異構(gòu)系統(tǒng)集成到一個(gè)平臺(tái)上,還可以進(jìn)行加密和解密,提高了通信的安全性。
2.3 系統(tǒng)流程
根據(jù)前面章節(jié)的設(shè)計(jì),系統(tǒng)工作流程圖如圖5所示。
由圖5可知,因?yàn)槊總€(gè)子系統(tǒng)都是獨(dú)立的,它們首先在ESB中被適配器封裝為服務(wù)然后添加到注冊(cè)表中,當(dāng)用戶發(fā)來(lái)服務(wù)請(qǐng)求時(shí),協(xié)議適配器從請(qǐng)求中提取SOAP消息,然后通過(guò)統(tǒng)一身份登錄,登錄成功后將該消息傳遞給ESB總線,ESB根據(jù)獲得的SOAP消息,在服務(wù)注冊(cè)表中查找,找到與之相符的WSDL消息,返回服務(wù)調(diào)用信息,最后服務(wù)請(qǐng)求者根據(jù)返回的消息調(diào)用相關(guān)的服務(wù)。
2.4 本集成平臺(tái)的特點(diǎn)
與傳統(tǒng)的解決方案比較,本集成平臺(tái)有很多優(yōu)勢(shì),主要表現(xiàn)如下:
①方便操作:SOAP具有普遍性、跨平臺(tái)性和異構(gòu)性,通過(guò)本平臺(tái)的Web發(fā)布,用戶不僅操作方便而且可以實(shí)時(shí)發(fā)布用戶信息;
②易于維護(hù)升級(jí):傳統(tǒng)的解決方案是解析原有子系統(tǒng)的通訊協(xié)議或使用DCOM等中間件技術(shù),這種方案軟件開(kāi)發(fā)工作量太大,且系統(tǒng)的魯棒性不太好,系統(tǒng)維護(hù)升級(jí)也較困難。SOAP作為一種新的與平臺(tái)無(wú)關(guān)的通信協(xié)議, 將其運(yùn)用于企業(yè)的分布式環(huán)境中實(shí)現(xiàn)異構(gòu)系統(tǒng)信息的交換程序開(kāi)發(fā)工作量較小,系統(tǒng)的魯棒性較好,系統(tǒng)維護(hù)升級(jí)也較容易。ESB總線結(jié)構(gòu)可較容易實(shí)現(xiàn)各個(gè)異構(gòu)系統(tǒng)的權(quán)限統(tǒng)一管理;
③擴(kuò)展性強(qiáng):SOAP本身是可以擴(kuò)展的,而且本集成平臺(tái)采用的是面向服務(wù)的方法設(shè)計(jì)和實(shí)現(xiàn)的,所以易于擴(kuò)展;
④安全性:本文使用了加密SOAP消息的方式,提高數(shù)據(jù)交換的安全性;
⑤開(kāi)放性:使用SOAP技術(shù)為以后與其他平臺(tái)進(jìn)行通信提供了一個(gè)開(kāi)放式的框架,便于以后企業(yè)進(jìn)行維護(hù)升級(jí)和開(kāi)發(fā)。
3 結(jié)束語(yǔ)
基于ESB總線結(jié)構(gòu)技術(shù)和SOAP通訊的多異構(gòu)系統(tǒng)緊密集成,與傳統(tǒng)方案相比,開(kāi)發(fā)容易,周期短且工作量小,易于公司以后增加系統(tǒng)后對(duì)平臺(tái)進(jìn)行維護(hù)升級(jí),不僅提高了企業(yè)內(nèi)部數(shù)據(jù)處理的效率,而且增強(qiáng)了業(yè)務(wù)網(wǎng)的服務(wù)功能,本文使用這種技術(shù)實(shí)現(xiàn)了福建仙游抽水蓄能電站的物防技防一體化智能管理平臺(tái)的多異構(gòu)信息化子系統(tǒng)的集成,有效解決該電站目前各個(gè)系統(tǒng)獨(dú)立運(yùn)營(yíng),缺乏相互聯(lián)系及相互聯(lián)動(dòng),各自為政的“信息孤島”問(wèn)題,有機(jī)地將電站的各個(gè)物防、技防子系統(tǒng)有機(jī)的融合在一個(gè)管理平臺(tái)上,實(shí)現(xiàn)所有子系統(tǒng)的統(tǒng)一管理、統(tǒng)一展示、統(tǒng)一報(bào)警、統(tǒng)一調(diào)度以及相互聯(lián)動(dòng)。有效地降低了工作人員的數(shù)量和工作強(qiáng)度,同時(shí)可以大大提高電站物防和技防系統(tǒng)的保障能力,因人為的失誤、疏忽或過(guò)失所造成的損失為零。
參考文獻(xiàn):
[1]雷琦,宋豫川,李先旺.語(yǔ)義網(wǎng)關(guān)支持下的異構(gòu)系統(tǒng)集成框架及其關(guān)鍵技術(shù)[J].重慶大學(xué)學(xué)報(bào),2010,33(11):27-32.
[2]徐麗群,李斌.基于DCOM的動(dòng)態(tài)運(yùn)輸調(diào)度多智能體系統(tǒng)研究[J].計(jì)算機(jī)應(yīng)用研究,2009,26(3):949-952.
[3]楊鐵軍,黃琳.MINA網(wǎng)絡(luò)框架和RMI的對(duì)比研究[J].計(jì)算機(jī)應(yīng)用與軟件,2010,27(9):222-239.
[4]莫易敏,余國(guó)景,周廷美,劉萍.采用CORBA結(jié)構(gòu)的機(jī)車整備過(guò)程模塊設(shè)計(jì)[J].武漢理工大學(xué)學(xué)報(bào)(信息與管理工程版),2015,37(1):51-54.
[5]邸劍,肖軍,王春新,楊友朋.基于ESB的物聯(lián)網(wǎng)綜合業(yè)務(wù)平臺(tái)設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用,2013,33(S2):6-9.