Establishing an ESB is essential in delivering a Service-Oriented Architecture. But for an SOA to be effective, you’ll also need your ESB to recover quickly from unexpected hardware and software failures. Clustering can help by enabling your systems to operate in parallel, so that if one should fail, those remaining can seamlessly step in.
On demand business solutionsWhite paper
Clustering and high availability
in an enterprise service bus.
February 2005Clustering and high availability in an enterprise service bus. Clustering and high availability in an enterprise service bus.Page 2 Page 3
IntroductionContents This paper explores clustering and high-availability considerations when operating an enterprise service bus (ESB). It examines what an ESB is, 2 Introduction including why you might need an ESB. It also includes some typical 2 What is an ESB? clustering and high-availability scenarios to help illustrate these points. 3 Services on an ESB4 Why should you want an ESB? What is an ESB?6 An ESB based on IBM products An ESB is an architectural pattern that enables you to optimize the 6 ESBs and clustering and high availability distribution of information between different types of applications 8 Defining high availability and clustering across multiple locations. The ESB pattern is founded on and unifies 10 Typical clustering and high-availability message-oriented, event-driven and service-oriented approaches to scenarios integration. The core characteristics of an ESB (all of which should be 11 Why and when are high availability and oriented toward a service-based infrastructure) provide: clustering desirable?12 Providing high-availability for ESBs . Standards-based application integration13 Delivering high availability and clustering . Support for Web services, message-based transport and publish-and-subscribe 15 High availability (event-based) integration17 Broker backup and recovery . Transformation19 Clustering in an ESB . Intelligent routing22 Conclusion23 For more information At its most basic level, an ESB is an architectural construct that links services provided within an enterprise. It supports open standards, as well as a selection of communications models. Together, these enable:
. Web services to communicate with other Web services. Messaging applications-often using application programming interfaces T (APIs), like Message Queue Interface (MQI) or Java Message Service (JMS)-to communicate with each other. Support for differing communications models, such as publish-and-subscribe or event-style communicationsClustering and high availability in an enterprise service bus. Clustering and high availability in an enterprise service bus.Page 2 Page 3
From this set of capabilities, you can understand why the term bus is used. Information is transported between many different destinations-between originators and receivers who might be using different communications models and data formats. For this reason, an ESB is an artifact designed to support interoperation between different sources and destinations-such Žas JMS to Web services, Web services to IBM CICS systems, publish-and- subscribe to point-to-point integration and so on.
A distinct advantage of an ESB is the flexibility it can provide. You (the user) can decide which of the different capabilities of an ESB you want to use. For example, you might want to specialize on just point-to-point style or publish-and-subscribe communications. Or you can exploit extended ESB capabilities-like transformation of messages, dynamic routing, message enrichment and so on-to derive even greater value.
Services on an ESBWhen considering an ESB, you should understand that it is an enterprise service bus. Many services are provided, even if not all services are necessarily exposed externally. For example, ESBs are often regarded as a key step in delivering a service-oriented architecture (SOA). In an SOA, the objective is to provide a logical infrastructure that enables applications to have their interfaces exposed as services that can then be accessed through the ESB (see Figure 1). At the same time, when a message arrives on an ESB, it might invoke some internal ESB service-such as a transformation service-which can take one format and turn it into another that is acceptable to a different application. In other words, an ESB uses services as a means to work with external sources and destinations. Yet an ESB also has services that it can provide internally (over the bus), like transformation, routing, encryption and enrichment.Clustering and high availability in an enterprise service bus. Clustering and high availability in an enterprise service bus.Page 4 Page 5
Simple Object Access Protocol Business-to-(SOAP) business ... [download for more]