基於ESB的SOA解決方案

2022-04-28 04:18:03 字數 4914 閱讀 4870

引言除了最簡單的解決方案以外,企業服務匯流排是所有基於面向服務的體系結構解決方案的核心組成部分。那麼 esb 究竟是什麼呢?您可以在整個 it 行業中找到許多定義。

本文章從ibm 的角度(或者更準確地說,是在 ibm soa foundation 的上下文中)定義企業服務匯流排。

本文章用抽象的術語討論 esb 並避免討論產品細節;也就是說,本系列不討論 ibm wedsphere esb 產品或 esb 模式的任何其他例項。這種與產品無關的方法可以提供乙個廣泛的基礎,以便了解 esb 為面向服務的解決方案帶來了什麼,以及評估作為此類解決方案組成部分的特定 esb 產品和相關技術。本文為整個系列奠定基礎,討論 esb 在 ibm soa foundation 中的定位,並描述 foundation 的其他部分如何與 esb 相關。

特別是,本文將確定 esb 的核心原則。最後,本文為您提供 esb 的初步內部細節,並說明 esb 如何實現這些核心原則。

ibm soa foundation 和 esb

ibm soa foundation 是乙個全面的體系結構和一組產品、技術和實踐,用於處理 soa 所包含的重要方面。soa foundation 描述了:

業務與 it 部門之間的整體關係

用於對業務設計建模的工具和方法

用於使用 it 系統來實現業務設計的工具、程式設計模型和技術

用於承載某個實現的中介軟體基礎設施

該實現的管理,以確保其對業務的可用性,並確保在執行該實現的過程中高效地使用各種資源

治理系統,用於控制業務設計方面的變更及其在 it 系統中的實現

要了解 soa 的全部價值,您需要從不同的角度研究 soa。類似地,必須從不同的角度研究 esb 的作用才能了解其全部價值。

圖 1 顯示了 soa foundation 參考體系結構邏輯模型檢視。該邏輯模型檢視對 soa 解決方案的功能基礎進行了分解。這個功能性的或以 it 為中心的檢視將 esb 描繪成乙個整合部分,此部分提供解決方案的其他 it 部分之間的互連。

圖 1. ibm soa foundation 參考體系結構邏輯模型檢視

圖 2 顯示了 soa foundation 參考體系結構解決方案檢視。這是乙個面向服務的解決方案的以業務為中心的檢視。請注意,esb 被描繪成乙個整合層,用於支援解決方案的業務組成部分之間的互連。

圖 2. ibm soa foundation 參考體系結構解決方案檢視

圖 1 和圖 2 都表明 esb 是 foundation 參考體系結構中的一種關鍵體系結構模式,並支援面向服務的解決方案中的服務請求者與服務提供者之間鬆散耦合的互連。鬆散耦合允許實現解決方案組成部分之間徹底的關注事項分離(時間、技術和組織上的分離),從而同時支援業務流程和 it 系統的靈活性和敏捷性。本文的其餘部分將詳述該體系結構模式的特徵以及如何能夠實現這些特徵。

esb 核心原則

圖 3 顯示了服務請求者、服務提供者和 esb 之間的邏輯關係。服務請求者和提供者通過交換訊息進行互動。充當互動中的邏輯中間層的 esb 提供了功能的請求者和功能的提供者之間鬆散耦合的互連。

esb 作為邏輯中間層的角色允許截獲訊息,並在訊息在服務請求者和服務提供者之間流動時對訊息進行處理。該處理稱為中介。

圖 3. 服務虛擬化

務必要了解 esb 體系結構模式可以通過不同的方式物理地實現。在圖 1 中,esb 作為集中的集線器出現,並且該體系結構模式在許多解決方案中的物理實現事實上都是乙個物理集線器。圖 3 試圖說明該體系結構模式可以具有不同的物理實現;例如,可以分散 esb,以便能夠在服務請求者環境、服務提供者環境、集中的集線器環境(或者是那些實現的任何組合)中物理地通過中介進行傳遞。

(在本系列的後續各期中,您將了解有關各種 esb 拓撲的更多詳細資訊。)

對各種型別的中介的支援使 esb 可以滿足支援關注事項分離的兩個核心原則:服務虛擬化和面向方面的連線。第乙個原則(服務虛擬化)指的是 esb 在服務互動期間虛擬化以下內容的能力:

協議和模式。 互動參與者不需要使用相同的通訊協議或互動模式。例如,某個請求者可能需要通過某種固有的同步協議進行互動,而服務提供者可能需要使用某種固有的單向協議進行互動,並使用兩個相互關聯的互動。

esb 提供所需的轉換以遮蔽協議和模式切換。

介面。服務請求者和提供者不需要就用於互動的介面達成一致。例如,請求者可以使用一種形式的訊息來檢索客戶資訊,提供者可以使用另一種形式的訊息。esb 提供所需的轉換以協調差異。

身份。互動中的參與者不需要知道互動中的其他參與者的身份(例如,位址)。例如,某個請求可能由不同物理位置的多個潛在提供者中的任何乙個來滿足,而服務請求者不需要意識到這一點。

實際提供者僅對 esb 可知,並且事實上可以更改而不影響請求者。esb 提供所需的路由以隱藏身份。

第二個核心原則是面向方面的連線。面向服務的解決方案包括多個橫切方面 (cross-cutting aspect),例如安全性、管理、日誌記錄和審核。esb 可以代表服務請求者和提供者實現或執行橫切方面,從而從請求者和提供者的關注事項中消除此類方面。

面向方面的連線和更熟悉的面向方面的程式設計概念之間的相似性是非常明白的,並且在不同的上下文中提供了同樣的價值。

通過中介應用這些核心原則使得 esb 可以影響互動中的服務質量。可以通過抽象讓參與者不必了解互動的某些方面。例如,可以考慮審核:

如果某個解決方案需要審核,esb 可以向互動中新增審核而不影響參與者。類似地,esb 可以通過使用自己的虛擬化功能來重試失敗的互動,從而新增或增強服務級別協議,或者在更複雜的情況下,esb 可以將請求者的要求與提供者的功能進行匹配。不過存在相關的限制,因為互動的某些方面是無法抽象的。

例如,如果 esb 無法可靠地與參與者之一進行互動,則 esb 就無法提供可靠的端到端互動。

esb 核心原則示例

某銀行有乙個必須檢查信用記錄的現有應用程式。該銀行正在自動化其信用檢查流程,並將使用乙個業務合作夥伴的信貸審批 web 服務。該現有的應用程式使用乙個通過 mq 的文字訊息和乙個相關聯的響應,從而與當前信用檢查系統進行互動。

考慮該銀行的 esb 中的乙個能夠完成以下任務的中介:

偵聽 mq 佇列並將相關聯的響應傳送到 mq 佇列

將現有應用程式中的文字訊息轉換為與合作夥伴的信貸審批模式相容的訊息,並執行反向轉換。

與安全基礎設施互動以插入必要的安全資訊

呼叫業務合作夥伴的 web 服務並留下已做的審核跟蹤

作為該銀行的面向服務的體系結構的一部分實現 esb 可以提供以下好處:

現有的應用程式邏輯不會更改。如果 esb 可以使用該應用程式原先使用的相同 mq 佇列,則配置也不需要更改。

審核跟蹤支援與合作夥伴之間的業務協議的協調。

如果業務合作夥伴的服務不滿足其服務級別協議,該銀行可以通過在 esb 中修改路由和轉換以切換到新的服務提供者,而不會干擾使用該服務的客戶端應用程式。

邏輯模型的以 esb 為中心的檢視

本文前面乙個部分已將 esb 在整個 soa foundation 範圍中進行了定位(請參見圖 1 和圖 2),並且主要以從外到內的角度研究 esb。下面將以從內到外的角度研究 esb。圖 4 描繪了 esb 與該參考體系結構邏輯模型的其他部分之間的許多重要關係。

圖 4. 邏輯模型的以 esb 為中心的檢視

應用程式邏輯與整合邏輯的比較

請注意,有幾個 soa foundation 部分通過 esb 互連,即互動、流程、資訊、合作夥伴、業務應用程式和訪問服務。這些部分已分組到單個標籤為應用程式服務的類別中,該類別定位在 esb 外面。分組為應用程式服務的 foundation 部分用於實現不同形式的服務請求者和服務提供者。

這是解決方案中的應用程式或業務邏輯,旨在實現特定於領域的業務目標。esb 實現解決方案中的連線或整合邏輯。此邏輯執行服務虛擬化和面向方面的連線,旨在實現應用程式服務之間隨需應變的互連。

在理想的面向服務的解決方案中,應用程式和業務邏輯與連線和整合邏輯之間的分離是「徹底的」,意味著服務請求者和服務提供者(應用程式服務)不包含連線或整合邏輯,並且 esb 不包含應用程式或業務邏輯。只有通過架構這種徹底的分離,企業才能實現從 soa 中尋求的靈活性、敏捷性和重用。

有時很難在應用程式和業務邏輯與連線和整合邏輯之間進行區分。不存在嚴格的指導原則,事實上,具體的選擇可能取決於企業的性質甚至是企業中的特定情況。乙個通常有效的指導原則是利用語義和語法之間的區別。

應用程式和業務邏輯建立、讀取、更新或刪除與實現業務目標相關聯的語義。相反,連線和整合邏輯僅修改與實現必要的互連相關聯的語法。乙個相關的指導原則是利用互動特徵。

應用程式和業務邏輯是主動的,因為此邏輯建立或使用服務互動中使用的訊息(請求和響應); 連線和整合邏輯是被動的,因此此邏輯只是對業務邏輯生成的訊息做出反應,並且只是將訊息從乙個參與者移動到另乙個參與者。

應用程式/業務邏輯與連線/整合邏輯示例

某銀行可能有乙個必須使用 web 服務呼叫來檢查信用記錄的新應用程式。該銀行希望使用兩個信用報告服務之一作為兩個業務合作夥伴的任何乙個的 web 服務,其中任何乙個服務都無法確切匹配該銀行的信用記錄資料模型。該銀行希望使用第乙個業務合作夥伴的服務,除非該服務不可用。

新的應用程式確定何時呼叫信用記錄服務,並使用該銀行的資料模型來呼叫該服務。此示例中的應用程式/業務邏輯由該新應用程式加上兩個信用報告服務組成。此示例中的連線和整合邏輯由必需的處理組成,以將信用記錄模型轉換為適合於所呼叫的信用記錄服務和故障轉移的模型,以便在第乙個服務失敗時呼叫第二個業務合作夥伴;此邏輯作為中介嵌入在 esb 中。

管理服務

請注意,面向服務的解決方案的一些重要功能(尤其是作為任何面向服務的解決方案組成部分的管理服務)也定位在 esb 之外。這是因為諸如安全性和 it 管理等功能具有解決方案級別的範圍,並且需要解決方案的組成部分之間進行超出 esb 範圍的協調和合作。

請注意,esb 並不提**用程式服務和管理服務之間的連線,並且可以在沒有 esb 參與的情況下保護和管理解決方案。esb 在保護和管理解決方案方面發揮顯式的主動作用是可能的,並且經常是可取的。在此情況下,安全和管理策略由 esb 之外的策略管理點設定,並且適合於將 esb 視為此類策略的策略執行點。

因此,雖然策略是使用與 esb 沒有直接關係的管理和安全服務來設定的,但是 esb 幫助執行該策略。結果,管理服務的特徵就是鬆散耦合到 esb。

基於IP網路的解決方案

基於ip網路的解決方案 數字聯網 裝置之間的多元化ip聯網 ab8198 b系列嵌入式硬碟錄影機整合了多畫面分割顯示 移動檢測 影象壓縮編碼 解碼 數字錄影 回放 影像資料管理 資料備份 還原 雲台 鏡頭控制 高速球型攝像機控制 服務 音訊服務等多種功能。在ab數位化網路產品中,ab8198 b作為...

基於eSRVCC的VoLTE語音解決方案

csfb方案 終端開機駐留在lte網路,進行語音業務時回落到2 3g網路,待通話結束後再重選返回lte網路駐留。該方案通過在mme和msc建立sgs介面,處理lte域和cs域之間的移動性管理和尋呼流程。缺點在於回落導致的切換時延過長 最多達15秒 而且終端在lte網路下的資料業務會中斷,影響使用者感...

烽火通訊基於GEPON的FTTH解決方案

烽火通訊科技股份 2006 3 29 pdf 檔案使用 pdffactory pro 試用版本建立w 引領光纖接入潮流 光纖接入以其無可比擬的諸多優勢歷來被認為是固網接入發展的終極目標,現在烽火憑藉其在ftth 領域的深厚積累,推出了基於gepon 的ftth 解決方案,將曾經的夢想變成現實。光纖接...