WCF Architecture With WebSphere MQ
Sign in

WCF Architecture with WebSphere MQ

The WebSphere MQ custom channel for WCF is integrated on top of the IBM Message Service Client for .NET (XMS .NET) API.

The WCF architecture is as shown in the following diagram:

 

All the required components are installed by default with the WebSphere MQ V7.0.1 installation.

The three connections are: Managed client connections, Unmanaged server connections, and Unmanaged client connections. For more information about these connections, see WCF Connection Options.

WCF Connection options

There are three modes of connecting a WebSphere® MQ custom channel for WCF to a queue manager. Consider which type of connection best suits your requirements.

Unmanaged client connection

A connection made in this mode connects as a WebSphere MQ client to a WebSphere MQ server running either on the local machine or on a remote machine.

To use the WebSphere MQ custom channel for WCF as a WebSphere MQ client, you can install it, with the WebSphere MQ Client, either on the WebSphere MQ server, or on a separate machine.

Unmanaged server connection

When used in server bindings mode, the WebSphere MQ custom channel for WCF uses the queue manager API, rather than communicating through a network. Using bindings connections provides better performance for WebSphere MQ applications than using network connections.

To use the bindings connection, you must install the WebSphere MQ custom channel for WCF on the WebSphere MQ server.

Managed client connection

A connection made in this mode connects as a WebSphere MQ client to a WebSphere MQ server running either on the local machine or on a remote machine.

The WebSphere MQ custom channel classes for .NET 3 connecting in this mode remain in .NET managed code and make no calls to native services. For more information about managed code, see Microsoft documentation.

There are a number of limitations to using the managed client. For more information about these limitations, see Managed Client Connections.

Managed client connections

When WebSphere® MQ classes for .NET are used as a managed client, there are a number of differences from a standard WebSphere MQ client.

For general information on WebSphere MQ clients, which also applies to WebSphere MQ classes for .NET in client bindings mode, see WebSphere MQ Clients.

The following features are not available to a managed client:

  • Channel compression
  • SSL support
  • XA transactions
  • Channel exit chaining

If you try to use these features with a managed client, it will return an MQException. If the error is detected at the client end of a connection, it will use reason code MQRC_ENVIRONMENT_ERROR. If it is detected at the server end, the reason code returned by the server will be used.

Channel exits written for an unmanaged client do not work. You must write new exits specifically for the managed client. Check that there are no invalid channel exits specified in your client channel definition table (CCDT).

The name of a managed channel exit can be up to 999 characters long. However, if you use the CCDT to specify the channel exit name, it is limited to 128 characters.

Communication is supported only over TCP/IP.

When you stop a queue manager using the endmqm command, a server-connection channel to a .NET managed client can take longer to close than server-connection channels to other clients.

 

start_blog_img