Network Deployment (Distributed operating systems), v8.0 > Applications > Service integration > Service integration configurations > Bus configurations > Interconnected buses
Direct and indirect routing between service integration buses
We can use direct or indirect connections to interconnect service integration buses so that all the buses can exchange messages.
Service integration buses can be connected directly or indirectly. For a direct connection, two buses are either connected directly by a single service integration bus link to another service integration bus or by a WebSphere MQ link to a WebSphere MQ queue manager or queue-sharing group (known as the "gateway queue manager"). For an indirect connection, two buses are connected through one or more intermediate buses that are connected in a chain of links.
Each bus must be able to get to every other bus to which it is connected. In this context, the bus you start with is referred to as the local bus, and each bus that it is connected to is referred to as a foreign bus. Information about how messages are routed from the local bus to each foreign bus is stored in the local bus in the routing properties of the foreign bus connection. The routing properties indicate the following information:
- Whether the connection is direct or indirect.
- If the connection is direct, the type of physical link can be either a service integration bus link from a messaging engine in the local bus to a messaging engine in the foreign bus, or a WebSphere MQ link from a messaging engine in the local bus to the gateway queue manager in the WebSphere MQ network.
- If the connection is indirect, the next foreign bus in the chain that leads to the target bus.
In Figure 1, Bus 1 and Bus 2 are connected directly using a single direct service integration bus link. The messaging engine in Bus 1 is connected to a messaging engine in Bus 2 by using a direct service integration bus link.
Figure 1. Direct connection between two service integration buses by using a service integration bus link
To connect one bus to another bus through an intermediate bus, or a chain of buses, if the connection between the intermediate bus or the chain of buses and the target bus already exists, you do not require any new physical links. Instead, each foreign bus connection identifies a neighboring bus on the route to the final target bus as the "next hop" in the chain. Each bus in the chain must know about the next hop in the chain to reach the target bus. The local bus uses a foreign bus connection to identify the next bus in the chain to the target bus, and uses its direct physical link to flow messages to that bus. Then, each intermediate bus uses its locally defined foreign bus connection to identify the next bus in the chain until the target bus is reached.The physical link in the chain can be a service integration bus link or a WebSphere MQ link.
In Figure 2, to route a message from Bus 1 to Bus 3, the message is routed through a link from Bus 1 to Bus 2, then is routed through another link from Bus 2 to Bus 3. Bus 1 has a foreign bus connection that identifies Bus 2 as a direct connection, and a foreign bus connection that identifies Bus 2 as the next foreign bus on the route to Bus 3. Bus 2 has a foreign bus connection that identifies the next hop to the final bus, which in this example, is a direct connection to Bus 3.
Figure 2. Indirect connection between two service integration buses, by using two direct service integration bus links
The following diagram shows an existing network of three buses, Bus 1, Bus 2 and Bus 3, where a new bus, Bus n, is to be added. Bus n will be connected directly to Bus 1 and indirectly to Buses 2 and 3.
Figure 3. A network before Bus n is added
The following list shows the resources that must be defined to add Bus n to the network, and to allow messages to flow between any of the buses:
- For Bus n, the following resources must be defined:
- A direct foreign bus connection that represents Bus 1. A service integration bus link between the messaging engine on Bus n and the messaging engine on Bus 1 is created automatically.
- An indirect foreign bus connection that specifies Bus 1 as the next bus in the chain and Bus 2 as the target bus.
- An indirect foreign bus connection that specifies Bus 1 as the next bus in the chain and Bus 3 as the target bus.
- For Bus 1, a direct foreign bus connection that represents Bus n. A service integration bus link between the messaging engine on Bus 1 and the messaging engine on Bus n is created automatically. The name of the service integration bus link must exactly match the name of the service integration bus link created in Bus n.
- For Bus 2, an indirect foreign bus connection that specifies Bus 1 as the next bus in the chain and Bus n as the target bus.
- For Bus 3, an indirect foreign bus connection that specifies Bus 2 as the next bus in the chain and Bus n as the target bus.
The following diagram shows the network after Bus n is added. Bus n is connected directly to Bus 1. The messaging engine in Bus n is connected to the messaging engine in Bus 1 by using a direct service integration bus link. There is an indirect connection between Bus n and Bus 2, and between Bus n and Bus 3.
Figure 4. A network after Bus n is added
Bus configurations
Interconnected bus configurations
Configurations that include WebSphere MQ
Connect buses
Connect buses by using an indirect connection
Configure foreign bus connections
List the foreign bus connections
Remove a foreign bus connection from a bus
Configure destination defaults for a foreign bus connection
Modify a routing definition
Configure service integration bus links
Create a foreign destination on a bus
Secure access to a foreign bus
Indirect routing properties [Settings]