王慶風 瞿潔 費樹岷



摘要: 由于企業各個信息化系統開發時間不同,開發廠商不同,使用部門不同,導致企業內異構系統越來越多,而多異構系統的集成就變為主要問題,但傳統的解決方案工作量大,耗費人力物力而且效率低,針對這些問題,本文結合近些年興起的ESB總線結構技術和Web Services技術,采用SOAP跨平臺的能力,提出一種基于企業服務總線的集成平臺架構,用于實現異構系統間的數據交互,提高企業的效能,這種方案開發周期短,開放性好且易于維護。
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.
關鍵詞: 企業服務總線;Web Services;SOAP;異構系統
Key words: ESB;Web Services;SOAP;Heterogeneous system
中圖分類號:TP393 文獻標識碼:A 文章編號:1006-4311(2016)06-0085-03
0 引言
企業隨著技術發展會根據需求開發很多信息化系統,但這些系統是根據各個部門不同的需求建立的,由于開發廠商不同,操作系統不同,軟件架構不同,數據庫不同,編程語言不同,而且傳統的信息系統開發很少考慮應用的可集成性,可重用性,可定制性和可移植性,導致不同系統間的信息交互難以實現,形成“信息孤島”[1],企業效率不高。以某公司為例,該公司有多個信息化子系統:工業電視子系統,電子圍欄子系統,安防監控子系統,門禁子系統,電子巡更子系統等信息化系統,各個子系統由于功能不同,都是獨立的,彼此沒有數據交互,如今公司需要將這些子系統集成到一個物防技防一體化智能管理平臺上,實現系統集成,信息交互,從而提高公司效率。
為了解決系統間信息交互的問題,之前提出過多種傳統解決方案,如DCOM構建模型[2]、RMI技術[3]和CORBA技術[4],但是這些方案都存在缺點。對于DOCM構建模型技術,它需要企業內部系統運行在微軟的平臺上,如果系統采用了其他操作平臺,采用DOCM技術就不合適;而RMI技術采用的是Java語言,它要求所有集成系統必須由Java實現;CORBA的缺點與DCOM類似,要求每臺計算機都運行相同的ORB產品。所以由此看出,如果使用這三種技術實現信息交互,必須要求子系統同構。現在要開發異構系統集成,雖然使用這三種技術也可以實現相互訪問,但是存在一些問題,工作量加大,開發周期長,而且開發難度大。
最近興起的ESB總線結構技術[5],提供了網絡中最基本的連接中樞,是構筑企業神經系統的必要元素。ESB的出現改變了傳統的軟件架構,可以提供比傳統中間件產品更為廉價的解決方案,同時它還可以消除不同應用之間的技術差異,讓不同的應用服務器協調運作,實現了不同服務之間的通信與整合。
本文采用ESB的思想并且結合Web Services架構,為解決企業間異構系統的集成提出了一種新的解決方案,該解決方案可以在不改變現有結構的情況下實現異構系統集成,數據交互,這種方案不僅開發周期短,工作量小,效率高,而且開放性好易于以后開發和維護。
1 多異構系統集成框架
以福建仙游抽水蓄能電站為例,公司內已經存在五個安防子系統,分別為工業電視子系統、安防視頻子系統、入侵防范防護子系統、出入口控制子系統、電子巡查子系統。但由于開發時間不同,開發平臺不同,開發技術不同,而且各個子系統分布在不同的物理網絡中,每個子系統都是獨立的,不能實現系統間的數據共享,導致公司安防工作效率不高。
1.1 智能管理平臺框架設計
針對該公司的情況,采用ESB總線結構技術建立一個物防技防一體化智能管理平臺,從而實現多種異構系統集成,信息交互。ESB提供了一個靈活的連接基礎架構,用來集成企業子系統和服務,當服務的請求者連接到ESB的時候,ESB負責傳輸它的請求,將消息發給服務提供者來提取需求的功能和服務。ESB方便了請求者-提供者的互操作,并且解決了不相兼容的協議,互操作模型和服務的能力。設計智能管理平臺框架如圖1所示。
其中網絡為企業目前的以太網,用戶A到用戶N相當于公司的客戶端,Web服務器相當于物防技防一體化智能管理平臺,子系統1到子系統5相當于5個子系統的服務器或工作站。需要說明,圖1給出的是網絡邏輯結構(不是物體結構)。ESB總線可以使子系統間以一個統一的接口互相連接,這樣不僅子系統間連接便捷,還實現了子系統即插即用,每個子系統單獨開發,單獨調試,從而大大提高了開發效率,縮短了開發周期。
基于以上框架的信息傳遞過程:服務請求者(用戶)發出服務請求消息不是直接發送給服務提供者(子系統),而是先將消息發給ESB服務總線,由ESB作為代理將請求消息轉發給服務提供者,當得到服務提供者的返回消息后,再將返回的消息傳遞給服務請求者。這樣各個子系統盡管異構,但是不需要重新開發接口進行集成,只需要通過ESB服務總線,將各個子系統連接到ESB服務總線上,進行信息轉換,協議轉換,將結果返回給服務請求者。
1.2 ESB引擎的設計
由圖1可以看出,物防技防一體化智能管理平臺的一種功能相當于ESB引擎,可部署在用戶配置的Web服務器上。任何用戶要訪問某個信息化子系統都要受服務器的控制,智能平臺軟件可以控制消息和數據的轉換、發送和接收。物防技防一體化智能管理平臺作為ESB引擎,可實現各個子系統信息共享,有效集成,流程整合和數據整合,并實現系統的信息安全管理和運維保障等服務。
ESB包括服務的提供者,服務的請求者和注冊中心,一般由消息處理層,服務層、數據訪問層、數據存儲層等構成。本文介紹的ESB引擎設計結構圖如圖2所示。
由圖2可知,ESB引擎設計結構圖由三層構成:
①服務端請求:客戶通過客戶端發送請求消息到ESB總線,該請求消息是基于XML的SOAP消息。并接收從ESB傳遞回來的結果信息。
②ESB總線:首先ESB接收到請求消息后,進行處理,并解析消息,然后到UDDI注冊中心查找相應的數據處理。其中注冊中心充當信息庫,存放著ESB當中可用的Web服務信息。當在注冊中心找到相關服務之后,Web服務間可以調用,然后將結果信息返回給客戶端。
③數據存儲層:將子系統數據均存儲在數據庫中,當調用的服務需要數據時,到數據庫查找相關數據。
2 智能管理平臺關鍵技術
ESB企業結構總線技術是物防技防一體化智能管理平臺的核心,它完成了服務請求端和數據存儲層的連接。在處理客戶端信息的接入和請求時,是通過SOAP和XML完成。其中SOAP為在不同系統之間信息交換定義了一套基本的規則和跨平臺的消息機制,SOAP是Web服務體系中服務交互的基礎架構,UDDI則是將Web服務和用戶聯系起來起中介作用。綜上所述,智能管理平臺需要解決兩個主要問題:①在UDDI中注冊服務;②SOAP信息的處理。
2.1 UDDI注冊中心設計
UDDI是分布式Web服務的信息注冊規范。Web Services可以根據其進行注冊,從而被其他調用該服務的用戶使用。UDDI規范描述了Web服務的概念,定義了一種編程接口,這個接口提供了描述各種Web服務的簡單框架。UDDI真正實現了Web Services信息訪問的“一次訪問,到處發布”,UDDI注冊中心的設計直接關系到服務能否被正確調用,UDDI注冊如圖3所示。
根據圖3所示,UDDI注冊主要步驟如下:
①標準化組織,服務提供者等發布服務定義;
②服務提供者根據服務的定義構建服務并向UDDI注冊中心發送該服務的信息;
③針對不同的服務,服務客戶端在UDDI注冊中心查詢所需服務;
④找到所需服務后,客戶端解析服務定義的細節;
⑤解析完成后,客戶端根據規則標準調用該服務。
2.2 SOAP信息的處理
根據上面章節介紹,本文系統采用的是SOAP技術和WSDL文檔來自動生成代理客戶端從而和服務器端的對象進行信息交互。與此同時利用了SOAP技術實現了消息應用層的加密和解密擴展。其通信過程如下圖4所示:
SOAP具體的消息處理步驟如下:
①客戶通過客戶端發出請求,生成相應的代理客戶端;
②生成本地的消息,將其序列化為SOAP消息格式(所有平臺都使用的統一的消息格式);
③將SOAP消息進行加密;
④綁定SOAP信息和HTTP協議;
⑤發送給服務器端,服務器接收信息以后,將加密后的SOAP信息解密,在反序列化生成本地格式的請求,服務器進行處理,處理結果再進行序列化成為SOAP信息,加密以后送回客戶端;
⑥客戶端接收到信息后,解密然后反序列化,生成本地信息。
通過以上分析,由此可以看出本系統的優點是:可擴展性和靈活性強,易于維護,不僅可以把多種異構系統集成到一個平臺上,還可以進行加密和解密,提高了通信的安全性。
2.3 系統流程
根據前面章節的設計,系統工作流程圖如圖5所示。
由圖5可知,因為每個子系統都是獨立的,它們首先在ESB中被適配器封裝為服務然后添加到注冊表中,當用戶發來服務請求時,協議適配器從請求中提取SOAP消息,然后通過統一身份登錄,登錄成功后將該消息傳遞給ESB總線,ESB根據獲得的SOAP消息,在服務注冊表中查找,找到與之相符的WSDL消息,返回服務調用信息,最后服務請求者根據返回的消息調用相關的服務。
2.4 本集成平臺的特點
與傳統的解決方案比較,本集成平臺有很多優勢,主要表現如下:
①方便操作:SOAP具有普遍性、跨平臺性和異構性,通過本平臺的Web發布,用戶不僅操作方便而且可以實時發布用戶信息;
②易于維護升級:傳統的解決方案是解析原有子系統的通訊協議或使用DCOM等中間件技術,這種方案軟件開發工作量太大,且系統的魯棒性不太好,系統維護升級也較困難。SOAP作為一種新的與平臺無關的通信協議, 將其運用于企業的分布式環境中實現異構系統信息的交換程序開發工作量較小,系統的魯棒性較好,系統維護升級也較容易。ESB總線結構可較容易實現各個異構系統的權限統一管理;
③擴展性強:SOAP本身是可以擴展的,而且本集成平臺采用的是面向服務的方法設計和實現的,所以易于擴展;
④安全性:本文使用了加密SOAP消息的方式,提高數據交換的安全性;
⑤開放性:使用SOAP技術為以后與其他平臺進行通信提供了一個開放式的框架,便于以后企業進行維護升級和開發。
3 結束語
基于ESB總線結構技術和SOAP通訊的多異構系統緊密集成,與傳統方案相比,開發容易,周期短且工作量小,易于公司以后增加系統后對平臺進行維護升級,不僅提高了企業內部數據處理的效率,而且增強了業務網的服務功能,本文使用這種技術實現了福建仙游抽水蓄能電站的物防技防一體化智能管理平臺的多異構信息化子系統的集成,有效解決該電站目前各個系統獨立運營,缺乏相互聯系及相互聯動,各自為政的“信息孤島”問題,有機地將電站的各個物防、技防子系統有機的融合在一個管理平臺上,實現所有子系統的統一管理、統一展示、統一報警、統一調度以及相互聯動。有效地降低了工作人員的數量和工作強度,同時可以大大提高電站物防和技防系統的保障能力,因人為的失誤、疏忽或過失所造成的損失為零。
參考文獻:
[1]雷琦,宋豫川,李先旺.語義網關支持下的異構系統集成框架及其關鍵技術[J].重慶大學學報,2010,33(11):27-32.
[2]徐麗群,李斌.基于DCOM的動態運輸調度多智能體系統研究[J].計算機應用研究,2009,26(3):949-952.
[3]楊鐵軍,黃琳.MINA網絡框架和RMI的對比研究[J].計算機應用與軟件,2010,27(9):222-239.
[4]莫易敏,余國景,周廷美,劉萍.采用CORBA結構的機車整備過程模塊設計[J].武漢理工大學學報(信息與管理工程版),2015,37(1):51-54.
[5]邸劍,肖軍,王春新,楊友朋.基于ESB的物聯網綜合業務平臺設計[J].計算機應用,2013,33(S2):6-9.