對ESB概念的理解

2021-07-12 03:42:37 字數 3456 閱讀 8133

什麼是 esb?esb 嚴格來說不是某乙個產品,而是一種框架,設計模式。不同的提供商對 esb 的理解也各有不同。從 ibm 的立場來說,esb 不僅僅是乙個概念,而是一種中介軟體模式;它不是某個產品,而是一種全新的整合應用,協調資源和操縱資訊的框架。

下面來介紹 esb 或可以稱為 esb 的中介軟體產品保護一些特徵,有些是必須的,有些是可選的:

連線性esb 必須提供一種支援服務互動的橋梁,它必須支援多協議 (protocol) 之間的連線。不僅要提供對訊息和面向事件的中介軟體的支援,還要提供和現有 eai 技術的連線。連線性是 esb 不可缺少的特徵之一。

服務互動

服務互動可以理解為 esb 的乙個目的之一,esb 作為 soa 架構的核心,必然要支援服務的互動,要在服務的請求者和提供者架起乙個堅實的橋梁,讓服務的請求者和提供者只需要關心各自的業務邏輯,而不需要在發布和消費服務的環節花很大力氣。服務互動也是 esb 的必備特徵。

整合整合的概念是對於系統而言的,esb 不僅要能整合那些很容易封裝服務的系統,也要整合不能方便地封裝服務的系統,例如 sap, erp, crm, siebel 等 eai 系統、遺留系統。整合也是 esb 的核心特徵之一。

訊息處理

管理對於乙個具有 esb 特徵的產品,管理也是乙個重要的方面。例如,當乙個服務從乙個位址切換到另乙個位址,在結構等不發生任何改變的時候,esb 產品應該提供乙個方便的途徑適應這種改變。

qos對於服務互動來說,qos 也是乙個重要的特徵,比如針對不同的服務請求者提供不同質量的服務響應。有些服務的請求需要在事務中完成,有些服務的互動需要保證其可靠性。乙個 esb 產品應該提供給開發者定義 qos 的介面。

安全安全的必要性不言而喻,系統和系統之間的互動必然需要認證,授權,加密,簽名等安全性。乙個優秀的 esb 產品應該提供可靠的,可靈活配置的安全支援。

下面對這三款 esb 產品比較:

總結,wesb 適用於 j2ee 環境下,對效能要求不是很高的,標遵循標準協議的 soa 整合;wmb 應用更複雜的整合環境,表現為資料格式多種,傳輸協議多樣,效能要求很高;而在安全和效能要求都很高的應用場景下,選擇 datapower 無疑是最好的選擇。下面的圖表再次對文中的描述進行總結。

esb 功能特點

wesb 的支援

mb 的支援

datapower

訊息轉換

xmlxml、非 xml

xml、非 xml

支援的協議

http,jms, wmq 等

多達上百種

介於前二者之間

訊息路由

強大,靈活

功能強大,靈活

靈活度比前二者稍弱

web service

強大的支援

支援 ws 擴充套件

強大的支援

事件處理

cei,可以和外部事件消費系統監控

trace service

用於除錯 probe

遺留系統的整合

adapter

豐富的 supportpac

特定的遺留系統

安全依賴 was 的安全

部署和執行時兩個級別的安全

超強的安全支援

效能幾十到幾百每秒

幾千到幾萬每秒

達到線速

開發和部署

wid 整合開發環境

wmb toolkit

webgui

websphere esb 與 sibus 的比較:

1.was v6中的服務整合匯流排 (sibus) 技術可以建立esb。

2.esb 的基本功能回顧

總的來說,esb 通過一組豐富的功能(包括智慧型路由、協議中介和其他轉化機制)整合服務,實現對應用程式之間互動的管理和監視,從而提供了在企業內部和企業之間連線新的和現有軟體應用程式的功能。esb 支援服務視覺化,從而在服務請求者和服務提供者之間提供了多方面的分離。

以下是比較關鍵的esb 功能

1).首先,esb 能夠通過各種方式與服務請求者和服務提供者互動:可以通過永續性訊息中樞(特別是 mq)傳送和接收訊息,並能夠通過 http 和 jms傳送和接收 web 服務請求和響應訊息。

2).其次,能夠在不同訊息和傳輸協議之間轉換,如將 http 上的 soap 轉換為 jms 上的 soap。

3).然後,能夠使用流行的轉換語言 xslt 轉換 xml 訊息。

4).能夠應用訊息中介(如日誌記錄)。提供高階功能包括訊息的監視、在服務註冊中心中查詢端點和非同步請求/響應。

3.esb 的現有功能:

1).esb 非常重視標準,可以對 xml 和 soap 提供一流的支援。

2).esb 的核心是中介流元件,它是特定型別的 sca 元件,支援sca/sdo 程式設計模型。可以使esb與wps元件輕鬆整合。

3).esb 需要sdo 的擴充套件——服務訊息物件(service message objects,smo)——它使我們能夠訪問所需的訊息上下文和內容。

4).esb 需要xslt轉換語言轉換 xml 訊息。

5).需要連線不支援現成的 soap 或 xml 的現有系統時,websphere adapters 可以為我們節省許多開發時間,因為可以將它們用作能夠「連線」到 websphere esb 中介的另乙個 sca 元件型別。

4.esb 與 sibus 的比較

1).esb 和 wid 提供了 sibus 沒有的功能,sibus配置過程可能非常麻煩;esb 可以通過wid進行視覺化中介流元件的開發。esb 支援不同的互動模式與請求和響應訊息的自動關聯。sibus只能通過**實現,開發速度無法比;

2).esb的預設 jms 提供程式即sibus的jms 提供程式,esb基於was,esb安裝也自動含有sibus功能。

3).sibus 中介和 esb 中介之間的差異,二者的中介框架實現、api、包裝和管理模型是不同的。sibus 和 esb 將 sdo 用作通過匯流排的訊息流的表現機制。但esb使用稱為 service message objects (smo) 的 sdo 擴充套件。

4).將 sibus mqlink 與 websphere esb 一起使用,sibus 通過其 mqlink 功能提供到 mq 的連線,esb 也可以使用mq sca 本地繫結連線mq。

5).sibus 和 websphere esb 基礎結構的共存和整合,esb 和 sibus 可以共存,並且可以互相遷移。

面向 esb 的體系結構:一種錯誤的採用 soa 的方式

面向 esb 的體系結構並不帶來業務價值。基於面向 esb 的體系結構的專案需要成為基於 soa 的專案,才能幫助確保成功地提供業務價值。

soa 的主要目標是在業務領域與 it 領域之間保持一致,從而同時提高二者的效率。soa 基於業務需求。soa 可保持 it 與業務的一致性,所以soa還要有很複雜的分析,而esb並不需要業務需求來實現服務匯流排。esb是在真正需要的時候實現所需的內容,而不要在預計會使用時進行實現。

參考:2.html

ESB的幾個基本概念

京 星之淚 請教乙個問題 esb中路由和管道對的概念應該怎麼理解,各自有什麼用途,他們之間的關係 北京 kimmking transport endpoint inbound outbound router channel transport一般對應於物理的傳輸通訊,系統內外間的接入點 endpoi...

怎麼理解ESB(純屬個人理解)

背景,隨著公司系統越來越多,系統之間的互動也越來越多,如果服務之家沒有相應的管理支撐的話,將會出現各種點對點,混亂不堪,對於服務之間的解決方案有很多種,這裡介紹下,目前公司用到的,基於soa思想的esb,企業服務匯流排。esb 同步過程可以理解為中介或者 類似 非同步可以理解為快取資料庫,所有客戶端...

對C 流概念的理解

在計算機程式設計中,流就是乙個類的物件,很多檔案的輸入輸出操作都以類的成員函式的方式來提供。計算機中的流其實是一種資訊的轉換。它是一種有序流,因此相對於某一物件,通常我們把物件接收外界的資訊輸入 input 稱為輸入流,相應地從物件向外輸出 output 資訊為輸出流,合稱為輸入 輸出流 i o s...