58 Using IBM WebSphere Message Broker as an ESB with WebSphere Process Server
Figure 4-3 Data bindings
Typically, some pre-supplied data bindings are available. However, if these do not
meet your needs, you can write a custom data binding that conforms to the
commonj.connector.runtime.DataBinding interface. In fact, some data bindings
conform to a more specific interface that extends this one and that provides
methods to get and set transport-specific data.
The DataBinding interface specifies two methods, getDataObject() and
setDataObject(). The first method is used by the WebSphere Process Server to
get the data object that should be used within the module and is typically used
when the data binding is specified on an export. The second method is used to
pass the data object into the data binding to be translated into external data and
is typically used on an import. These roles are swapped when a reply message is
handled in a request-response operation.
4.1.3 MQ binding
IBM WebSphere MQ is a popular middleware set of products that provide a
well-known set of messaging communications between applications, which can
WebSphere Process Server
Example: An example of an MQ binding is provided in Chapter 9, “Scenario:
Asynchronous callback” on page 275.
Chapter 4. Connectivity options for interoperability 59
themselves be on many dissimilar systems. An MQ binding provides a way to
communicate directly with WebSphere MQ using both exports (incoming) and
imports (outgoing). An MQ binding communicates with WebSphere MQ using
native MQ messages.
An MQ binding is new for WebSphere Process Server 6.0.2, and is designed to
provide a direct replacement for the WebSphere MQ Link functionality that is still
available as part of the WebSphere Application Server platform. It is more
straightforward to configure and is generally recommended over MQ Link. An MQ
binding also provides a convenient way to communicate with WebSphere
Message Broker via WebSphere MQ.
In the binding settings, receive and send destination names are specified. These
correspond to destinations on a WebSphere MQ queue manager. Such details
as the queue manager name and the host name for the queue manager must
also be specified.
In this section, we show how a WebSphere MQ message maps to SCA artifacts.
That is, we show how a message maps to a business object and how input and
output from a WebSphere MQ client maps to an interface’s operations.
MQ import and data bindings
Four MQ native body data bindings, which serialize between the SDO and the
MQ message body, are supplied with WebSphere Process Server. In addition,
you can use a user-supplied data binding.
Restrictions: An MQ binding has the following restrictions:
The publish/subscribe method of distributing messages is not currently
supported by the MQ binding, although WebSphere MQ itself supports
MQ client connections are the only type of connections that are supported.
Channel compression, which compresses the data that flows on a
WebSphere MQ channel to improve performance, is not supported.
WebSphere MQ headers have specific data types and parsers for them
determine the data type of each field in the header. MQ bindings currently
provide support for the MQRFH and MQRFH2 header.