Network Deployment (Distributed operating systems), v8.0 > Applications > Messaging resources > Interoperation with WebSphere MQ
Interoperation with WebSphere MQ: Comparison of key features
There are three different ways that you can send messages between WAS and a WebSphere MQ network. This topic compares the key features of each of the three ways.
Key features comparison between the three ways of interoperating with WebSphere MQ. The first column of this table shows the key features of interoperating using the WebSphere MQ messaging provider with no bus, the second column shows the key features of interoperating using the WebSphere MQ network as a foreign bus (using WebSphere MQ links), and the third column shows the key features of interoperating using a WebSphere MQ server (a queue manager or queue-sharing group) as a bus member.
WebSphere MQ messaging provider (no bus) A WebSphere MQ network as a foreign bus (using WebSphere MQ links) A WebSphere MQ server (a queue manager or queue-sharing group) as a bus member
default messaging provider to pass a message to the WebSphere MQ messaging provider, which uses JMS messaging protocols to pass the message to a WebSphere MQ queue or topic." />
default messaging provider to pass a message to a service integration bus. The bus passes the message across a WebSphere MQ link to a WebSphere MQ queue or topic. Service integration views the WebSphere MQ system as if it were a foreign bus." />
default messaging provider to pass a message to a service integration bus. The bus passes the message through a WebSphere MQ server to a WebSphere MQ queue. Service integration views the WebSphere MQ system as if it were a bus member." />
Connectivity
With the WebSphere MQ messaging provider, you can interoperate with WebSphere MQ v6 or later. See the following link, for details on which fix pack levels you will need for the configuration: http://www-01.ibm.com/support/docview.wss?uid=swg21498708 With a WebSphere MQ link, you can interoperate with any supported version or release of WebSphere MQ, on any platform. With a WebSphere MQ server, you can only interoperate with WebSphere MQ for z/OS v6 or later, or WebSphere MQ v7 or later. Uses the WebSphere MQ messaging provider. Uses the default messaging provider. Uses the default messaging provider. No use of service integration buses. Uses a service integration bus. Uses a service integration bus. WAS regards the WebSphere MQ messaging provider as a JMS messaging provider. The WebSphere MQ messaging provider is regarded by the WebSphere MQ network as a WebSphere MQ client attaching to the queue manager or queue-sharing group.
Each end of the WebSphere MQ link appears in a natural form to the other end, so the WebSphere MQ network appears to service integration as a foreign bus and the service integration bus appears as a virtual queue manager to the WebSphere MQ network. The WebSphere MQ server regards the WebSphere MQ queue manager or queue-sharing group as a bus member, or a mechanism for queuing messages for the service integration bus. A queue is viewed as a bus destination. The WebSphere MQ server is regarded by the WebSphere MQ network as a WebSphere MQ client attaching to the queue manager or queue-sharing group.
Provides multiple connections between WAS application servers and WebSphere MQ queue managers or queue-sharing groups. Connections are established as and when required to allow WAS applications to access WebSphere MQ queues. Provides a single connection between a service integration bus and a WebSphere MQ network (comprising one or more interconnected WebSphere MQ queue managers or queue-sharing groups). This single connection is used to transfer all the messages that are exchanged between the service integration network and the WebSphere MQ network. The link acts as a funnel, routing messages through the gateway messaging engine or queue manager. To establish multiple links from a service integration network, you can define multiple foreign buses to represent different queue managers or queue-sharing groups on the WebSphere MQ network. Provides multiple connections between messaging engines in a service integration bus and WebSphere MQ queue managers or queue-sharing groups. Connections are established as and when required, to allow WAS applications to access WebSphere MQ queues. A connection can be configured to use properties of the message bus to which it belongs, giving the potential for each WebSphere MQ server to be bus-specific. Connection between the WAS and the WebSphere MQ network can use a TCP/IP communication link or, if the WAS is running on the same image as the WebSphere MQ queue manager, it can use a direct call interface (this is called bindings mode). The channel for the connection is a bidirectional MQI channel. Connection between the service integration bus network and the WebSphere MQ network uses a TCP/IP communication link. The sender and receiver channels for the connection are message channels. Connection between the service integration bus network and the WebSphere MQ network can use a TCP/IP communication link or, if the WAS application server is running on the same image as the WebSphere MQ queue manager, it can use a direct call interface (this is called bindings mode). The channel for the connection is a bidirectional MQI channel. For WebSphere MQ for z/OS, messages can be stored on shared queues. If a queue manager fails, messages can still be retrieved from a different queue manager (so no single point of failure exists). If the communication link fails temporarily, messages are stored by WebSphere MQ or the service integration bus and are delivered when the communication link recovers. For WebSphere MQ for z/OS, messages can be stored on shared queues. If a queue manager fails, messages can still be retrieved from a different queue manager (so no single point of failure exists).
Applications
Does not integrate the service integration bus with the WebSphere MQ network. Service integration bus mediations running in WAS cannot process messages from a WebSphere MQ queue, and WebSphere MQ applications cannot use WebSphere MQ servers to put messages to, or get messages from, service integration bus queue-type destinations. Integrates the service integration bus with the WebSphere MQ network through a gateway queue manager. Traffic can be indirect, routed to a mapped queue. Allows closer integration; messaging applications can directly produce messages to, and consume messages from WebSphere MQ queues. WAS applications can send messages to WebSphere MQ queues. Sent messages are immediately added to the queue. If the WebSphere MQ queue is unavailable, applications cannot send messages. WAS applications can send messages to WebSphere MQ queues. Sent messages are stored by the service integration bus for transmission to WebSphere MQ (this is called store and forward messaging). Applications can continue to send messages if the WebSphere MQ queue is unavailable. WAS applications can send messages to WebSphere MQ queues. Sent messages are immediately added to the queue. If the WebSphere MQqueue is unavailable, applications cannot send messages. WAS applications can receive messages from WebSphere MQ queues. The applications can use message consumers to receive messages, and message-driven beans can be configured to process messages as soon as they arrive at the WebSphere MQ queue. WAS applications cannot receive messages from WebSphere MQ queues, because the queues are destinations in a foreign bus. For messages to pass from WebSphere MQ to WAS applications, WebSphere MQ applications must send the messages to a suitable destination in the service integration bus used by the WAS applications. WAS applications can receive messages from WebSphere MQ queues. The applications can use message consumers to receive messages, and message-driven beans can be configured to process messages as soon as they arrive at the WebSphere MQ queue. Also, service integration bus mediations running in WAS can process messages as they arrive at a WebSphere MQ queue. WAS applications can publish messages to WebSphere MQ topics and subscribe to messages on WebSphere MQ topics in the same way as applications in the WebSphere MQ environment. We can set up a publish/subscribe bridge on the WebSphere MQ link, so that WAS applications and WebSphere MQ applications can publish or subscribe to selected topics that exist in both the WebSphere MQ environment and the WAS environment. A WebSphere MQ server provides connections with queues for point-to-point messaging. A topic for publish/subscribe messaging cannot be associated with a WebSphere MQ server. Messages are stored on queues, not messaging engines; one or many WAS applications can access the messages, even when the applications are running on different servers. Messages are stored on messaging engines. Messages are stored on queues, not messaging engines; one or many WAS applications can access the messages, even when the applications are running on different servers. Messages are pulled from the queue by a consuming application, and pushed by a producing application. Messages are pushed across the link, regardless of whether a consumer is ready. Messages are pulled from the queue by a WAS consumer, and pushed by a WAS producer. Does not support mediations. Does not support mediations. Supports different mediation scenarios for modifying message content, or routing, and for logging. Optimum load balancing is easier to achieve because applications can pull messages from the WebSphere MQ network. Messages are pushed to applications from the WebSphere MQ network, but workload balancing options are available in WAS. Optimum load balancing is easier to achieve because applications can pull messages from the WebSphere MQ network.
Administration and security
Configured and managed by . Configured and managed by . Configured and managed by . Automatically discovers queues on the WebSphere MQ network during configuration and administration. Administration is carried out in WebSphere MQ. In WAS define JMS artefacts such as destinations, connection factories, listener ports, and activation specifications. Cooperative administrative domains for WebSphere MQ and WAS:
- Mutually agree definitions of channels, foreign destinations and buses, to reflect WebSphere MQ connectivity
- Both ends of the link must be started
- Administrators can stop or start a link
Independent administrative domains for WebSphere MQ and WAS:
- Separate authority
- Temporal decoupling of administrative changes
You might have to define server connection channels in WebSphere MQ. We must define partner channel definitions in WebSphere MQ. You might have to define server connection channels in WebSphere MQ. Permission for WAS applications and mediations to send messages to, and receive messages from, a particular WebSphere MQ is controlled by WebSphere MQ administration. Permission for WAS applications to send messages to a particular WebSphere MQ queue is controlled by service integration bus administration. Permission for WebSphere MQ applications to send messages to service integration destinations is controlled by WebSphere MQ administration.
Permission for WAS applications and mediations to send messages to, and receive messages from, a particular WebSphere MQ queue is controlled by service integration bus administration. Permission for WAS (which includes permission for its applications and mediations) to access WebSphere MQ queues is controlled by WebSphere MQ administration.
For WAS v7 and later, listener ports are stabilized. For more information, read the article on stabilized features. You should plan to migrate your WebSphere MQ message-driven bean deployment configurations from using listener ports to using activation specifications. However, you should not begin this migration until you are sure the application does not have to work on application servers earlier than WAS v7. For example, if we have an application server cluster with some members at v6.1 and some at v7, you should not migrate applications on that cluster to use activation specifications until after you migrate all the application servers in the cluster to v7.
High availability and workload sharing
Interoperation with WebSphere MQ Concept topic