1. 簡介
Mule ESB是一個基於Java的輕量級企業服務總線和集成平臺,允許開發人員快速便利地連接多個應用,並支持應用間的數據交換。Mule ESB支持集成現有系統而無論其底層採用何種技術,如JMS、Web Services、JDBC、HTTP以及其他技術。
2. 整體結構
圖1 整體結構
從上圖可見,Mule通過Transports/Connectors與外圍的異構系統連接,提供Routing(路由)、Transaction Management(事務管理)、Transformation(轉換)、Message Broker(消息代理)、Transportation Management(傳輸管理)、Security(安全)等核心模塊。Mule可以單獨使用,也可以架設在常用的應用服務器上。
圖2 架構簡圖
外圍系統的服務請求通過Mule ESB的Transport接入,Mule通過Transformer進行數據的格式轉換,然後經過Inbound Router進行消息過濾(內部通過配置filter實現)後交給Mule的Component進行業務邏輯處理,處理後的結果通過Outbound Router確定傳遞給哪個接收方,然後通過Transformer進行數據格式轉換,通過Transport連接至接收方,傳遞信息。
此圖描述的是Mule中的一個典型場景的處理過程,涵蓋了Mule中的各個關鍵組件。其中某些處理步驟不是必須的,如Inbound Router、Transformer。後續可以看到一些其他場景的處理。
3. 功能
a. 服務中介
- 將業務邏輯和消息發送分離
- 屏蔽服務的消息格式和協議
- 提供任意位置的服務調用
- 提供協議橋接
b. 數據轉換
- 在應用間交換不同格式的信息
- 操作消息的負載內容,包括加密、壓縮和編碼轉換
- 在異構的傳輸協議的數據類型間格式化消息
c. 消息路由
- 基於消息內容和複雜規則路由消息
- 消息的過濾、聚合以及重新排列序號
d. 服務創建和託管
- 暴露端點、EJB、Spring Bean以及POJO作爲服務
- 作爲輕量級的服務容器進行服務託管
轉載:http://my.oschina.net/moon/blog/10701