Friday, March 13, 2015

Websphere MQ with IBM WCS

  1. Run setup.exe to install MQ
  2. In the Field for the Queue Manager name – Type in QM_{$Computer_Name}
    ** This can also be any significant name
    To get Compute Name – Goto Start -> My Computer -> Right Click - > Properties -> Tab to Computer Name

    Do NOT Join the Queue Manager to the Default Cluster.


  3. Once installed, To Test if the listener is running.

    Start -> run -> cmd

    > netstat -an | find "1414"
      TCP    0.0.0.0:1414           0.0.0.0:0              LISTENING

Configuring WebSphere MQ for use with WebSphere Commerce :


Once the Queue Manager has been created.  Queues also need to be added.
Right Click on Queues - > Create New
Created a queue for each of the following

Queue
Description
hostname.error
Default error queue. Collects erratic inbound messages.
hostname.inbound
Used by SendReceiveImmediate mode of the adapter for WebSphere MQ. It is where the reply and response messages from the backend system should go. WebSphere Commerce can optionally pick reply and response messages based on an outgoing request to a backend system.
hostname.inboundp
Any message arrive at this queue will be processed in parallel manner.
hostname.inbounds
Any message arrive at this queue will be processed in serial manner based on the message delivery sequence option of the queue.
hostname.outbound
Used for WebSphere Commerce initiated outbound messages and reply messages from WebSphere Commerce.






Add the Environment Variables
Start -> My Computer -> Right Click -> Advanced -> Environment Variables ->
MQSERVER
CLIENT.QM_<Hostname>


 Configuring WebSphere Application Server for use with WebSphere MQ

  1. Start the default WebSphere Application Server application server (server1).
D:\IBM\WCDE_ENT70_Comet\bin>startWCServer.bat
  1. Open the WebSphere Application Server Administrative Console.
http://localhost:9060/ibm/console
  1. Log on to the WebSphere Application Server Administrative Console.
wasadmin
  1. In the navigation tree, expand Environment and select WebSphere Variables. Enter the MQ_INSTALL_ROOT value:
 Click MQ_INSTALL_ROOT.



Value

C:\IBM\WebSphereMQ (OR) ${C:\Program Files (x86)\IBM\WebSphere MQ
(path in which websphere MQ is installed)

This changes mostly stored at : Document cells/localhost/nodes/localhost/variables.xml is modified.
5. Click OK.
6. Click Save in the Administrative Console task bar.
7. On the Save page, select Synchronize changes with node.
8. On the Save page, click Save.
9. Close the WebSphere Application Server Administrative Console.

Setting Native Lib Paths

Open the WebSphere Application Server Administrative Console. Log on to the WebSphere Application Server Administrative Console. Enable the ActivitySession service.
Expand Servers > Server Types. Click WebSphere Application Servers.
Click server1.
Under Container Settings, expand Business Process Services.
Click the ActivitySession service.
Select Enable service at server startup.
Click OK and save the configuration.

Click on Resourses - > JMS -> JMS Providers
And set the java lib path in native lib paths area
For Eg. (C:\Program Files (x86)\ibm\WebSphere MQ\java\lib64)

Determining the maximum number of connections allowed for the Adapter for WebSphere MQ

In the WebSphere Application Server Administrative Console navigation tree, expand Applications > Application Types and select WebSphere enterprise applications.
In the list of enterprise applications, click WC
Under Modules, click Manage Modules.
In the list of connector modules, click Adapter for WebSphere MQ. The Enablement-JCAJMSConnector.rar page displays. 
In the Additional Properties section on the Enablement-JCAJMSConnector.rar page, click Resource Adapter. The WC.Adapter for WebSphere MQ page displays,
In the Additional Properties section of the WC.Adapter for WebSphere MQ page, click J2C Connection Factories. The J2C Connection Factories page displays.
In the list of J2C Connection Factories, click Enablement-JCAJMSConnector.rar. The Enablement-JCAJMSConnector.rar page displays.
In the Additional Properties section on the javax.resource.cci.ConnectionFactory page, click Connection Pool Properties. The Connection Pools page displays.
Enterprise Applications > WC > Manage Modules > Enablement-JCAJMSConnector.rar > WC.Adapter for WebSphere MQ > J2C connection factories > javax.resource.cci.ConnectionFactory > Connection pools

Take note of the value in the Max connections field. This value will be required in Creating a WebSphere MQ messaging provider queue connection factory.
Max Connections: 10

Creating a WebSphere MQ messaging provider queue connection factory


1. In the WebSphere Application Server Administrative Console navigation tree, expand Resources and select JMS then Queue connection factories.
2. Select the scope of the queue connection factory from the list. It is recommended to create it under the scope of Node=WC_instance name_node, Server=server1 level.
3. Click New.
4. Select WebSphere MQ messaging provider and click OK


Configure basic attributes with the following values:
In the WebSphere Application Server Administrative Console navigation tree, expand Resources and select JMS then Queue connection factories.
Click New. 
Select WebSphere MQ messaging provider and click OK. 
Configure basic attributes with the following values:


Option
Description
       Name
       JMSQueueConnectionFactory
       JNDI Name                                             
       JMSQueueConnectionFactory
      Optional: Description
       JMSQueueConnectionFactory

Click Next
Enter the Queue Manager Name as appears in MQ Messaging

Click Next
In Enter Connection Details -> Select Bindings
Test Connection -> Summary -> Finished.


In the WebSphere Application Server Administrative Console navigation tree, expand Resources and select JMS then Queues

JMS queue to WebSphere MQ queue mappings



JMS queue
   WebSphere MQ queue
Target Client
      JMSSerialInboundQueue
      hostname.inbounds
        JMS
     JMSParallelInboundQueue
     hostname.inboundp
        JMS
     JMSInboundQueue
     hostname.inbound
        JMS
     JMSOutboundQueue
     hostname.outbound
        MQ
     JMSErrorQueue
     hostname.error
       MQ


Configuring WebSphere Commerce to use WebSphere MQ


In Info Center there is a step
To do this in Developer update the wc-server.xml
c:\IBM\WCDE_ENT70_Comet\workspace\WC\xml\config\ wc-server.xml

   <component
      compClassName="com.ibm.commerce.messaging.listener.TransportAdapter"
      enable="true" name="Listener for WebSphere MQ (TransportAdapter)">
      <property display="false">
        <tmpInboundConnectorFile filename="some transport xml file name - temporary"/>
      </property>
    </component>


Once this is updated, restart the server.


Testing WebSphere MQ configuration

To test your WebSphere MQ configuration, insert the following message in the hostname.inbounds message queue
Procedure
Open the WebSphere MQ Explorer according the instructions in the WebSphere MQ documentation.
Right-click hostname.inbounds and select Put Test Message from the pop-up menu.
In the test message window, enter the following text: <?xml test message> .
WebSphere MQ is configured properly if the following occurs:
The test message is consumed from the serial inbound queue (hostname.inbounds).
An error message appears in the hostname.outbound queue.
The original message appears in the hostname.error queue.


No comments:

Post a Comment