Service integration buses
A service integration bus is a group of one or more application servers or server clusters in a WAS cell that cooperate to provide asynchronous messaging services. The application servers or server clusters in a bus are known as bus members. In the simplest case, a service integration bus consists of a single bus member, which is one application server.
Usually, a cell requires only one bus, but a cell can contain any number of buses. The server component that enables a bus to send and receive messages is a messaging engine.
A service integration bus provides the following capabilities:
- Any application can exchange messages with any other application by using a destination to which one application sends, and from which the other application receives.
- A message-producing application, that is, a producer, can produce messages for a destination regardless of which messaging engine the producer uses to connect to the bus.
- A message-consuming application, that is, a consumer, can consume messages from a destination (whenever that destination is available) regardless of which messaging engine the consumer uses to connect to the bus.
Different service integration buses can, if required, be connected. This allows applications that use one bus (the local bus) to send messages to destinations in another bus (a foreign bus). Note, though, that applications cannot receive messages from destinations in a foreign bus.
An application can connect to more than one bus. For example, although an application cannot receive messages from destinations in a foreign bus, if the application connects to that bus, the bus becomes a local bus and then the application can receive messages.
For example, in the following diagram, the application can send messages to destination A and destination B, but it cannot receive messages from destination B.
Figure 1. An application that is connected to bus A
In the following diagram, the application can send messages to, and receive messages from, destination A and destination B.
Figure 2. An application that is connected to bus A and bus B
A service integration bus comprises a SIB Service, which is available on each application server in the WAS environment. By default, the SIB Service is disabled. This means that when a server starts it cannot undertake any messaging. The SIB Service is enabled automatically when we add a server to a service integration bus. We can choose to disable the service again by configuring the server.
(zos) When the SIB Service is enabled on z/OS , a flag is set to start the control region adjunct process when the server starts up. If we delete a bus, or remove the last bus member from a server, you must disable the SIB Service to prevent an adjunct region process from starting because of this flag when the server starts up.
A service integration bus supports asynchronous messaging, that is, a program places a message on a message queue, then proceeds with its own processing without waiting for a reply to the message. Asynchronous messaging is possible regardless of whether the consuming application is running, or whether the destination is available. Also, point-to-point and publish/subscribe messaging are supported.
After an application connects to the bus, the bus behaves as a single logical entity and the connected application does not have to be aware of the bus topology. In many cases, connecting to the bus and defining bus resources is handled by an (API) abstraction, for example the administered JMS connection factory and JMS destination objects.
The service integration bus is sometimes referred to as the messaging bus if it provides the messaging system for JMS applications that use the default messaging provider.
Many scenarios require a simple bus topology, for example, a single server. If we add multiple servers to a single bus, you increase the number of connection points for applications to use. If we add server clusters as members of a bus, we can increase scalability and achieve high availability. Servers, however, do not have to be bus members to connect to a bus. In more complex bus topologies, multiple buses are configured, and can be interconnected to form complex networks. An enterprise might deploy multiple interconnected buses for organizational reasons. For example, an enterprise with several independent departments might want separately administered buses in each location.
Related tasks
Configure buses Create a bus Add buses Add an unsecured bus Configure bus properties Listing the buses Delete a bus Configure the members of a bus Configure messaging engines Configure service integration bus links Connect buses Configure foreign bus connections Operating buses Disable the service integration service
SIBAdminCommands: Bus administrative commands (AdminTask)