You can connect a service integration bus and a WebSphere® MQ network
to send and receive messages by using publish/subscribe messaging. To do this,
you create a foreign bus connection, where the WebSphere MQ network
is viewed as a foreign bus.
Before you begin
To connect a service integration bus and a
WebSphere MQ network
to use publish/subscribe messaging, the following resources must be defined
in
WebSphere Application Server:
- A service integration bus that you want to connect from, known as the
local bus. The bus must have at least one bus member.
The following resources must be defined in
WebSphere MQ:
- A queue manager or (for WebSphere MQ for z/OS®)
queue-sharing group, which acts as the gateway to the WebSphere MQ network.
- A listener that is configured and running.
- A topic and input queue for broker publish/subscribe flow configured in WebSphere MQ.
- A sender channel (to receive messages on the local bus), a receiver channel
(to send messages from the local bus), or both.
About this task
In publish/subscribe messaging, the sending application publishes
messages to an intermediate broker destination. Multiple receiving applications
can subscribe to this destination to receive a copy of any messages that are
published. When a message arrives at a destination, the messaging provider
distributes a copy of the message to all the receiving applications that subscribe
to the destination. There can be a one-to-many relationship between the sender
and receiver of a message, depending on how many receiving applications are
subscribed to a destination when a message arrives.
Procedure
- In the navigation pane, click . A list of service integration buses is displayed.
- In the Buses pane, click the service integration bus that you want
to connect from, that is, the local bus.
- In the configuration tab, under Topology,
click Foreign bus connections.
- In the Foreign bus connections pane, click New to
start the Foreign bus connection wizard.
- In the Bus connection type pane, ensure that Direct
connection is selected.
- In the Foreign bus type pane, select WebSphere MQ.
- In the Local bus details pane, select the messaging engine that
you want to use and enter the name of the virtual queue manager, that is,
the name by which the virtual queue manager of the service integration bus
is known to the WebSphere MQ network.
- In the WebSphere MQ details
pane, complete the following details:
- Enter a name for the foreign bus, that is, the bus that represents
the WebSphere MQ network.
- Enter a name for the WebSphere MQ link that connects to
the foreign bus. Ensure that the Foreign bus name and MQ link name
are different.
- Select the Configure publish-subscribe messaging
for this connection check box.
- To send messages from the local bus to the WebSphere MQ network,
complete the following details:
- Ensure that Enable Service integration bus to WebSphere
MQ message flow is selected.
- Enter the WebSphere MQ receiver channel name, host name and
communication port.
- If the WebSphere MQ gateway
queue manager or queue-sharing group requires a secure connection, select
the Is the WebSphere MQ receiver channel secure? check
box. When this option is selected, the WebSphere MQ receiver channel
accepts only connections that have secure sockets layer (SSL) based encryption.
The connection is successful only if a set of suitably compatible SSL credentials
are associated with the service integration bus outbound channel and the WebSphere MQ receiver channel that it
connects to.
- To receive messages on the local bus from the WebSphere MQ network,
complete the following details:
- Ensure that Enable WebSphere MQ to Service integration
bus message flow is selected.
- Enter the WebSphere MQ sender channel name.
- Optionally, enter the service integration bus inbound user ID. When the local bus is secure, the inbound user ID replaces the user
ID in messages from the foreign bus that arrive at the local bus and is used
to authorize whether those messages can access their destinations. Specify
an inbound user ID for the local service integration bus under the following
circumstances:
- The foreign bus is in a different security domain, so user IDs in the
foreign bus are not recognized in the local bus.
- You want local control of access to inbound messages to the local bus.
If the local bus is not secure, the inbound user ID has no effect on
messages. If the local bus is secure, the foreign bus is not secure, and an
inbound user ID is not set, an inbound message from the foreign bus is only
authorized to destinations that allow unauthenticated users access.
- From the Publish-subscribe details pane, repeat the following steps
for each topic mapping you want to create:
- Enter the name of the topic on the local bus.
- Select the name of the topic space on the local bus that will
map to the topic space on the foreign bus.
- Enter the name of the gateway queue manager or queue sharing
group for the WebSphere MQ broker configured for broker publish/subscribe
flow.
- To send messages from the local bus to the WebSphere MQ gateway
queue manager or queue-sharing group, enter the name of the queue for the WebSphere MQ broker destination.
- To receive messages on the local bus from the WebSphere MQ gateway
queue manager or queue-sharing group, enter the name of the subscription point
that will receive messages.
- Select the direction of message flow for the publish/subscribe
topic mapping. The options available depend on whether you completed
details on the WebSphere MQ details
pane to send messages, receive messages, or both, on the local bus.
- Click Add.
- When the Foreign bus connection wizard is finished, save your changes
to the master configuration.
Results
You have created a connection between a service integration bus and
a
WebSphere MQ network to use publish/subscribe
messaging. You have created a direct foreign bus connection, which contains
a routing definition, or virtual link. The physical link, a WebSphere MQ
link on the messaging engine for the local bus, is created automatically.
What to do next
You can test the connection.