A new Forrester research report on the current Enterprise Service Bus (ESB) offerings starts by defining ESB as a core SOA infrastructure:
Most SOA efforts rely heavily on one or more ESBs as their core software infrastructure. This is because an ESB bundles solutions to many different challenges in a single product. ESBs, for example, route multiple protocols and map multiple data formats; create composite services to externalize standard behavior; do data-based routing and service-level agreement (SLA) monitoring and management; and integrate with security infrastructure.
According to the report, the core functions, which provide the basic operational capabilities of the ESB, include:
- Support of multiple protocols including a wide range of Web services, REST to support integration with a wide range of third-party and legacy systems and services.
- Protocol conversion between supported protocols.
- Data transformation and data-based routing including support for data enrichment, data translation from one format to another and making routing decisions based on the message content.
- Support of composite services through lightweight orchestration commonly called by ESB vendors "flows" or "itineraries" and used for defining flow of control and information among the component services.
- Support of multiple standards: business file formats including Industry-specific standards, EDI and variousXML-based standards..
- Integrated security features including authentication and authorization support integrated with existing enterprise security infrastractures
- Comprehensive error handling mechanisms including uniform mechanisms for identifying, managing, and monitoring both technical and business errors and the ability to customize specific error behavior as needed.
- Support of both synchronous and asynchronous service invocations
- Highly available and scalable infrastructure using software and/or hardware clustering and other mechanisms to provide high availability.
- Extensibility allowing customers to add new ESB capabilities, for example a particular WS protocol, home-grown messaging system, etc
In addition to the base functionality, the report also defines a set of extended functionality often found in the modern ESBs, including:
- Graphical editing tools for many ESB capabilities, including flows. data mapping, endpoint configurations, etc.
- SLA monitoring and management providing support for controlling throttling and load balancing to meet defined SLAs on a per-endpoint basis.
- BPEL and other business process support including the ability to create, execute, and manage BPEL orchestrations.
- Business activity monitoring (BAM) supporting definition of business-centric key performance indicators (KPIs), near-real time KPIs calculation and presentation using dashboards.
- Dynamic service provisioning providing support for dynamic provisioning of services themselves and adding/modifying flows without having to restart ESB components.
- Complex event processing (CEP) providing both conduits for and sources of events
Forrester’s evaluation takes into consideration both the above features and product's strategy and market presence. The results of their comprehensive evaluation can be summarized as follows:
- Progress Software, Oracle, Software AG, IBM, and TIBCO lead the pack. These vendors do it all, and they do it all well. All four of these vendors’ solutions include very broad feature sets that include support for many protocols, interaction models, file formats, error handling features, and more. They all have the strong tool sets that let Eclipse-based developers work with design artifacts graphically.
- IONA, Sun Microsystems, and JBoss offer competitive options. Both IONA - now owned by Progress - and Sun fall in the middle of the pack, but for very different reasons. IONA’s Artix and FUSE products are established and successful, especially with customers that want the lightweight-endpoint approach IONA offers. Sun Microsystems’ strongly standards-compliant Sun ESB Suite offering is simply too young to have a feature set like those of the Leaders’ solutions, though its trajectory suggests future growth in both capability and adoption. Though Sun ESB Suite is a community-developed open source product, it is clearly heavily dependent on Sun’s involvement, at least for the foreseeable future. JBoss has a strong core ESB engine, popular with developers in shops that favor open source. It has limited but growing enterprise features and lacks graphical tooling and the breadth of options the older products offer.
- Microsoft offers strong core ESB functions for BizTalk customers. Windows-centric customers with existing BizTalk implementations and the appetite for a little "assembly" will find that Microsoft’s ESB offering is a product with strong ESB capabilities and - a pleasant and welcome surprise - a strong ability to integrate with services on other platforms. Microsoft’s main challenge is that it provides its ESB solution essentially in kit form - freely available "ESB Guidance" information and software that the customer must graft onto the combination of Microsoft BizTalk Server and Windows Communications Foundation (WCF). ESB Guidance does include a full reference implementation of a working ESB with all the components integrated. Also, both the developer and application code must directly manipulate XML artifacts because the solution does not provide a graphical editor. The solution runs only on Windows, which limits its applicability in shops that need to deploy their ESB to other platforms.
- MuleSource has a strong core but a narrower feature set. Like the JBoss product, MuleSource’s offering has a strong core ESB engine and is very popular today with developers in shops that favor open source. Though Mule ESB is evolving, it currently has limited enterprise features and fell short on graphical tool sets, broad protocol and application adapter libraries, and critical partnerships.
The report is packed with a wealth of information on existing ESB products and the results of their evaluation. It is a good starting point for everyone who is doing an initial ESB products evaluation.