企業服務總線Enterprise service bus介紹


      企業服務總線(Enterprise service bus). 以往企業已經實現了很多服務, 構成了面向服務的架構,也就是我們常說的SOA. 服務的參與雙方都必須建立1對1 的聯系,讓我們回顧一下SOA架構有哪些基本的要求:

  1. SOA在相對較粗的粒度上對應用服務或業務模塊進行封裝與重用;
  2. 服務間保持松散耦合,基於開放的標准, 服務的接口描述與具體實現無關;
  3. 靈活的架構 -服務的實現細節,服務的位置乃至服務請求的底層協議都應該透明;

在SOA中,我們還需要這樣一個中間層,能夠幫助實現在SOA架構中不同服務之間的智能化管理。這是我們就需要企業服務總線(Enterprise service bus).

在N層結構的ESB:
ESB_jee

企業服務總線(Enterprise service bus)通訊層:

ESB3

 

ESB的主要功能是:

1.對各個服務之間消息監控與路由

2.解決各個服務組件之間通信

3.控制服務版本與部署

4.滿足服務像事件處理,數據轉換與映射,消息與事件查詢與排序,安全或異常處理,協議轉環,保證服務通訊的質量.

又有下表:

定位清晰

ESB有助於從服務消費者服務提供者之間解耦。ESB提供了一個集中的平台使任何應用程序進行相互通信,使消息發送者到信息接收者解耦。

   

協議轉換

ESB應該能夠無縫地集成不同傳輸協議應用程序如HTTP,JMS,FTP,文件批處理和SMTP,TCP。

   

消息轉換

ESB提供將消息從一種格式轉換為其他基於開放的標准,如XSLT和XPath。

   

消息路由

ESB一個重要的功能是決定傳入消息的最終目的地,通常這歸類為消息路由。

   

消息增強

ESB提供基於傳入消息附加丟失數據的消息增強機制.

   

安全

身份驗證,授權與加密功能,為確保傳入的消息安全, 防止有人惡意使用的ESB,以滿足服務提供者信息安全。

   

監控與管理

監控和管理環境可配置高性能和可靠的特性,並且還可以監視的運行時消息流.


ESB縱向圖示意圖:

ESB_Component_Hive

主要優點:

增加靈活性,更容易適應需求變化
由點擴展到整個企業的部署解決方案(分布式總線)
更多的配置,而不是集成代碼
沒有集中的規則引擎,沒有集中的broker
零停機時間;使企業成為“可重構”的解決方案 
 
主要缺點:


增加系統開銷
通信速度較慢,特別是對那些已經兼容的服務

 

目前開源ESB產品與項目:

  • Apache ServiceMix

  • Apache Synapse

  • JBoss ESB

  • MassTransit

  • NetKernel

  • NServiceBus

  • Petals ESB

  • Spring Integration

  • Open ESB

  • WSO2 ESB

  • Mule

  • UltraESB

  • Talend ESB

  • Shuttle Service Bus


希望對您軟件架構有幫助.


作者:Petter Liu
出處:http://www.cnblogs.com/wintersun/
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。
該文章也同時發布在我的獨立博客中-Petter Liu Blog


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM