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