IBM Support

Configuring WebSphere MQ for use with Maximo.

Technical Blog Post


Abstract

Configuring WebSphere MQ for use with Maximo.

Body

Recently I've been doing quite a bit of work with IBM's messaging appliance MessageSight. If you haven't heard of it and want to learn more, please click on the link. In working with this new appliance, I wanted to configure WebSphere MQ to pass my messages to from Message Sight. After configuring this, I started thinking about configuring this same WebSphere MQ environment to work with Maximo instead of using WebSphere's traditional JMS queues.

Once I started my configuration the first thing I noticed, is there isn't a lot of documentation around Integrating MQ with Maximo and WebSphere. So lets change that, in this blog entry we will go over configuring MQ with WebSphere/Maximo. Before we move any further, you will need to have WebSphere MQ installed to the point that you can open up the MQ Explorer.

 

Part 1.  Creating your Queues in IBM MQ Explorer

1. Once you launch your MQ Explorer, the first thing we want to do is create a new queue Manager.  Right click on the Queue Manager folder and choose 'New Queue Manager'. Enter your your 'Queue Manager Name' then proceed through the pages accepting the defaults until the last screen. Here you can leave the port at 1414 or define another port for your Queue Manager to listen on. (we used 9001 for this example)

image

 

2. Next we will create our queues. Right click on the 'Queues' folder and a new 'Local Queue'. Give this queue a name of 'CQINDB' then click next and Finish.

image

 

3. Once your CQINBD is created it should show on the queues view. You will want to follow step 2 for SQINBD, CQINBD, SQOUTBD and CQINBDERR. Once done the Queue view should look as follows.

image

 

4. Our last step in the MQ explorer is to create the servers connection channel. We can do this by right clicking on the Channels folder then creating a new 'Server-connection Channel'. Give your channel a name and proceed through the screens to finish. Ensure the transmission protocol is set to TCP. In this example we called it 'MAXCHAN'

image

 

Part 2: Configuring WebSphere to work with MQ.

1. The first thing we need to do on the WebSphere side is define the MQ Library Path for the messaging provider. Expand 'Resources' - > 'JMS' and click on 'JMS providers'. Select the scope on which you want this configuration defined (use cell to allow for other configurations to utilize) and choose 'WebSphere MQ messaging provider' In the 'Native library path' set the path to your WebSphere MQ Lib folder as seen below for a Windows environment.

image

 

2. The next step in WebSphere is to define the queues and point them back to your Queue Manager.  Click on 'Queues' and set the scope to the same as above. Then click on new. Choose 'WebSphere MQ messaging provider'. Based off our previous configuration set the following values.

Name: CQIN

JNDI name: jms/maximo/int/queues/cqin

Queue name: CQINBD

Queue Manager: MAXIMO

image

 

Repeat the above steps for the following

Name: SQIN

JNDI name: jms/maximo/int/queues/sqin

Queue name: SQINBD

Queue Manager: MAXIMO

 

Name: SQOUT

JNDI name: jms/maximo/int/queues/sqout

Queue name: SQOUTBD

Queue Manager: MAXIMO

 

Name: CQINERR

JNDI name: jms/maximo/int/queues/cqinerr

Queue name: CQINBDERR

Queue Manager: MAXIMO

 

You should now have the following configuration.

image

 

3. Now we will create our Queue connection factory, again under 'Resources' - > 'JMS' click on 'Queue connection factories'. Set your scope, click on new and choose ' WebSphere MQ messaging provider'. Set the following values in the panels, you can test your connection to ensure it is correct.

Name: intconfact

JNDI name: jms/maximo/int/cf/intcf

Queue Manager: MAXIMO

Hostname: maximo.local  (This will be the hostname of MQ Server)

Port: 9001 ( port defined for the TCP listener when creating the queue manager  )

Server connection channel: MAXCHAN

Transport: Client

 

image

 

4. On the connection factory you just created click on 'Custom Properties' and add the following properties.

Name: CLIENTRECONNECTOPTIONS
Value: QMGR

Name: CLIENTRECONNECTTIMEOUT
ValueL 900

 

image

 

 

5. Now lets create the Activation Specifications

Under 'Resources' - > 'JMS' -> 'Activation Specification', choose your scope and click on new. Enter the following values:.

WebSphere MQ Provider
Name: intjmsact
JNDI name: intjmsact
Queue manager: Maximo
Transport: Client
Hostname: MQ Hostname
Port: MQ Listener Port
Server connection channel: MAXCHAN
Destination JNDI name:jms/maximo/int/queues/cqin

image

Now repeat the above steps for intjmsacterr

WebSphere MQ Provider
Name: intjmsact
JNDI name: intjmsact
Queue manager: Maximo
Transport: Client
Hostname: MQ Hostname
Port: MQ Listener Port
Server connection channel: MAXCHAN
Destination JNDI name:jms/maximo/int/queues/cqinerr

 

Now that's about it for the MQ\WebSphere\Maximo configuration.  You can now define your queues on the external system as you would of previously when using JMS queues. Your transactions will send outbound and inbound via MQ.  I hope this blog helps with any configuration obstacles you may of run in to, as always feel free to comment and ask questions

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSLKT6","label":"IBM Maximo Asset Management"},"Component":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"","Edition":"","Line of Business":{"code":"LOB59","label":"Sustainability Software"}}]

UID

ibm11132515