劉保汛,劉文杰
(山東省農村信用社聯合社,濟南 250014)
企業服務總線ESB是企業內應用系統間最基本的連接中樞,是解決應用系統間信息交換及動態路由的企業級消息系統。企業采用基于動態消息路由的服務總線應用架構方案,能夠有效隔離業務系統的應用邏輯功能和服務總線的集成功能,降低系統互聯互通的復雜程度,提升企業跨系統、跨組織的服務交互能力,使得企業IT資產價值最大化,可以靈活、高效的應對市場業務需求的變化。
企業服務總線定位為企業級的服務集成中樞,遵循基于SOA的開放架構體系和技術標準,能夠適應客戶業務靈活多變的發展趨勢。企業服務總線ESB在企業中的主要功能:利用集成技術解決異構系統之間的連通性,通過協議轉換、消息解析、消息路由等功能把服務請求者的數據傳送到服務提供者;通過引入中間層,承接消息中間件的全部功能,通過異步消息處理機制后,可以實現業務系統間真正的松耦合架構;提供基礎的集成服務與用戶定制的應用服務,支持服務封裝、重用、組合與調度,為各類應用系統提供可定制的拓展空間;支持應用系統擴展部署和多個邏輯單元的分離部署,具有一定的靈活性和擴展性。
消息路由在傳統網絡通信協議中屬于網絡層的概念,ESB消息路由與傳統網絡不同,它是屬于應用層的概念。路由模式是ESB的一種基本信息傳遞模式,即將服務請求方系統的請求按照一定的路由規則發送到相應的服務提供方系統。ESB消息路由是當前ESB路由研究的熱點,是對傳統消息路由技術的進一步發展與完善,它通過采用不同的路由方式,同時引入路由過濾、轉換機制等多項技術,大幅提升了ESB的可用性、可靠性和可控性,為服務參與方構建了一個簡單、透明、可靠的消息路由機制[1]。
在商業銀行信息系統中消息路由[2]通常包含多種方式,主要有:基于目的地址的路由、基于主題的路由、基于內容的路由及基于類型的路由等。
某商業銀行基于動態消息路由的企業服務總線應用架構如圖1所示。
3.1.1 架構分析
架構包括業務層、服務總線層(ESB)和服務處理層。業務層包含商業銀行內各類業務發起系統如柜面系統、自助設備系統、電子渠道系統等,業務層系統將服務請求發送至ESB,并從ESB接受服務響應。ESB(服務總線)層將業務系統的服務請求動態路由到服務處理層,并在業務層系統和服務處理層系統之間轉換消息格式與通訊協議,同時對傳輸的消息進行監控管理和提供安全保證。服務處理層包括商業銀行內各類服務處理系統如核心業務系統、銀聯支付系統、中間業務系統等,用于處理業務系統發起的各類服務請求,并將服務響應通過ESB返回至業務系統。另外,在此架構中,ESB層與服務處理層需在UDDI(服務注冊庫)中進行服務注冊。

圖1 ESB應用架構
3.1.2 工作原理
某商業銀行業務流程實現如圖1所示,圖中步驟①至步驟⑤流程操作:①業務系統分析業務流程,并在ESB層內的路由表內注冊業務流程信息及相應的消息隊列信息。②業務層與服務處理層之間存在一些異構系統,存在不同的消息格式和通訊協議,ESB層需對消息格式及通訊協議進行轉換。③ESB層根據路由表和訂閱表的隊列信息分析出該業務請求正確的路由方式,并將業務請求路由到服務處理系統。④消息依照路徑定義規則通過服務總線在業務層與服務處理層之間進行交換。⑤服務處理層系統將URI隊列信息寫入訂閱表,訂閱表會提供服務的選擇調用,服務處理系統根據訂閱表隊列信息將消息路由到相應的服務系統。
在基于動態消息路由的ESB應用架構中,動態消息路由是消息處理中心,所有消息的控制和管理都是由動態消息路由完成。某商業銀行存在三種消息路由方式如圖2所示:基于目的地址路由、基于主題路由和基于消息內容的路由。

圖2 動態消息路由方式
基于目的地址路由是業務系統通過分析路由表中系統的隊列信息,得出消息的目的地址,將服務請求發送給正確的服務處理系統。
基于內容的消息路由首先解析消息的內容,通過事先配置的路由規則和邏輯,由消息內容決定目的地址,能將每一條輸出的消息直接發送給正確的服務處理系統[3]。
基于主題的消息路由是通過發布訂閱模式進行消息通信,提供基于選擇器的訂閱方過濾功能,將發布方基于主題觸發的事件消息以廣播的方式一次發布給發布方指定的訂閱方系統,即服務處理系統。

圖3 基于主題消息路由
基于主題的消息路由包含如圖3三個重要組件:一是主題topics,它是發布方系統和服務總線通信的媒介,發布方根據其需要發布的事件消息內容在服務總線建立相應的主題,主題可以根據發布內容分層次建立。發布方系統通過主題向服務總線發送事件消息。二是訂閱subscription,它是服務處理系統和事件總線通信的媒介,每個訂閱可對應一個或多個主題。每個訂閱連接一個訂閱隊列,服務處理系統可從訂閱隊列中讀取其訂閱的主題的消息。三是選擇器selector,它是在創建訂閱時用于對該訂閱進行過濾的組件。通過在選擇器添加過濾條件可指定主題消息發送到指定訂閱的訂閱隊列中。
本文研究了基于動態消息路由的企業服務總線在商業銀行中的應用,以某商業銀行服務總線信息系統架構著手,逐一描述業務層、ESB層與服務處理層這三層架構,研究了商業銀行內ESB常用的動態消息路由方式,其中重點研究了基于主題的消息路由方式。通過實踐表明,采用基于動態消息路由的企業服務總線架構能夠有效提高消息路由響應能力,減少冗余消息,實現路由與流量的平衡,極大提高信息資源利用率。