Bus destinations
Service integration has the following types of bus destinations each with a different purpose:
- queue
- topic space
- foreign
- alias
Create and administer the following types of service integration bus destination:
- Queue destination
- A queue destination represents a message queue and is used for point-to-point messaging. A service integration queue destination is localized in a particular bus member (application server or cluster of application servers). When a producer sends a message to the queue destination, the service integration bus delivers the message to a messaging engine in that bus member. The messaging engine then delivers the message to a consumer. If necessary, the messaging engine queues the message until a consumer is ready to receive it.
- Topic space destination
- A topic space destination represents a set of "publish and subscribe" topics and is used for publish/subscribe messaging. The topic for a specific message (publication) is a property of the message.
A service integration topic space destination is not localized in a particular bus member. Service integration maintains a list of subscriptions in the topic space and matches each publication against that list. When a new publication matches one or more subscriptions in the topic space, service integration delivers a copy of the publication to each subscriber. If necessary, service integration can queue the publication message until the subscriber is ready to receive it. If the new publication does not match any subscription, service integration discards the publication.
- Foreign destination
- A foreign destination represents a destination defined in another bus (a foreign bus). Use a foreign destination for point-to-point messaging. We use a foreign destination if we need to override security settings, or messaging defaults, for an individual destination on a foreign bus.
The foreign bus can be another service integration bus or an IBM MQ network (that is, one or more interconnected IBM MQ queue managers or queue-sharing groups). When a producer sends a message to a foreign destination, service integration delivers the message to the foreign bus. The foreign bus is then responsible for queueing the message, as appropriate, based on its definition of the destination.
To override messaging defaults of a destination on a foreign bus, we configure the properties (for example, the default priority) of the foreign destination. To override security settings and control which users and groups in the local bus have access to a destination in a foreign bus, we configure the destination roles of the foreign destination. These properties apply when an application that is connected to the local bus sends messages to the destination in the foreign bus.
We do not use foreign destinations for publish-subscribe messaging. Instead, applications publish messages locally using a topic space destination in the local bus, and we configure a service integration bus link or a IBM MQ link. These links propagate the published messages into the foreign bus, or buses, where subscribers receive the messages. For a link to a service integration bus, configure topic space mappings.
For a link to an IBM MQ network, configure a publish/subscribe bridge
- Alias destination
- An alias destination maps an alternative name for a bus destination. Use an alias destination for point-to-point messaging or publish/subscribe messaging. An alias destination maps a bus name and destination name (identifier) to a target where the bus name, or the destination name, or both, are different. An alias destination can map to a queue destination or a topic space destination. If required, alias destinations can be chained so that the target destination is itself an alias destination.
We use an alias destination when we need to make a destination available under an alternative name. For example:
- Service integration destinations might have names that do not comply with IBM MQ naming restrictions (for example, the names are too long). For such destinations, we can define an alias destination that maps an IBM MQ-compliant name to the service integration name. An IBM MQ application can use the IBM MQ-compliant name to send messages to the destination.
- We can assign an alias destination to a subset of the queue points of a partitioned queue destination, and therefore use the alias destination to restrict the queue points that the producing and consuming applications use.
When we use an alias destination, we can also set properties (for example, the default quality of service) for the alias destination. When an application uses the alias destination, these properties override the properties of the target destination. If we do not want to override a property, configure the alias destination to inherit the corresponding property from the target destination.
When we use an alias destination, we can also configure destination roles for the alias destination. When the application uses the alias destination, service integration in the local bus uses these roles to control which users and groups in the local bus have access to the target destination. If we do not want to override the security for the target destination, configure the alias destination to delegate the authorization check to the target destination.
Bus destinations can be either permanent or temporary. When an administrator configures a service integration destination, that destination is a permanent destination that exists until an administrator explicitly deletes it. In contrast, a temporary destination exists only while an application is using it. Typically, this situation occurs when the application uses a JMS temporary destination. Service integration creates a corresponding temporary service integration bus destination.
We can configure queue, topic space, and alias destinations with one or more mediations, which are programs that process each message after the producing application sends the message to the destination, and before any consuming applications receive the message from the destination. For example, a mediation can modify the actual message, or redirect the message to another destination or sequence of destinations, or both.
We can configure queue, topic space, and alias destinations with routing paths:
- The default forward routing path defines a sequential list of intermediary destinations that messages must pass through to reach the target destination, before consumers can retrieve the messages from that destination. Each intermediary destination applies its mediations to the messages.
- The reply destination is the next destination to which reply messages are sent.
Subtopics
- How JMS destinations relate to service integration destinations
- Queue destinations
- Publish/subscribe messaging and topic spaces
- Foreign destinations and alias destinations
- Permanent bus destinations
- Temporary bus destinations
- Exception destinations
- Destination mediation
- Destination routing paths
- Message points
- Message ordering
- Strict message ordering for bus destinations
- Message selection and filtering
Related:
Administer service integration buses Destination security Topic security Mediations Point-to-point messaging across multiple buses