Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Service Bus
Comparison
A comparison of the top Free &
Open Source Enterprise
Service Bus (ESB) software
solutions
by Daniel St-Louis
August 13, 2012
Introduction
The enterprise service bus (ESB) represents the piece of software that lives
between the business applications and enables communication among them.
Ideally, the ESB should be able to replace all direct contact with the applications on
the bus, so that all communication takes place via the ESB. To achieve this
objective, the ESB must encapsulate the functionality offered by its component
applications in a meaningful way. This typically occurs through the use of an
enterprise message model. The message model defines a standard set of
messages that the ESB will both transmit and receive. When the ESB receives a
message, it routes the message to the appropriate application. Often, because that
application evolved without the same message-model as another application, the
ESB will have to transform the message into a format that the application can
interpret. A software adapter fulfills the task of realizing these transformations.
ESBs rely on accurately connecting the enterprise message model and the
functionality offered by applications. If the message model does not completely
encapsulate the applications functionality, then other applications that desire that
functionality may have to bypass the bus, and invoke the mismatched applications
directly. Doing so violates all of the principles outlined above, and negates many of
the advantages of using an ESB.
August 13, 2012
Disadvantages
Increase overhead, slow down communication speed; especially for those already compatible services.
Proprietary software, open source ESBs all have their own unique ways of configuring and managing
services.
The main downside I see to using an ESB is that you're building your enterprise
around proprietary software. Even the open source ESBs all have their own
unique ways of configuring and managing services. The net effect is that you're
locked into a particular service bus and will find it increasingly difficult to break
free over time.
Lock-in is a fact of life. As soon as you implement anything, you're locking
yourself into a product. It's better to lock yourself into a single product for
configuration and management than to deal with dozens of different tools and
procedures for configuration and management. That's the primary reason that I
recommend using a SOA management system to implement endpoint policy
enforcement points rather than using the inherent capabilities of a service
platform, this is the main differentiating factor between a free ESB product and
a more mature SOA centric offering with ESB capabilities.
August 13, 2012
Product
Type
Apache
ServiceMix
TIBCO
Commercial
IBM
Commercial
Oracle
Oracle ESB
Commercial
Fiorano Software
Fiorano ESB
Commercial
Microsoft
Biztalk Server
Commercial
Neudesic
Neuron ESB
Commercial
Progress
Software
Commercial
Red Hat
JBoss ESB Community Edition (Not recommended for production use as per Red Hat)
WSO2
WSO2 ESB
FuseSource
Fuse ESB
AdroitLogic
UltraESB
OW2
Petals ESB
Talend
Software AG
Commercial
Mule Soft
Mule ESB
Contenders
1.
Apache ServiceMix
2.
3.
4.
WSO2 ESB
5.
6.
AdroitLogic UltraESB
7.
8.
http://servicemix.apache.org/download.html
http://www.mulesoft.org/download-mule-esb-community-edition
10
JBoss ESB
http://www.jboss.org/jbossesb/
11
WSO2 ESB
The WSO2 Enterprise Service Bus (ESB) is a simple, lightweight and high performance
enterprise service bus (ESB), based on the Apache Synapse enterprise service bus, providing
enhanced management and development/configuration support and SOA Governance
capabilities.[neutrality is disputed] Ebay uses WSO2 Enterprise Service Bus as one of the key
elements in its transaction software.
The WSO2 Enterprise Service Bus supports the creation of Proxy Services graphically, which
allows users to easily create virtual services on the ESB layer to front existing services.
Existing services are SOAP, Plain Old XML (POX)/REST services over HTTP/S, as well as SOAP or
legacy services over JMS, Apache VFS file systems (e.g. s/ftp, file, zip/tar/gz, webdav, and cifs),
Mail systems (such as Post Office Protocol (POP3), Internet Message Access Protocol (IMAP),
and Simple Mail Transfer Protocol (SMTP)), Financial Information eXchange (FIX), Hessian, and
Advanced Message Queuing Protocol (AMQP).
The WSO2 Enterprise Service Bus takes advantage of the non-blocking https transport
implementation built by Apache Synapse ESB over the Apache HttpComponents/NIO module,
to handle thousands of concurrent requests using very little resources and threads. The
implementation is capable of connection throttling to control the rate at which large messages
are read and processed, and thus can handle heavy concurrent loads of large messages using
constant memory.
http://wso2.org/downloads/esb
August 13, 2012
12
http://fusesource.com/products/enterprise-servicemix/
13
AdroitLogic UltraESB
The UltraESB is the Free and Open Source ESB from AdroitLogic, and is the only
ESB that supports Zero-Copy proxying for extreme levels of performance
utilizing Direct Memory Access (DMA) and the sendfile system call, along with
Non-Blocking IO. The UltraESB supports multiple communication protocols,
message formats and technologies and is also the underlying ESB powering the
recently launched Free Cloud based AS2/EDI Trading gateway AS2Gateway.org
for B2B integration.
UltraESB is not only focused on the aspects of an ESB rather it is an AS2 switch,
JSON/Data Services and Mock Service container, Security gateway and many
more in addition to being a typical ESB in SOA, designed to be better in
performance, features and ease of use.
http://www.adroitlogic.org/download.html
14
Talend ESB SE
http://www.talend.com/products/esb-standard-edition.php
August 13, 2012
15
Petals ESB
Petals ESB is an open-source Enterprise Service Bus (ESB) provided by the OW2
Middleware Consortium. More concretely, Petals ESB is a Java platform based on SOA
principles to interconnect heterogeneous systems, applications and services. It acts as a
mediation and a communication layer in Information Systems. Its architecture and
supported standards make it a valuable solution for both integration and SOA projects.
One of the key features of Petals ESB is its distributed aspect, which can be seen as an
alternative to cluster solutions. Several physical Petals servers can constitute virtually a
single bus. Coupled to SOA principles, this gives a lot of flexibility in the architectures
that can be implemented with Petals (high availibility, fail-over, mirroring).
Communications between systems are resolved as message exchanges between service
providers and service consumers, their relation being controlled by a contract. Mapping
applications and systems with service providers and consumers improves the system
modularity and leverages loose coupling between applications.
Petals ESB supports several communication protocol (SOAP over HTTP/S, Mail, FTP,
SFTP). It also supports several standards, including web services, WS-Security, XSLT,
XML Schema Petals ESB comes with tools for various users and project stages, from
development to administration and monitoring tools.
http://petals.ow2.org /
August 13, 2012
16
Compared
Apache
ServiceMix
ESB
MuleSoft
ESB
Jboss ESB
Community
Edition
WSO2 ESB
FuseSource
Fuse ESB
Adroit Logic
UltraESB
Talend ESB
SE
Petals ESB
SOA Governance
Market presence
iPaaS offering
Message Persistence
BPEL
ODBC / JDBC
JDBC only
= Yes
Commercial
= PartialVersion Available
= No
17
ESB Evaluation
Framework
By carefully considering your
requirements, constraints, and
technology strategy, you can build
an evaluation based on product
similarities and strategic differences.
A comprehensive, weighted
evaluation criteria set will ensure the
ESB meets your needs today and in
the future. An evaluation framework
mindmap is shown on the right:
18