到底啥玩意叫 ESB 呢?
在回答這個問題之前,我們可能先要回答,到底啥玩意叫 SOA 呢?
SOA 開始熱炒的時候,小弟我剛踏入 IT 行業(yè)不久,正在老老實實的寫 struts ,沒有機會聆聽 SOA 的宣講。
過了好幾年,現(xiàn)在公司要研究 ESB 技術(shù),我就有幸參與了對 mule 之類開源 ESB 的研究。很有點感性,想拿出來跟大家談?wù)劇?
2. 興奮期
所謂的 ESB ,一開始接觸到的時候,覺得很牛,把所有的應(yīng)用聚集在 ESB 上,消息之間的轉(zhuǎn)發(fā),數(shù)據(jù)格式的轉(zhuǎn)換,傳輸協(xié)議的轉(zhuǎn)換,數(shù)據(jù)處理流的配置都可以在 ESB 上面做 。
頓時大家都感覺這個工作太簡單了, ESB 實在是解決應(yīng)用系統(tǒng)整合的利器。
3. 困惑期
可是隨著我對 mule 的深入研究,我越來越發(fā)現(xiàn)不是那么回事情。
應(yīng)用系統(tǒng)整合到 mule 上面去,不做大量的修改是不可能的。更不論 mule 本身版本不斷的升級,每次 mule 的升級都是對上一版本的毀滅性破壞。還有 mule 有如天書般的配置文件。
另外,我在想,如果你用 ESB 做消息轉(zhuǎn)發(fā)處理的總線,那為什么不用 MQ 服務(wù)器呢?當然你會說, MQ 只能接受 JMS , ESB 是啥玩意都能收。但是,為什么不能把各個系統(tǒng)的消息接口都改成 JMS 呢,這個工作量并不比上 ESB 小啊。。。
4. 領(lǐng)悟期
突然有一天,我看到了一個兄弟的帖子,我領(lǐng)會了一切。
原來, ESB ,原理說明白了,就是消息中間件加上一些對其他消息的轉(zhuǎn)換,實際項目中自己完全可以開發(fā)出來,只是沒有用那些標準罷了。
我們跟著想下去,如果我們在開源的 activeMQ 基礎(chǔ)上,加了一層封裝,把 jetty 加進去,那么我們的這個 MQ 是不是就可以接受 JMS,http 請求, ftp 請求等等。。
如果我們再添加一個通過 XML 轉(zhuǎn)換消息格式的功能,那么我們做出來的會是什么?
答案:就是 mule 。
啊~~~原來超級加強版的中間件就是 ESB 啊。
于是,我們就能看到那些 MQ 生產(chǎn)商,迅速的開發(fā)出來了自己的 ESB ,比如下面這個
所以我預(yù)言:
a. 未來的 ESB 將會無縫整合 MQ,Http 引擎,成為統(tǒng)一天下的中間件
b. 各個中間件廠商會互相吞并~~
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點擊舉報。