IBM BPM, V8.0.1, All platforms > Programming IBM BPM > Enterprise Service Bus programming
Introduction
This development guide is for enterprise architects, integration architects and developers who are responsible for implementing integration and connectivity solutions. It begins with the high-level concepts and abilities that will help you to understand the capabilities and usage patterns of an Enterprise Service Bus (ESB). The development guide then describes how to implement the capabilities and patterns on WebSphere Enterprise Service Bus.
Service-oriented architecture
Service-oriented architecture (SOA) is an architectural approach that supports the flexible integration of IT systems. It does this by providing a method to disconnect the service provider (service capability which delivers a defined action) from the service requester (client that sends the request). This enables the substitution of one service provider for another, without the requester being aware of the change and without the need to alter the architecture as shown in Figure 1.
Figure 1. Shows the connection between the service requester, service provider and ESB
By adopting an SOA approach and implementing it using supporting technologies, companies can build flexible systems that implement changing business processes quickly, and make extensive use of reusable components.
Services are the building blocks of SOA, providing function as a base point for building distributed systems. Services can be invoked independently by either external or internal service consumers to process single functions, or can be linked together to form more complex functionality and so quickly devise new functionality.
The Enterprise Service Bus
An ESB is used to connect a service requester to a service provider so that messages can be routed between the two platforms. The ESB is a collection of software components that manage messaging from one part of the network to another. The ESB handles mismatches between the requesters and providers, including protocol, interface or quality of service mismatches.
The ESB processes messages exchanged between the service endpoints. A service endpoint is a location where the service is available on the network. In contrast with regular business application components, the ESB is concerned with the flow of the messages through the infrastructure and not just with the business content of the messages. Rather than performing business functions, the ESB performs mediation capabilities including routing, transformation, and logging operations on the messages.
WebSphere Enterprise Service Bus
WebSphere ESB is designed to provide an ESB for IT environments built around open standards and SOA. It delivers easy to use functionality that is built on the messaging and web services technologies of WebSphere Application Server.
WebSphere Application Server is the foundation for WebSphere ESB, providing not only the required quality of service, the J2EE runtime environment, and the messaging infrastructure, but also providing broad support for open standards and web services. WebSphere ESB is built on the ND product and provides a wide range of capabilities for large enterprise networks, including clustering, failover, and scalability features.
IBM BPM extends the capabilities provided in WebSphere ESB to allow business applications to be developed.
IBM Integration Designer, is the tool for use with WebSphere ESB. It is designed to build applications that will be deployed to either WebSphere ESB or IBM BPM .
WebSphere ESB supports connectivity between endpoints through a variety of protocols and API such as:
- WebServices SOAP 1.1 and 1.2
- Java™ Message Service (JMS) 1.1
- WebSphere MQ
- Enterprise JavaBeans (EJB) Stateless Session Bean
- HTTP
- Enterprise Information Systems (EIS) integration using WebSphere Adapters
Figure 2.shows how WebSphere ESB is built on top of the WebSphere Application Server. Because of this, WebSphere ESB can provide smooth interoperability with other products in the WebSphere portfolio, including WebSphere MQ and WebSphere Message Broker.
Figure 2. WebSphere ESB, installed on top of WebSphere Application Server