Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

.net using IBM MQ without full MQ client install

Tags:

.net

ibm-mq

All documemtation and information shows that we have to have an MQ Series client installed on the machine where we want to use it.

Does anyone know of a DLL (or whatever) that allows us to include MQ Series support in a .net project that does not require a local install?

like image 511
gbn Avatar asked Mar 24 '11 13:03

gbn


4 Answers

Updated with info on official IBM MQ Redistributable Client.

Excerpt:

From IBM MQ Version 8.0.0, Fix Pack 4, native redistributable client runtime libraries are provided for Linux x86-64 and Windows 64-bit platforms to make it simple to distribute both applications and the required IBM MQ runtime libraries. A third package, which is not platform-specific, contains the runtime files that are required for the Java™/JMS applications, including the IBM MQ resource adapter for JMS applications that are running under an application server.

The redistributable client that is supplied with IBM MQ is also a non-installed and relocatable image. Maintenance of a redistributable, non-installed image, is achieved through replacement; that is, you download newer versions of the runtime components when they are shipped.

A redistributable client implies distributing the required run time with an application both inside and outside of your environment.

A relocatable client implies putting the files somewhere else other than a fixed default location. For example, instead of installing into /opt/ installing into /usr/local.

A non-installed client implies that you are not required to lay down client files, and that these files can be copied as required.

The IBM IPLA license agreement is extended for IBM MQ to enable you to download a number of additional runtime files from Fix Central.

From IBM MQ Version 9.0.5, XMS .NET is shipped as part of the redistributable client. XMS .NET requires the IBM MQ .NET client (amqmdnet.dll). If unmanaged mode is to be used, then the IBM MQ C client libraries are also needed along with amqmdnet.dll.

See also the Redistributable clients on Windows page which explains how to generate packages for redistribution and notes that "IBM support is only able to provide assistance with the full, unmodified set of files contained within the redistributable client packages." This page discusses approaches to distribute the libraries in software that does not need Admin privileges to install.

You will need an IBM ID to download the redistributable MQ client from Fix Central but the download is free and when packaged per IBM's instructions is fully supported when connecting to a supported instance of MQ Server.

The previous accepted answer of a wrapper over the Java libraries still works however the same caveat applies - if IBM support is required it needs to be IBM's Java client install. Fortunately, this too now comes in a more friendly single-jar package called allclient.jar which is documented here. IBM also now documents which jar files can be relocated from the MQ Server installation and still be eligible for full support. This is discussed on the What is installed for IBM MQ classes for JMS page.

like image 177
T.Rob Avatar answered Sep 19 '22 15:09

T.Rob


OK, we have a result.

Use a .net wrapper around the Java JMS libraries that don't require a local install..

HTH

like image 39
gbn Avatar answered Sep 18 '22 15:09

gbn


I am using .NET (C#) and all I needed was the two dlls that you can grab from you IBM client installation directory.

amqmdnet.dll amqmdxcs.dll

Then in your .NET code (if you are using .NET that is) using IBM.WMQ;

like image 31
Jimi Avatar answered Sep 21 '22 15:09

Jimi


I have developed one client for IBM MQ with very light weight component, can you please check:

http://sourceforge.net/projects/jackibmmqexplorer/

Regards jack

like image 25
Jack Avatar answered Sep 18 '22 15:09

Jack