WAS v8.5 > WebSphere applications > Service integrationBus destinations
Service integration has the following types of bus destinations each with a different purpose: queue, topic space, foreign, and alias.
We can 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). We can use a foreign destination for point-to-point messaging. You use a foreign destination if you 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 a WebSphere MQ network (that is, one or more interconnected WebSphere 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, you 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, you 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 you configure a service integration bus link or a WebSphere 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, as described in Configure topic space mappings between service integration buses. For a link to a WebSphere MQ network, configure a publish/subscribe bridge, as described in Publish/subscribe messaging through a WebSphere MQ link.
- Alias destination
- An alias destination maps an alternative name for a bus destination. We can 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 the target destination is itself an alias destination.
You 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 WebSphere MQ naming restrictions (for example, the names are too long). For such destinations, we can define an alias destination that maps a WebSphere MQ-compliant name to the service integration name. A WebSphere MQ application can use the WebSphere 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 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. Mediations 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
Most WAS applications use the JMS APIs to access the services provided by the service integration bus. JMS defines JMS destinations, which are the Java objects to which JMS applications send messages and from which JMS applications receive messages. The attributes of a JMS destination include the address of the destination the messaging provider uses. For the service integration messaging provider, this address is a service integration destination name (a queue name or topic space name) and a bus name. In this way, a JMS destination can identify a service integration bus destination.- Queue destinations
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..- Publish/subscribe messaging and topic spaces
We can use publish/subscribe messaging to publish one message to many subscribers. A producing application publishes a message on a given subject area or topic. The topic for a specific message (publication) is a property of the message. Consumer applications that have subscribed to the topic each receive a copy of the message. A topic space is a hierarchy of publish/subscribe topics. These topics have publication points automatically defined on each messaging engine in their associated service integration bus.- Foreign destinations and alias destinations
Foreign destinations and alias destinations are types of bus destination. A foreign destination represents a destination defined in another bus (a foreign bus). An alias destination maps to an alternative name for a bus destination defined either in the local bus or in a foreign bus.- Permanent bus destinations
A permanent destination is configured by an administrator and has its runtime instances created automatically by the messaging provider. Permanent destinations remain until the administrator explicitly deletes them.- Temporary bus destinations
A temporary destination only exists 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.- Exception destinations
An exception destination is a location for messages that cannot be delivered to, or remain on, a specified target destination, but that also cannot be discarded. Exception destinations prevent the loss of messages when this is required by the quality of service specified for a message.- Destination mediation
A destination can be configured with one or more mediations that refine how messages are handled by the destination. For example, a mediation can modify the actual message, or redirect the message to another destination or sequence of destinations, or both.- Destination routing paths
A routing path defines a sequential list of intermediary bus destinations that messages must pass through to reach a target bus destination. A routing path is used to apply the mediations configured on several destinations to messages sent along the path.- Message points
A message point is associated with a messaging engine and holds messages for a bus destination.- Message ordering
Message ordering is important to some asynchronous messaging applications; that is, it is important to consume messages in the same order the producer sends them. If this type of message ordering is important to the application, your design must take it into account.- Strict message ordering for bus destinations
If message order must be maintained in all circumstances, a destination can be configured so the order of messages is preserved much more rigorously than for a normal destination.- Message selection and filtering
Message selection and filtering can occur when a consumer attaches to a destination.
Related concepts:
Destination security
Topic security
Mediations
Point-to-point messaging across multiple buses