企業 SOA 設計 1 ESB 設計

2021-09-06 16:33:27 字數 2148 閱讀 7368

最近為公司完成了乙個 esb 的設計。下面簡要說明一下具體的設計方案。

企業 soa 整體方案

在前一篇《soa、esb、nservicebus、雲計算 總結》中說到,soa 是面向服務的架構,其核心思想是把業務進行元件化,而業務元件的能力服務化。

我們的整個 soa 的設計分為兩個層面:乙個是系統間的 soa 設計,另乙個則是單個系統內的 soa 設計。系統間的 soa 設計,主要是設計乙個 esb 系統來實現各業務系統間的互動。而系統內部的 soa 設計,則是建立乙個元件化的技術平台,使得系統的開發能以乙個個業務元件的形式完成,並通過技術平台來實現各業務元件的組合與互連。

一般說的 soa 設計,都是在講如何進行系統間的互連,例如如何進行 esb 的設計。但是,不論是系統間互連,還是系統內部的元件化,其實都是 soa 思想在不同層面上的體現。而我認為,應用系統內部的 soa 設計,會更重要。因為它不但是乙個低耦合、高復用的產品設計,而且也為系統間的 soa 提供了更好的支援。

esb 目標功能

在前一篇中,列出了乙個較完整 esb 應有的功能。soa 不但包括簡單的系統間互邊的功能,也應該包含更高階的 bpm 業務流程編排的功能。

下面,簡單列出了我們對於我們的 esb 的功能樹:

圖中,功能按優先順序進行了排序。第乙個階段,只會實現其中紅色的部分。而服務編排,則放到了最後。紅色部分,是乙個 esb 應該具有的最小功能集。在互動模式部分,我選擇了實現『響應/請求』模式,這種互動方式在系統間互連時場景相對較少,但是不需要引用 msmq 等功能,所以實現起來會更簡單。

esb 主體設計

esb 詳細設計

首先,規劃出 esb 整個系統內部的所有元件。

adapter:協議的介面卡元件。

service invoker:服務的同步呼叫器。

async invoker:非同步方式的同步呼叫器。

service mocker:這個元件用於實體 esb 的服務可以以 ws 等方式暴露。

esb message:esb 內部的訊息結構體。

service registry:服務的註冊庫。

service router:服務的路由器元件。

service router cache notification:路由快取通知元件。

logger:日誌元件。

exception handler:異常處理元件。

performance counter:服務呼叫過程中的一些效能統計工具。

以下是一些詳細的呼叫設計。

模擬服務:

服務的呼叫:

服務呼叫過程中的管道模組設計:

路由表及路由更新:

介面卡:

最後,是最重要的持久化的領域實體:

企業 SOA 設計 1 ESB 設計

最近為公司完成了乙個 esb 的設計。下面簡要說明一下具體的設計方案。企業 soa 整體方案 在前一篇 soa esb nservicebus 雲計算 總結 中說到,soa 是面向服務的架構,其核心思想是把業務進行元件化,而業務元件的能力服務化。我們的整個 soa 的設計分為兩個層面 乙個是系統間的...

企業 SOA 設計 1 ESB 設計

我們的整個 soa 的設計分為兩個層面 乙個是系統間的 soa 設計,另乙個則是單個系統內的 soa 設計。系統間的 soa 設計,主要是設計乙個 esb 系統來實現各業務系統間的互動。而系統內部的 soa 設計,則是建立乙個元件化的技術平台,使得系統的開發能以乙個個業務元件的形式完成,並通過技術平...

SOA 設計原理

最初的面向服務體系結構 service oriented architecture soa 的實現專案的經驗表明,諸如物件導向分析與設計 object oriented analysis and design ooad 企業體系結構 enterprise architecture,ea 框架和業務流...