CodeHaus發布了ESB的實現Mule 1.0,在SOA被大肆鼓吹的氛圍下成長起來的ESB總算揭開了一個面紗!
那么什么是ESB呢?
我們知道SOA體系結構要求企業里面所有的和業務相關的應用程序都應該提供webservice的接口。那么一旦這一步實現了之后,所有的應用程序面臨的問題就是如何去調用這些或者說這么多接口,當然使用webservice的客戶端采取同步調用的方式當然是可以的。同時如果企業應用有可伸縮性要求,那么也可以采取異步的消息調用機制。而ESB就是采用了消息封裝這一思想,把所有對服務的調用都通過統一的消息接口封裝起來,無論消息是同步的還是異步的。此外ESB還可以對企業的其他消息服務也提供同樣的借口,例如mail,JMS,IBM MQ,MSMQ等等。
ESB可以有那些用 ?
ESB不是萬能的,他不是一個應用程序框架,也不是一個企業應用的解決方案.它只是一個基于消息的調用企業服務的通信模塊!你可以把它嵌入到你的應用程序框架中,例如嵌入到spring容器里面,或者嵌入到工作流系統中.它的作用是對企業里面的SOA服務的調用提供一個框架和簡便的方法.
ESB距離實際的企業應用還有哪些不足?
ESB目前有很多商業方案,也有很多開源產品,例如ObjectWeb,CodeHaus,Sourceforge都有這樣的開源項目.距離真正成熟還有一段距離,另外各家廠商都各自為陣,目前JCP還沒有這項技術的草案,標準的指定也還有很長的距離.當然,目前的狀態和SOA一樣.相信等SOA真正普及的時候,ESB會更加的成熟.