WebSphere MQ Everyplace and WebSphere MQ networks

Although a WebSphere MQ Everyplace network can exist standalone, without the need for a WebSphere MQ server or network, in practice WebSphere MQ Everyplace is often used to complement an existing WebSphere MQ installation. This extends WebSphere MQ's reach to new platforms and devices, and provides advanced capabilities, such as queue or message based security and synchronous messaging. From a WebSphere MQ Everyplace application perspective, WebSphere MQ queues and queue managers act as additional remote queues and queue managers. However, a number of functional restrictions exist because these queues are not accessed directly through WebSphere MQ Everyplace connections and a WebSphere MQ Everyplace queue manager, but require the involvement of an WebSphere MQ Everyplace gateway.

The gateway can send messages to multiple WebSphere MQ queue managers either directly or indirectly, through WebSphere MQ client channels. If the connection is indirect, the messages pass through WebSphere MQ client channels to an intermediate WebSphere MQ queue manager and then onwards through WebSphere MQ message channels to the target queue manager. Chapter 7, Interoperability with other messaging systems, of the WebSphere MQ Everyplace Application Programming Guide provides more information on the gateway and message routing between WebSphere MQ Everyplace and WebSphere MQ.

Interface to WebSphere MQ

This section does not apply to the C codebase.

WebSphere MQ Everyplace supports the WebSphere MQ bridge, which acts as an interface between WebSphere MQ Everyplace and WebSphere MQ networks. This bridge uses the WebSphere MQ Java client to interface to one or more WebSphere MQ queue managers, thereby allowing messages to flow from WebSphere MQ Everyplace to WebSphere MQ and vice versa. In the current version of WebSphere MQ Everyplace one such bridge is recommended per server, and each is associated with multiple WebSphere MQ queue manager proxies (definitions of WebSphere MQ queue managers). A queue manager proxy definition is required for each WebSphere MQ queue manager that communicates with WebSphere MQ Everyplace. Each of these definitions can have one or more associated client connection services, where each represents a connection to a single WebSphere MQ queue manager. Each of these may use a different WebSphere MQ server connection to the queue manager, and optionally a different set of properties such as user exits or ports.

Chapter 7, Interoperability with other messaging systems, of the WebSphere MQ Everyplace Application Programming Guide describes WebSphere MQ bridge properties in detail, how messages flow between WebSphere MQ Everyplace and WebSphere MQ using the WebSphere MQ bridge, and how to customize the bridge for your specific purposes.

Message conversion

WebSphere MQ Everyplace messages destined for WebSphere MQ pass through the bridge and are converted into a WebSphere MQ format, using either a default transformer or one specific to the target queue. A custom transformer offers much flexibility, for example it is good practice to use a subclass of the WebSphere MQ Everyplace message class to represent messages of a particular type over the WebSphere MQ Everyplace network. On the gateway a transformer can convert the message into a WebSphere MQ format using appropriate mapping between fields and WebSphere MQ values and adding specific data to represent the significance of the subclass.

The default transformer from WebSphere MQ Everyplace to WebSphere MQ cannot take advantage of subclass information but has been designed to be useful in a wide range of situations. It has the following characteristics:

This MQeMQMsgObject class and the default transformer behavior mean that:

Function

WebSphere MQ remote queues are enabled for synchronous WebSphere MQ Everyplace put messaging operations, from a WebSphere MQ Everyplace queue manager. All other messaging operations must be asynchronous.

WebSphere MQ Everyplace administration messages cannot be sent to a WebSphere MQ queue manager. The administration queue does not exist there and the administration message format differs from that used by WebSphere MQ.

Compatibility

A WebSphere MQ Everyplace network can exist independently of WebSphere MQ, but in many situations the two products together are needed to meet the application requirements. WebSphere MQ Everyplace can integrate into an existing WebSphere MQ network with compatibility including the aspects summarized below:

Addressing and naming:

Applications:
WebSphere MQ Everyplace is able to support existing WebSphere MQ applications without application change.

Connections:
The WebSphere MQ Everyplace gateway uses WebSphere MQ client channels.

Message interchange and content:

WebSphere MQ Everyplace Version 2.0 does not support all the functions of WebSphere MQ. Apart from environmental, operating system and communication considerations, some of the more significant differences:

However, within WebSphere MQ Everyplace many application tasks can be achieved through alternative means using WebSphere MQ Everyplace features, or through the exploitation of sub-classing, the replacement of the supplied classes or the exploitation of the rules, interfaces, and other customization features built into the product.

Assured delivery

Although both WebSphere MQ Everyplace and WebSphere MQ offer assured delivery, they each provide for different levels of assurance. When a message is travelling from WebSphere MQ Everyplace to WebSphere MQ, the message transfer is only assured if the combination of putMessage and confirmPutMessage is used. Chapter 6, Message Delivery, of the WebSphere MQ Everyplace Application Programming Guide, provides detailed information on transferring messages. When a message is travelling from WebSphere MQ to WebSphere MQ Everyplace, the transfer is assured only if the WebSphere MQ message is defined as persistent.



© IBM Corporation 2002. All Rights Reserved