WAS v8.5 > WebSphere applications > Messaging resources > Interoperation with WebSphere MQInteroperation with WebSphere MQ: Comparison of architectures
The three different ways that we can send messages between WebSphere Application Server and a WebSphere MQ network are compared at a high level, showing the relative advantages and disadvantages of each approach.
WebSphere MQ as an external messaging provider
The WebSphere MQ messaging provider does not use service integration. It provides JMS messaging access to WebSphere MQ from WAS.The WebSphere MQ messaging provider makes point-to-point messaging and publish/subscribe messaging available to WAS applications using the existing capabilities in the WebSphere MQ environment. WAS applications can interact with WebSphere MQ queues and topics to send, receive, publish, and subscribe to messages in the same way as any JMS application in the WebSphere MQ environment.
Using WebSphere MQ as an external messaging provider requires more WebSphere MQ administration, less WAS administration.
Advantages and disadvantages of WebSphere MQ as an external messaging provider. The first column of this table shows the advantages of using WebSphere MQ as an external messaging provider, and the second column shows the disadvantages of using WebSphere MQ as an external messaging provider.
Advantages Disadvantages
- We do not have to configure a service integration bus or messaging engines.
- We can connect directly to WebSphere MQ queue managers.
- You manage a single JMS messaging provider rather than two.
- We can connect to queue managers in client mode or bindings mode.
- We can use point-to-point messaging and publish/subscribe messaging.
- Interaction between WAS and WebSphere MQ is not seamless.
- We cannot use service integration mediations for modifying messages, for routing, or for logging.
A WebSphere MQ network as a foreign bus (using WebSphere MQ links)
A WebSphere MQ link provides a server to server channel connection between a service integration bus and a WebSphere MQ queue manager or queue-sharing group, which acts as the gateway to the WebSphere MQ network.When we use a WebSphere MQ link, the messaging bus is seen by the WebSphere MQ network as a virtual queue manager, and the WebSphere MQ network is seen by service integration as a foreign bus. A WebSphere MQ link enables WAS applications to send point-to-point messages to WebSphere MQ queues (defined as destinations in the service integration bus), and allows WebSphere MQ applications to send point-to-point messages to destinations in the service integration bus (defined as remote queues in WebSphere MQ). We can also set up a publish/subscribe bridge so that WAS applications can subscribe to messages published by WebSphere MQ applications, and WebSphere MQ applications can subscribe to messages published by WAS applications. The link ensures that messages are converted between the formats used by WAS and those used by WebSphere MQ.
Using a WebSphere MQ network as a foreign bus (using WebSphere MQ links) requires more WAS administration, less WebSphere MQ administration.
Advantages and disadvantages of a WebSphere MQ network as a foreign bus (using WebSphere MQ links). The first column of this table shows the advantages of using a WebSphere MQ network as a foreign bus (using WebSphere MQ links), and the second column shows the disadvantages of using a WebSphere MQ network as a foreign bus (using WebSphere MQ links).
Advantages Disadvantages
- A WebSphere MQ client facility is not required on the gateway WebSphere MQ queue manager.
- Each end of the link appears in natural form to the other; WebSphere MQ appears to service integration to be a (foreign) bus, service integration appears to WebSphere MQ to be a (virtual) queue manager.
- Better performance over the link is possible when compared with WebSphere MQ servers or direct connection to WebSphere MQ as an external JMS messaging provider.
- A managed connection from one node to another is created, but not from every application server in the cell.
- We do not have to define individual WebSphere MQ queues to the service integration bus.
- Good security support is provided. For example, we can control which users are allowed to put messages onto queues.
- WAS and WebSphere MQ can exist on separate hosts.
- Interaction between WAS and WebSphere MQ is seamless.
- We can configure a publish/subscribe bridge, through which WAS applications can subscribe to messages published by WebSphere MQ applications, and WebSphere MQ applications can subscribe to messages published by WAS applications.
- You must configure a service integration bus and messaging engines.
- We cannot connect to queue managers in bindings mode.
- Optimum load balancing is less easy to achieve because messages have to be "pushed" from either end of the link.
- We cannot use service integration mediations for modifying messages, routing, or logging.
A WebSphere MQ server (a queue manager or queue-sharing group) as a bus member
A WebSphere MQ server provides a direct client connection between a service integration bus and queues on a WebSphere MQ queue manager or (for WebSphere MQ for z/OS ) queue-sharing group. For interoperation with WAS v7 or later, the version of WebSphere MQ must be WebSphere MQ for z/OS v6 or later, or WebSphere MQ (distributed platforms) v7 or later. A WebSphere MQ server supports the high availability and optimum load-balancing characteristics provided by a WebSphere MQ for z/OS network. A WebSphere MQ server defines the connection and quality of service properties used for the connection, and also ensures that messages are converted between the formats used by WAS and those used by WebSphere MQ. A WebSphere MQ server only represents queues for point-to-point messaging; it does not represent topics for publish/subscribe messaging.
Using a WebSphere MQ server (a queue manager or queue-sharing group) as a bus member requires more WAS administration, less WebSphere MQ administration.
Advantages and disadvantages of a WebSphere MQ server (a queue manager or queue-sharing group) as a bus member. The first column of this table shows the advantages of using a WebSphere MQ server (a queue manager or queue-sharing group) as a bus member, and the second column shows the disadvantages of using a WebSphere MQ server (a queue manager or queue-sharing group) as a bus member.
Advantages Disadvantages
- WAS and WebSphere MQ can exist on separate hosts.
- Each end of the connection appears in natural form to the other; WebSphere MQ queue manager appears to service integration to be a foreign bus, service integration appears to WebSphere MQ to be a client.
- Close integration of applications is possible; service integration applications are able to consume messages directly from the WebSphere MQ network.
- We can connect to queue managers in client mode or bindings mode.
- We can use mediations for modifying messages, routing, or logging.
- Good security support is provided. For example, we can control which users are allowed to put messages onto queues.
- We can get messages from WebSphere MQ queues (GET).
- Interaction between WAS and WebSphere MQ is seamless.
- Queues on the WebSphere MQ network are automatically discovered.
- You must configure a service integration bus and messaging engines.
- The queue managers and queue-sharing groups must be accessible from all the messaging engines in the bus.
- We cannot use the WebSphere MQ server for publish/subscribe messaging with WebSphere MQ.
- WebSphere MQ for z/OS v6 or later, or WebSphere MQ (distributed platforms) v7 or later, is a prerequisite.
- If we are using different nodes with WebSphere MQ for z/OS, depending on the number of nodes and your version of WebSphere MQ for z/OS, you might require the Client Attachment feature (CAF) on z/OS.
- You must explicitly define all destinations.