{{ !articles[0].partner.isSponsoringArticle ? "Platinum" : "Portal" }} Partner
java,architects,enterprise-integration,jboss,apache synapse,wso2,tools & methods,openesb,apache servicemix,mulesoft

Top Open Source ESB Projects

In today's software markets, open source technologies are giving commercial products some stiff competition.  Enterprise Service Busses are no exception.  Don Rippert, the chief technology officer at Accenture says, "ESBs are software products that allow you to create a business process with web services running on different platforms."  Rippert believes an ESB is essential for achieveing the full potential of service-oriented architecture.  In general, an ESB should provide flexibility built on a basis of standards.  Jos Dirksen, an author of "Open Source ESBs in Action," said in a recent interview that today's top open source ESBs were "on par with commercial alternatives."  Competition drives innovation, and this page has a list of the most competitive open source ESBs on the market.

Here are the the forerunners among open source ESBs (in no particular order):



JBoss generally has mature components in its GA releases with no vendor-lockin characteristics.  Their ESB leverages JEMStechnologies like the JBoss business rules engine for content-basedrouting and messaging. Content-based routing on the JBoss ESB can use Drools or XPath.  The JBoss ESB supports XSLT and the Smookstransformation engine for XML and non-XML data formats.   JBoss' ESBalso runs on the JBoss application server and features a pluggable architecture for swapping out ESBsubsystems.

Apache ServiceMix


Apache ServiceMix 4 is OSGi based and a great option for integrating with an XML standards focussed landscape.  Apache ServiceMix makes it very easy to hot-deploy new integration flows.  Even the pluggable integration components are hot deployable.  ServiceMix uses a JBI standard which provides a lot of components like JMS, BPEL, Web service, and Camel.  The inclusion of Camel is a strong point for ServiceMix along with the Spring Framework, which is also supported.  FUSE ESB is another great distribution of Apache ServiceMix.



OpenESBhas an easy learning curve due to its solid integration with theGlassFish Application Server and Sun's popular IDE, NetBeans. TheNetbeans IDE provides countless integrated functions for administrationand development.  The best thing about OpenESB is its toolset. OpenESB's tools include WSDL and schema editors, a JPI manager integrated into the service manager, and Antrunning in the background.  Another tool is the Composite ApplicationService Assembly (CASA) editor, which gives you a graphical overview ofintegration applications.  Many Java developers will love OpenESBbecause it comes straight from the home of Java.  OpenESB is also OSGi based.



Mule is the most used open source integration platform.  MuleESB's low cost along with easy configuration, expansion, and flexibility make it very popular.  Java developers will find MuleESB easy to work with because it is Java centric.  There‚Äôs also a powerful set of XML schemas in MuleESB.  The creation of integration flows is very straightforward.  MuleESB can have fairly complex integration flows up and running in minutes.  It has many connectivity, routing, and transformation options right out of the box. 



Other ESB products take a relatively heavyweight approach by using the JBI specification, but the relative newcomer, WSO2, takes a lightweight approach in its ESB.  It does this by focusing on Web service standards for integration.  The WSO2 ESB uses Apache Synapse, a nimble Web service mediation and routing engine that focuses on providing fast XML message processing.  WSO2 takes advantage of Synapse's non-blocking http://s transport implementation over the Apache HttpComponents/NIO module.  This allows the WSO2 ESB to handle thousands of parallel requests using a small amount of resources and threads.  You can always expect great XML support from the WSO2 ESB because well-known XML expert James Clark is a company director at WSO2.

{{ tag }}, {{tag}},

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}
{{ parent.authors[0].realName || parent.author}}

{{ parent.authors[0].tagline || parent.tagline }}

{{ parent.views }} ViewsClicks