顧名思義,企業服務總線(ESB)就是一條企業架構的總線,所有的企業服務都掛接到該總線上對外公布,企業服務總線負責管理服務目錄,解析服務請求者的請求方法、消息格式,並對服務提供者進行尋址,轉發服務請求。說白了,它就是服務的請求者和服務的提供者之間的一個中間件,就是對服務使用者屏蔽服務提供方的技術實現方式。如果沒有這個總線,那么服務的請求者則必須自己知道它所需要的服務的地址,並要知道相應的服務調用方法,消息格式,這樣的調用是點到點的,不利於服務的統一管理,不利於不同格式的服務的集成。
ESB可以說是搭建SOA架構所必須實現的核心功能組件。總的來說,它的主要功能和職責是消息解析,驗證,服務路由轉換,請求的傳遞,服務目錄管理。ESB使用SOAP消息格式,支持HTTP(S)、JMS、MQ、FTP、SMTP等傳輸協議。
ESB也可以說是傳統中間件技術與XML、Web服務等技術相互結合的產物。
從軟件設計的角度上來說,ESB是一個抽象的間接層,提取了服務調用過程中調用與被調用動態交互中的一些共同的東西,減輕了服務調用者的負擔。要記住一句話:“所有的軟件設計的問題都可以通過增加一個抽象的間接層而得到解決或者得到簡化!!!”這句話在java編程思想這本書上有,但還是要通過不斷的實踐才能真正深入地理解它!