WebSphere Messaging Transport

To use the WebSphere messaging transport:

A WebSphere administrator defines queue managers and queues. An application can only use queues that have been defined previously. However, you can create a temporary queue (for example, for reply messages) that is based on a previously declared model queue with masking.

The following diagram, which is only one possible scenario, shows JADE processes in different nodes accessing a WebSphere MQ queue.

Each JADE process, which could be on the same node or a different node, is using the WebSphere client interface to communicate with the WebSphere messaging hub. Either of the JADE processes could be replaced by some other form of WebSphere client. In general, the architecture supports communication across JADE nodes and hosts.

The queue manager is a separate, active, operating system process. Unconsumed messages can be lost when the queue manager terminates, depending on the configuration. More than one queue manager is allowed in a machine. A queue manager is a global resource, and any process or thread on that machine can open a queue owned by that queue manager (allowing for security restrictions).

Messages are transferred between queue managers using point-to-point connection-based protocols. The queue managers can be on the same or different machines, which can be geographically distributed.

When a sender passes a message to a local queue manager for forwarding to a queue owned by another queue manager, the sender does not need to manage the underlying transport (for example, by opening a TCP/IP connection). Each queue manager can be addressed separately, and therefore each queue can be addressed separately. A queue hosted by another queue manager is declared locally as a remote queue and is linked to the transmission queue for a channel connection between the two queue managers.

Queues and queue managers are defined persistently, but the message list for a queue is usually stored in memory only. The JADE implementation uses unreliable message handling. Messages waiting in the queue are lost when the queue manager terminates. A get operation permanently removes a message from the queue. A put operation releases the message for immediate delivery.

A receiver gets an exception while waiting for messages if the queue manager terminates. A sender gets an exception if it attempts to put a message in a queue owned by a terminated queue manager to which it was directly linked. A sender can successfully put a message in a remote queue when the owner queue manager is not active; the local queue manager holds the message in memory until it can be forwarded.

The following extensions are specific to the WebSphere MQ transport.