摘 要: 詳細地論述SOA及企業服務總線的基本概念、工作原理,借助IBM消息中間件MQ和總線產品MB為商業銀行分析設計出面向服務架構的企業服務總線,打造一個隨需而變的銀行SOA企業應用平臺,以應對不斷變化的市場環境和用戶需求。
關鍵詞: 面向服務架構; 企業服務總線; 集成
目前,我國銀行建設處于快速發展期,銀行業務不斷更新,銀行客戶對服務質量的要求也不斷提高,銀行與客戶之間的關系將由單純的買賣關系逐漸向復雜的服務關系轉變。隨著銀行服務功能的增多以及銀行客戶需求的不斷變化,許多銀行通過增加各種渠道來拓寬自己的市場。然而,零售銀行多渠道趨勢雖然豐富了銀行的渠道供給和服務品質,但同時也給銀行和客戶雙方帶來了產品之外的渠道問題,更給現有銀行的IT架構帶來了新的問題和挑戰。客戶在使用銀行多渠道產品時往往會碰到一系列的問題,比如:
(1)渠道之間信息不共享。某客戶開通銀行賬戶時,已經填寫了個人信息,但是在網上開通時還是要求該用戶輸入很多重復的個人信息。
(2)渠道之間沒有很好的連貫性。某客戶丟失了信用卡,第一時間通過網上銀行進行了信用卡掛失操作后,緊接著打電話向銀行說明,可是卻發現該客戶并沒有掛失操作,因為銀行客服人員不知道如何在網上銀行渠道上進行業務操作。
(3)渠道之間的數據信息缺乏一致性。某客戶在自動存款機上往個人賬戶存款人民幣一千元,提示存款操作成功,但是查詢賬戶余額,卻發現個人銀行賬戶里還是原來的一百元。
針對這些問題和挑戰,銀行業需要對原有的業務渠道進行重新整合。近年來風靡全球的面向服務架構SOA (Service-Oriented Architecture)提供了解決之道——其不考慮平臺和開發環境的差異,能實現銀行現有各業務模塊的重用,并將這些系統有機地整合以實現信息的共享和交互,使之成為一個靈活、開放、高效和可靠的系統。此系統全面整合前端渠道、中間業務平臺和各個業務系統子模塊,不僅可以解決當前銀行IT系統更新換代問題,而且也符合銀行業務未來的發展需求。
1 面向服務架構、企業服務總線
1.1面向服務架構
維基百科將面向服務的架構解釋為:它是一種軟件架構的概念,定義了通過使用各種各樣的服務來滿足軟件用戶不斷變化的需求。在面向服務的架構環境中網絡上的結點通過服務的形式向外部提供資源,其他結點就可以用標準的方式來訪問[1]。
Gartner公司認定面向服務的架構為:它體現客戶端/服務器的軟件架構思想,但它的客戶端/服務器顯著區別在于它重視整個系統中組件之間松散耦合[2]。
從上述的這些定義中不難看出:面向服務的架構是組織服務的一種架構模式,支持面向服務的特征。面向服務的架構主要包括應用程序前端、服務、服務存儲庫和服務總線四部分,其關系如圖1所示[3]。應用程序前端相當于客戶端,它初始化面向服務的架構的應用。服務則包括服務合同、服務實現和服務接口,而服務實現又包括業務邏輯和數據。服務儲存庫則是存儲服務的地方,同時也提供了各種發現的機制,以快速地定位所需要的服務。服務總線則提供了服務之間通信的基礎架構,它提供了各種通信的可能,屏蔽了技術和平臺之間的差異,同時也提供了一些基礎服務。
1.2 企業服務總線
企業服務總線ESB(Enterprise Service Bus)就是在特定環境下,即SOA架構中,實施EAI的一種方式。其實,企業服務總線是傳統中間件技術與XML、Web服務等技術結合的產物。ESB是一種在松散耦合的服務與應用之間標準的集成方式,它提供了網絡中最基本的中樞,是構筑企業神經系統的必要元素[4-5]。
企業服務總線運用SOA松耦合的思想對企業運用進行集成,借助靈活的服務接口和易用的Adapter為企業應用創建一個統一的平臺,方便SOA應用和遺留系統的集成,同時其強大的可擴展性也顯露無疑,其架構如圖2所示。
從物理角度來看,企業服務總線是使用Web服務、消息中間件、智能路由和格式轉換的架構;從邏輯角度來看,企業服務總線與SOA架構的原則相一致,并給出了如何更好地管理服務的解決辦法,以及在分布式環境中如何很好地進行服務交互的功能。企業服務總線采用分級的層次結構,用來連接不同業務領域的客戶群[6]。
1.3 面向服務架構與企業服務總線關系
隨著SOA技術的發展,企業服務總線的應用也變得更加廣泛。在SOA的架構體系中,ESB被看作是整合企業中各種異構軟件的一個集成平臺,是服務提供者及消費者的媒介,所提供的服務具有中介作用。
企業服務總線作為面向服務架構體系的整合平臺,被看作是整個系統架構中的核心部分。企業服務總線和面向服務架構是相輔相成的,沒有所謂的一方重要,另一方次要,二者都是很重要的。只有有了企業服務總線,面向服務架構才能釋放它的最大價值,從而使二者的功能發揮到最佳狀態。
2 企業服務總線分析和設計
2.1開發平臺介紹
IBM消息中間件產品WebSphere Message Queue具有統一的標準、高穩定性和高安全性等特性。WebSphere Message Queue中的主要操作對象是消息和隊列。它借助在相異的子系統中不斷流動的消息,來高效地實現對各個子系統的串聯,充分利用各個松散耦合的子系統向外面暴露的功能,從而完成某個商業應用的整個工作流程[7]。
IBM業務集成中間件產品WebSphere Message Broker,是一種“企業服務總線”產品,采用MQ作為內部通信機制,支持各種應用接口和網絡協議,為企業應用提供豐富多樣的接入方式。同時,通過方便快捷的編程方式來提供消息路由、格式轉換和服務封裝等功能,更重要的是為企業系統的應用互連提供方便、高效和安全的平臺[8]。
2.2 企業服務總線在銀行系統架構中的地位
為了實現對銀行業務多渠道整合,將企業服務總線在整個銀行IT集成系統中設計兩層。頂層的ESB用于整合銀行的交易記錄,連接銀行內部和外部網絡;底層的ESB用于整合銀行系統數據庫中的所有數據,它與銀行的信息管理系統、信息倉庫及分析決策系統連接;當然,為了以后業務的拓展,ESB要與銀行的其他系統相連。銀行IT系統集成整體框架圖如圖3所示。
低層通信則是采用IBM公司生產的消息中間件WebSphere系列的WebSphere Message Queue來實現消息之間的通信。不同機器上的不同隊列管理器之間建立傳輸隊列、發送通道、接收通道實現互連通信,其企業服務總線運行示意圖如4所示。
2.3企業服務總線在銀行系統架構中的功能
銀行IT系統集成中的企業服務總線包括請求與響應方報文校驗、交易動態路由、請求與響應方協議轉換、共享緩存、交易異常處理、請求與響應方編碼轉換、交易日志管理、請求方訪問控制、交易超時控制、文件傳輸等功能模塊,具體如圖5所示。
2.4 企業服務總線的實現
根據系統功能模塊的設計,系統功能模塊通過三條消息流具體實現。第一條消息流是服務請求者發出SOAP請求消息接收、處理,最后動態路由到相應的服務提供端;第二條消息流是對服務提供者處理完后的相應消息進行接收、處理,最后動態路由到相應的服務請求者;第三條消息流是當服務提供端向注冊庫中發布新的服務后,該消息流會被觸發,自動刷新緩沖存儲器中的相應配置信息。整體消息流結點部署如圖6所示。
通過開發部署企業服務總線,銀行IT部門可以快速地、最大程度地重用現有子系統資源,既節省了開發時間,又省去了大量的費用,面對市場客戶不斷變化的需求和IT業界技術更新,行內整個IT系統也能應對自如、隨需而變。目前,該系統已經完成各種測試和部署,整體運行良好,受到客戶的好評。面對國內許多大中小型企業內部IT系統的現狀,該理念和技術非常具有實際意義和推廣價值。
參考文獻
[1] 陳宇翔.精通WebSphere MQ[M].合肥:安徽科學技術出版社,2004.
[2] 甘荃,婁麗軍. IBM WebSphere MQ基礎教程[M]. 北京:電子工業出版社,2004.
[3] 張寶珠. 基于面向服務架構的應用集成研究天津[D].天津:理工大學, 2008.
[4] 趙亮,史維峰.基于SOA的企業服務總線技術研究與應用[J].計算機應用與軟件,2009,26(5):123-124,141.
[5] 牛剛,張忠能.輕量級ESB研究與設計[J]. 微型電腦應用,2009,25(2):14-16.
[6] 丁昭華.基于ESB的企業應用集成技術研究與應用[D].長沙:中南大學,2007.
[7] 李珉.ESB企業服務總線解決方案剖析[EB/OL].(2006-12-xx)http://tech.51cto.com/art/200612/36357.htm.
[8] 蔡昭權.基于ESB的異構系統集成實現[J].計算機應用,2008,28(2):38-54.