What is an ESB?
An Enterprise Service Bus (ESB) is a flexible connectivity infrastructure for integrating applications and services. An ESB can power your Services Oriented Architecture (SOA) by reducing the number, size, and complexity of interfaces between those applications and services.

An ESB performs the following:
• Routing messages between services
• Converting transport protocols between requester and service
• Transforming message formats between requester and service
• Handling business events from disparate sources

An ESB should allow your organization to focus on your core business needs rather that the IT Infrastructure required connecting the programs together. An ESB should allow you to add new services, or make changes to existing services, with little or no impact to the use of existing services.

What are the IBM ESB offerings?
IBM offers three ESB products: IBM WebSphere ESB, IBM WebSphere Message Broker, IBM WebSphere DataPower Integration Appliance XI50.
Selecting an ESB to power your SOA depends upon your requirements.
• WebSphere ESB is a platform-based ESB and optimized with WebSphere Application server for an integrated SOA platform.
• WebSphere Message Broker is a platform-independent based ESB and is built for universal connectivity and transformation in heterogeneous IT environments.
• WebSphere DataPower Integration Appliance XI50 is an appliance-based ESB and is built for simplified deployment and hardened security.
Customers face a wide range of ESB requirements from the simple to the complex.

When do I use WebSphere ESB, WebSphere Message Broker or WebSphere DataPower?
IBM's approach to ESB solutions reflects the realities of evolving IT architectures, which are heterogeneous. One size does NOT fit all when it comes to ESB solutions. Businesses should have the freedom to select ESBs that fit their needs, rather than shoehorn a solution that is not optimal in their environment

When to Use WebSphere ESB?
• You use WebSphere Application Server and/or your team has skills with WAS Administration and Java coding
• You are now or planning on developing business process using WebSphere Process Server (WebSphere ESB and WPS have common tooling, programming model, and runtime)
• You are integrating with ISV business applications hosted on WAS or 3rd party solutions which extend and support WAS
• You are focused on standards based interactions using XML, SOAP, and WS
• You want to mediate between Web services and existing systems using JMS and WebSphere JCA Adapters
• Reliability and extensive transactional support are key requirements
• You want to minimize your server investment by co-hosting WebSphere services and ESB in one application server

When to Use WebSphere Message Broker?
• You are currently using WebSphere Message Broker but not as an ESB
• You have extensive heterogeneous infrastructures, including both standard and non-standards-based applications, protocols, and data formats
- You have extensive MQ skills and infrastructure
- You are using Industry formats such as SWIFT, EDI, HL7
• You are implementing a wide range of messaging and integration patterns
- Complex event processing, message splitting and aggregation
• You need extensive pre-built mediation support
• You have very complex transformation needs
• Reliability and extensive transactional support are key requirements
• To achieve very high-performance with horizontal and vertical scaling

When To Use WebSphere DataPower?
• Ease of use is a pre-dominant consideration
- Simple experience of drop-in installation and admin-based configuration with no or minimal development required
• You are transforming between XML-and-XML or XML-and-any other format
• Your interaction patterns are relatively simple
• Your mediation requirements are met by the existing DP mediations and minimal extensibility is needed
You are using XML-based or WS-Security extensively
• You require use of advanced Web services standards
• You need to minimize message latency when adding an ESB layer
• You are doing extensive XML processing combined with high performance requirements
• Your ESB must be in production very quickly

About Author / Additional Info:
Arivuvel Ramu
SOA Technical Architect