Mule
它是一個輕量級的消息框架和整合平臺,基于EIP(Enterprise Integeration Patterns,由Hohpe和Woolf編寫的一本書)而實現(xiàn)的。
Mule的核心組件是UMO(Universal Message Objects,從Mule2.0開始UMO這一概念已經(jīng)被組件Componse所代替),UMO實現(xiàn)整合邏輯。
UMO可以是POJO,JavaBean等等。
它支持20多種傳輸協(xié)議(file,FTP,UDP,SMTP,POP,HTTP,SOAP,JMS等),并整合了許多流行的開源項目,比如Spring,ActiveMQ,CXF,
Axis,Drools等。雖然Mule沒有基于JBI來構(gòu)建其架構(gòu),但是它為JBI容器提供了JBI適配器,應(yīng)此可以很好地與JBI容器整合在一起。而 Mule更關(guān)注其靈活性,高效性以及易開發(fā)性。從2005年發(fā)表1.0版本以來,Mule吸引了越來越多的關(guān)注者,成為開源ESB中的一支獨秀。目前許多公司都使用了Mule,比如Walmart,HP,Sony,Deutsche Bank 以及 CitiBank等公司。
Apache ServiceMix
它是JBI規(guī)范的一種實現(xiàn)。它包涵了許多JBI組件,這些組件支持多種協(xié)議,比如JMS,HTTP,FTP,FILE等。同時也實現(xiàn)了EIP,規(guī)則和調(diào)度。自從JBI被JCP接收后,2005年末Apache ServiceMix才被Apache作為其卵化項目,到2007年9月,它已經(jīng)成為Apache的頂級項目。ApacheServiceMix 也整合了其他的開源項目,比如Apache ActiveMQ,Apache CXF,Apahe Camel,Apache ODE以及Apache Geronimo。
說起Apache ServiceMix,就會使我想到LogicBlaze公司。它曾經(jīng)是Apache ServiceMix和Apache ActiveMQ的商業(yè)支持者。2006年LogicBlaze被IONA成功收購后,IONA負責為Apache ServiceMix提供支持和服務(wù)。同時IONA也將Apache ServiceMix作為FUSE平臺中的一員,F(xiàn)USE旗下還包括Apache ActiveMQ,Apache CXF,Apahe Camel,FUSE HQ。
官方網(wǎng)站:
http://servicemix.apache.org/ Fuse平臺的官方網(wǎng)站:http://open.iona.com/products/fuse-esb/
Open ESB
前兩個開源ESB都由開源社區(qū)提供支持,Mule由Codehaus社區(qū)提供支持,ServiceMix由Apache社區(qū)提供支持。Open ESB是由SUN發(fā)起,現(xiàn)在作為Java.net的子項目。所有Open ESB的開發(fā)人員都來自SUN。
如同Apache ServiceMix一樣,Open ESB也實現(xiàn)了JBI規(guī)范。Open ESB可運行在由SUN支持的Glassfish應(yīng)用服務(wù)中。同時SUN的Netbeans IDE為Open ESB提供了拖拉式的開發(fā)工具,這是其他開源ESB不可匹敵的,盡管Mule也提供了基于Eclipse的插件工具,但目前仍然不夠強大。
官方網(wǎng)站:https://open-esb.dev.java.net/
Apache Synapse
雖然Apache Synapse具備一些ESB所必備的功能,但是從本質(zhì)上而言Synapse更是一個web服務(wù)仲裁框架,它是構(gòu)建在Apache Axis2之上的。Synapse的關(guān)注點是路由,轉(zhuǎn)換,消息驗證以及基于web服務(wù)和xml標準的注冊。它支持HTTP, SOAP, SMTP, JMS,FTP ,MTOM/XOPPOP3/IMAP/SMTP 等傳輸協(xié)議,還支持多種web服務(wù)規(guī)范(WS-*),比如WS-Addressing,WS-Security,WS-Policy以及WS- Reliable Messaging。在它的最新版本1.2中加入了對FIX(Financial Information eXchange,金融信息交換協(xié)議 ) 和 Hessian 的支持。同時它還支持多種流行語言,比如Java, JavaScript, Ruby, Groovy等。
官方網(wǎng)站:http://ws.apache.org/synapse
JBoss ESB
JBoss ESB是基于JBoss公司的ESB產(chǎn)品Rosetta的。Jboss ESB將JbossMQ作為其消息層,將JBoss rules為其提供路由功能,
將jBPM為其提供服務(wù)編排功能。足以見得JBoss的野心。
官方網(wǎng)站:http://labs.jboss.com/jbossesb/