導(dǎo)言
本篇主要介紹企業(yè)服務(wù)總線ESB,中培偉業(yè)IT常青樹認(rèn)為ESB是基于SOA理念的實現(xiàn)方式,其重點解決了企業(yè)信息化中集成共享方面的難題。文中通過對ESB定位和目標(biāo)的闡述,提出構(gòu)建基于ESB的整體架構(gòu),并結(jié)合IT常青樹在項目實踐中的體會,給予企業(yè)架構(gòu)師在實施ESB方面的相關(guān)建議。全篇力求采用簡潔、易懂的文字來闡述復(fù)雜信息共享成話題,并給出實踐中的體會和建議,相信身為讀者的你一定跟我一樣受益匪淺。
背景
為了滿足業(yè)務(wù)需求,在不同的歷史時期,企業(yè)建設(shè)了一些功能獨立的信息系統(tǒng)。在業(yè)務(wù)整合的驅(qū)動下,應(yīng)用間的通信、數(shù)據(jù)交換的需求越來越強烈。傳統(tǒng)獨立建設(shè)的豎井式應(yīng)用架構(gòu),應(yīng)用集成一直是企業(yè)信息化建設(shè)中的難題。再則,獨立的大型單體應(yīng)用適應(yīng)業(yè)務(wù)的變化難、應(yīng)用變更風(fēng)險大,已經(jīng)越來越不能適應(yīng)業(yè)務(wù)發(fā)展,需要有一種有效的手段對大型單體應(yīng)用進(jìn)行分拆、集成,來加強應(yīng)用系統(tǒng)的靈活性和可管理性。另外,企業(yè)要快速響應(yīng)業(yè)務(wù)變化,需要重用已有的資源,企業(yè)需要以何種形式重用和管理現(xiàn)有資源。
要解決以上問題,SOA指明了正確的方向,企業(yè)需要新一代的IT架構(gòu),改變內(nèi)部系統(tǒng)復(fù)雜的網(wǎng)狀交互關(guān)系,系統(tǒng)間的交互需要透明化管理;將已有可重用的資源服務(wù)化,并管理這些服務(wù)資源。
企業(yè)服務(wù)總線(Enterprise Service Bus,簡稱ESB)是企業(yè)應(yīng)用集成在SOA理念下的一種實現(xiàn)方式,通過它解決異構(gòu)系統(tǒng)間的集成問題,實現(xiàn)業(yè)務(wù)系統(tǒng)之間的互聯(lián)互通,承擔(dān)著IT系統(tǒng)“信息高速公路”的重任。同時,ESB還可以承擔(dān)企業(yè)服務(wù)交換管理的重任,幫助實現(xiàn)服務(wù)的重用。
ESB的定位和目標(biāo)
ESB是企業(yè)應(yīng)用集成在SOA理念下集成架構(gòu)的核心,是應(yīng)用系統(tǒng)之間實時信息交換的樞紐,屬于集成平臺類。
ESB基本功能有兩點,其一是實現(xiàn)無狀態(tài)、高吞吐的服務(wù)總線,總線形式有效改善系統(tǒng)之間調(diào)用的網(wǎng)狀關(guān)系,簡化了異構(gòu)環(huán)境下應(yīng)用、數(shù)據(jù)、信息的互連互通,通過它還可以提高應(yīng)用集成的管控能力,使得系統(tǒng)之間的關(guān)系可視化和可管控。其二是依據(jù)SOA架構(gòu)原則,具有服務(wù)管理能力。企業(yè)已有的IT能力以開放的、標(biāo)準(zhǔn)的服務(wù)方式暴露出來,通過ESB的服務(wù)管理能力,使得服務(wù)消費者能夠便利地查找到服務(wù),實現(xiàn)服務(wù)重用,提高IT資源的利用率。
此外,由于各方系統(tǒng)的對外集成行為都會被ESB服務(wù)中介所跟蹤和審計,ESB可以做為第三方仲裁方,從而避免因為各方系統(tǒng)中數(shù)據(jù)的不一致而導(dǎo)致不必要的糾紛,具有很好的協(xié)調(diào)和管理能力。
ESB架構(gòu)
ESB是部署和實現(xiàn)SOA的理想工具,為了“信息高速公路”的能力,需要具有協(xié)議轉(zhuǎn)換、消息轉(zhuǎn)換、消息路由、接口適配、流量控制等功能;為了實現(xiàn)服務(wù)管理的能力,需要具有服務(wù)目錄、服務(wù)注冊、服務(wù)訂閱、服務(wù)監(jiān)控等功能。
服務(wù)管理
服務(wù)目錄指ESB具有服務(wù)目錄的管理能力,可以對服務(wù)分類,能夠按照所屬機構(gòu)、所屬業(yè)務(wù)單元、所屬業(yè)務(wù)模塊等業(yè)務(wù)屬性靈活的進(jìn)行服務(wù)目錄的創(chuàng)建、維護和權(quán)限分配;服務(wù)注冊指ESB接受服務(wù)提供者注冊服務(wù);服務(wù)訂閱是服務(wù)發(fā)布后,能夠給消費端提供頁面入口,可根據(jù)服務(wù)名稱、所屬應(yīng)用、所屬機構(gòu)等信息快速查詢出服務(wù)相關(guān)信息;服務(wù)監(jiān)控是指ESB提供可視化手段,監(jiān)控服務(wù)提供者和服務(wù)消費者的運行狀態(tài)。SLA是指具備對服務(wù)的運行質(zhì)量進(jìn)行監(jiān)控,能夠?qū)Ψ?wù)定義監(jiān)控規(guī)則,比如響應(yīng)時間超過2秒,并能夠?qū)Σ环弦?guī)則的服務(wù)進(jìn)行即時預(yù)警等。
應(yīng)用集成
應(yīng)用集成包括協(xié)議轉(zhuǎn)換 (WebService,Http,JMS...)、消息轉(zhuǎn)換 (轉(zhuǎn)換、充實、過濾...)、消息路由 (同步/異步、發(fā)布/訂閱、基于內(nèi)容路由、分支與聚合...)等的能力,流量控制是指ESB具有分級流量管理的能力;服務(wù)組合是指ESB根據(jù)業(yè)務(wù)策略,可以進(jìn)行一定程度的服務(wù)疊加組合。
基礎(chǔ)服務(wù)
接口適配是指ESB集成多種企業(yè)應(yīng)用中常見的適配器,比如支持結(jié)構(gòu)化和非結(jié)構(gòu)化文件讀寫的文件類適配器、支持多種數(shù)據(jù)庫訪問的數(shù)據(jù)庫類適配器、支持多種通訊協(xié)議(WebService、FTP)等通訊類適配器;資源分配是指ESB根據(jù)配置策略,進(jìn)行基礎(chǔ)資源的分配;超時機制和異常處理機制指ESB在超時和異常情況下的處理策略;擴展機制是指ESB能夠適應(yīng)個性化的特殊情況,靈活地增加屬于特定領(lǐng)域的專有協(xié)議。
對企業(yè)搭建ESB平臺的建議
ESB是企業(yè)的信息高速公路,是SOA服務(wù)化的拓展,企業(yè)建設(shè)ESB平臺時,從“信息高速公路”的角度,IT常青樹團隊建議重點考慮如下方面,包括協(xié)議轉(zhuǎn)換能力、產(chǎn)品架構(gòu)等,具體如下:
協(xié)議轉(zhuǎn)換能力
協(xié)議轉(zhuǎn)換是ESB作為中介的重要體現(xiàn),是ESB的重要評價指標(biāo)。企業(yè)應(yīng)用接口是一個收斂的、標(biāo)準(zhǔn)化的過程。因此ESB應(yīng)能直接支持業(yè)界普遍的標(biāo)準(zhǔn)協(xié)議,包括直接支持國內(nèi)企業(yè)信息化建設(shè)過程中普遍采用的SOAP/HTTP、JMS、Http/Https、Socket、JDBC等標(biāo)準(zhǔn)協(xié)議,從而體現(xiàn)ESB作為企業(yè)IT架構(gòu)中基本中介的功能。
此外,企業(yè)在引入ESB之前,往往已經(jīng)存在部分老舊系統(tǒng),為了能夠適應(yīng)個性化的特殊情況,ESB應(yīng)基于可擴展的多協(xié)議架構(gòu),可以靈活地增加屬于特定領(lǐng)域的專有協(xié)議。
ESB產(chǎn)品架構(gòu)
ESB作為企業(yè)內(nèi)部重要的基礎(chǔ)設(shè)施,是應(yīng)用系統(tǒng)集成的中樞,系統(tǒng)投入運行后即作力關(guān)鍵生產(chǎn)系統(tǒng),這樣就會對ESB的健壯性和高性能提出了很高的要求。不然一旦單點出現(xiàn)問題就會對IT所支撐的企業(yè)核心業(yè)務(wù)產(chǎn)生影響。對性能具有極高的要求,因此要求在服務(wù)的運行中能高效的進(jìn)行服務(wù)調(diào)用和消息處理,在高吞吐量、高并發(fā)下依然能夠穩(wěn)定運行。
因此選擇的ESB產(chǎn)品應(yīng)能支持多線程處理、集群部署、類似分段事件處理的穩(wěn)定架構(gòu),具有很高的容錯及故障恢復(fù)能力。
總結(jié)
ESB之所以是SOA架構(gòu)的核心,除了承擔(dān)“信息高速公路”、解決異構(gòu)系統(tǒng)間的互聯(lián)互通,更因為它的業(yè)務(wù)價值,它基于開放的Web服務(wù),實現(xiàn)了服務(wù)的重用,有利于信息化服務(wù)的沉淀和積累,提高了IT資源的利用率。
企業(yè)引入ESB后,需要堅持標(biāo)準(zhǔn)化的建設(shè)模式,遵循SOA的標(biāo)準(zhǔn)原則和體系,應(yīng)用之間通過統(tǒng)一服務(wù)的方式進(jìn)行信息的交互,為實現(xiàn)標(biāo)準(zhǔn)化集成提供基礎(chǔ),并積極制訂相關(guān)的標(biāo)準(zhǔn)和管理規(guī)范。