王馨瑩 沈旭偉
隨著信息集成技術的不斷發展,企業各應用系統間信息化集成需求也變得日益迫切和復雜。為了避免“信息孤島”的同時,提升企業信息化集成的靈活度及可配置化程度,本文以SOA理念為指導,基于ESB創新性的提出了一種服務可配置化組合架構。該架構在滿足異構信息系統數據集成的基礎上,實現了服務復用及多服務可配置化組合,增強了已集成信息系統服務的可復用性及復雜業務場景集成的靈活適應性,對企業日后信息化集成的建設起到了積極的推動作用。
企業服務總線(ESB)是用于集成應用程序和服務的靈活連接基礎設施。ESB通過減少這些應用程序和服務之間的接口數量、大小和復雜性來支持面向服務的體系結構SOA,它是傳統中間件與XML、WebService等技術結合的產物,是構筑企業神經系統的必要元素。
目前,ESB主要應用領域集中在電力、金融、電信、政府等大型企業中。在大型企業中通常各項業務具有各自的應用系統、獨立的數據庫平臺、以及海量的業務數據,為了消除信息孤島,實現信息共享和資源整合,基于SOA 理念和ESB企業服務總線,通過提供開放的、標準化的服務定義及消息機制,將企業各應用系統根據業務邏輯分解并封裝成最小服務單元,在松耦合的服務架構下,可依據業務需要,通過ESB企業服務總線自定義實現服務的可配置化組合,從而降低系統集成的開發費用,提高服務的可復用性、可擴展性及可維護性,滿足大型企業異構環境下對于系統集成的需求。
(一)發布/訂閱模式
發布/訂閱模式即為基于隊列的MQ消息傳遞模式,該消息傳遞模式可以使消息的分發突破目的隊列地理指向的限制,使消息按照特定的主題甚至內容進行分發,用戶或應用程序可以根據主題或內容接收到所需要的消息。MQ模式使得發送者和接收者之間的耦合關系變得更為松散,只是根據消息的主題進行消息的收發。要通信的應用程序可以運行在不同時間,屏蔽了底層的環境差異。
(二)提供/調用模式
提供/調用模式即為面向服務的Webservice模式,Webservice消息傳遞模式更注重服務的復用性,Web服務提供者將自己的Webservice服務所有內容如服務傳輸方式、方法接口、接口參數、服務路徑等,生成相應的WSDL,ESB將服務提供者WSDL進行封裝后注冊在ESB服務注冊中心,調用者通過調用ESB統一對外接口地址調用提供者服務。
(三)服務組合模式
基于面向服務Webservice消息傳遞模式的基礎上,為了進一步提升ESB的靈活性與可配置化程度,本文創新性的提出了服務可配置化組合架構,并在此架構基礎上得出服務組合的消息同步模式。
服務組合消息同步模式適用于多級服務組合式的復雜業務場景。首先,通過注冊中心管理所有已注冊在ESB上的可復用服務資源;然后,通過配置中心,為各個服務配置消息集及組合服務之間消息集的映射關系;最后,通過調度中心實現已組合服務的按序執行,已達到預期的服務組合結果。服務組合消息同步模式通過注冊中心、配置中心、調度中心來實現對服務的集中管控和可配置化操作,進以滿足對服務可復用性、接口可配置化的要求。
(一)設計原則
服務可配置化組合架構的設計遵循了松耦合的設計原則,實現了內部業務邏輯與對外接口的分離,提供了服務請求端和服務提供端之間公共連接及運行環境,可有效提高業務靈活性并為業務快速創新提供便利。
(二)架構結構

ESB服務可配置化組合架構結構分別由注冊中心、配置中心和調度中心組成,架構結構圖見圖1:
注冊中心包括:基本配置,服務配置,服務激活。
配置中心包括:數據集配置,數據集映射配置,服務組合配置。
調度中心包括:服務調用,數據解析,數據映射,數據組合。
基于服務可配置化組合架構,通過構建服務組合消息同步模式,以滿足ESB多元化管理以及可配置化的要求,從而實現服務的集中管控、接口的可配置化、服務的多級組合等功能。
(一)注冊中心

注冊中心包含“基本配置、服務配置、服務激活”三大功能如圖2所示,負責將應用系統提供的接口服務注冊到ESB平臺,基本配置選項中可以配置服務注冊的相關標準化內容,服務配置功能可以依據服務標準化配置要求,將服務的相關屬性寫入系統內,最后,通過服務激活功能,實現對已注冊服務的應用及集中管控。
(二)配置中心
配置中心包含“消息集配置、消息集映射配置、業務流配置”三大功能如圖3所示,在注冊中心完成注冊的服務,均可在配置中心進行服務組合。

1、消息集配置
在服務組合實現過程中,首先需要為每一個用于組合的服務配置消息集,如圖4,然后,再配置目標消息集,即服務組合后所得到的最終目標消息集,目標消息集中包含了服務組合中所有服務的消息集之和。
2、消息集映射配置
消息集配置完成后,還需要為每個服務的消息集及目標消息集之間創建映射關系,從而使服務組合的目標消息集能夠達到預期的效果,如圖4。
3、業務流配置
根據業務場景的需要,業務流配置功能可以配置實現服務組合中每個服務的組合順序,明確業務流向,使得最終獲取的目標消息集可以符合業務場景要求,如圖4。

(三)調度中心

調度中心主要用于調度規則配置進以實現業務流的配置化實際執行如圖5,其中業務流調用又包含:“服務調用”、“數據解析”、“數據映射”、“數據路由”等功能。
1、服務調用
服務調用關聯配置中心的業務流配置功能,其可根據業務流向所配置的服務組合順序,實現服務的按序調用。
2、數據解析
數據解析功能可將獲取到的已封裝的XML數據包解析成具體的、可被業務識別的、包含業務邏輯關系的數據字段。
3、數據映射
數據映射關聯配置中心的消息集配置功能,將服務調用過程中,每一個服務所返回的消息集結果,映射到目標消息集中的指定數據位置。
4、數據組合
數據組合關聯配置中心的消息集映射功能,根據在配置中心所配置的消息源及目標消息集關系,進以得到數據組合后的最終目標業務數據。
基于ESB的服務可配置化組合架構已在AP/CAP系列核電廠工程建設過程中得到了有效運用,并取得了良好的實踐應用效果。基于ESB的服務可配置化組合架構采用面向服務和組件化開發模式,該架構的應用支持企業業務的靈活重組,降低了業務及數據集成的重復開發工作,滿足了企業應用集成的靈活性以及對未來發展變化的適應性。基于ESB的服務可配置化組合架構系統功能主界面如圖6所示。

如圖7為服務注冊數量統計圖,由圖中可以看出2015年注冊服務數量為22個,2016年注冊服務數量為102個,2017年注冊服務數量為39個,2018年注冊服務數量為23個,2019年注冊服務數量為4個,服務注冊數量為逐年降低趨勢。如圖8為接口調用量統計圖,自2015年至2019年接口調用量呈現逐年上升趨勢。由此可見,通過服務可配置化組合架構的有效應用,可最大程度實現已注冊服務的復用率,避免相同業務的重復開發。
本文采用面向服務的軟件架構設計思想和多元化設計理念,結合AP/CAP系列核電廠工程建設業務集成需求,創新性的提出并實現了基于ESB的服務可配置化組合架構。該架構可將應用系統提供的服務封裝為獨立的、最小集成單元,當業務發生變更時,只需通過配置化的方式重新配置業務集成接口,而無需重新二次開發,降低了業務變化對系統集成耦合度以及接口集成復雜度的影響,增強了服務的復用性及可維護性的同時又確保了各應用系統間穩定的內聚性。通過對基于ESB的服務可配置化組合架構的應用,可有效應對異構應用系統間集成,及業務功能擴展的相關問題,快速響應系統間數據交換及共享的需求,從而更好的適應企業未來發展變化的需要。
基金項目:國家科技重大專項2018ZX06002002資金支持。