JMS Setup for Data Intake in Cluster Environment - WebSphere Configuration

1. Introduction and Definitions

A JMS queue in WebSphere Server is associated with a number of additional resources:

The high-level configuration steps are as follows to configure messaging within WebSphere Application Server for the MDB sample:

  1. Configure the service bus
  2. Configure the bus members
  3. Configure the destinations
  4. Verify the messaging engine startup
  5. Configure JMS connection queue factory
  6. Configure the destination JMS queue

A service integration bus supports applications using message-based and service-oriented architectures. A bus is a group of one or more interconnected servers or server clusters that are members of the bus. Applications connect to a bus at one of the messaging engines associated with its bus members.

 

db2Object Name Type JNDI Name
DataIntakeJMSServer SIB (BUS Name)  
IntakeConnectionFactory Queue Connection Factories IntakeConnectionFactory
DIQueue JMS Queue DIQueue

2. Configuration Steps

Pre-requisites for running Data Intake:

  • Cycle Cluster configured on the websphere.
  • The property dataIntake.enabled should be set to true on server side of Cycle.
  • Need to provide Customer Name, Intake Profile name , and Class Name (In case of Enrollment) in the loading file, which should be created on OIPA side prior to Data Intake. The steps to be followed on OIPA side can be found in the below Page.

The following steps are to be done in the WebSphere Application Console, to setup JMS.

Configure the service bus

  1. From the WebSphere Administrative Console, select Service integration > Buses.
  2. Click New.
  3. Enter the following and then click OK:
    • Name: DataIntakeJMSServer
    • Uncheck Bus Security

    Create new service integration bus

  4. Click on Next and Click on Finish on the next Screen. On successful creation. You can see the Bus as shown below:
  5. Buses

Configure the bus members

To configure the Bus members, do the following:

  1. Select Service integration > Buses.
  2. Click the DataIntakeJMSServer created in the previous section.
  3. Under Topology on right hand side click on Bus members.
  4. General Properties

  5. On the next page select the Created Cycle Cluster under Cluster option:
  6. Add new bus member

  7. Click Next on the Messaging engine policy assistance settings.
  8. Messaging engine policy assistance settings

  9. Click Next and in the next window select File Store.
  10. File Store

  11. Click on Next.
  12. Select Messaging Engines listed in the next page and configure. Provide the Log directory path, Permanent Store directory path and Temporary store directory path.
  13. Select Messaging Engines

  14. Click on Next.
  15. Click on Next on Configure messaging engines.
  16. Click on Next in the Tune performance parameters page.
  17. Click on Finish on the summary page.

Configure the destinations

To configure the destinations for messaging, do the following:

  1. Select Service integration > Buses.
  2. Click the DataIntakeJMSServer.
  3. Under Destination Resourcesclick Destinations.
  4. DataIntake JMS Server

  5. Click on New and select Queue and give the Queue Name as DIQueue as shown below
  6. Create new Queue

  7. Click on Next and select the Bus member that is created earlier.
  8. Assign queue to bus member

  9. Click on Next > Finish. After successful creation of Queue you should be seeing it as shown below.
  10. Destinations

Configure JMS connection queue factory

To configure the JMS connection queue factory, do the following:

  1. Display the default messaging provider, Select Resources >JMS> JMS Providers.
  2. In the opened window, select the scope to the created Cluster for cycle server.
  3. JMS Providers

  4. Click on Default Messaging Provider as shown below.
  5. Default Messaging Provider

  6. In the opened window select Queue Connection Factory.
  7. Queue Connection Factory

  8. Click on New.
  9. Enter the Connection factory Details as:
    • Scope: Cluster
    • Name: IntakeConnectionFactory
    • JNDI Name: IntakeConnectionFactory
    • Bus: DataIntakeJMSServer
    • Target: Cluster name. Eg. CycleServerCluster
    • Target Type: Bus Member Name
    • Provider End Point: host1:SIB_ENDPOINT_ADDRESS, host2:SIB_ENDPOINT_ADDRESS
    • (Comma separated hosts under the cluster with their SIB_ENDPOINT_ADDRESSES).

  10.  SIB End-point Address

  11. SIB end point can be seen by clicking on Server > Ports.
  12. SIB end point Server-port

  13. Click on Apply and save to master configuration.
  14. After successful creation of Queue Connection factory, you should be seeing it under Queue Connection factories.
  15. Queue Connection factories

Configure JMS Queue

  1. Select Resources > JMS Providers.
  2. Click on Default messaging provider and click on Queues under the Additional Properties. Click on New.
  3. Give the Queue Details as mentioned below:
    • Scope: Cluster
    • Name: DIQueue
    • JNDI Name: DIQueue
    • Bus Name: DataIntakeJMSServer
    • Queue : DIQueue
    • Apply and save to master configuration.
  4. Queue Details

Verify the messaging engine startup

To verify the messaging engine startup, do the following:

  1. Ensure the application server has been restarted.
  2. Start the WebSphere Administrative Console.
  3. Select Service integration > Buses.
  4. Click DataIntakeJMSServer.
  5. Under Toplology click on Messaging engines.
  6. You should see the green arrow under Status to note the Node. server-DataIntakeJMSServer Messaging Engine has been started.

Update Global Security Settings

In Application Server Admin Console,

  1. Go to Security -> Global Security (in the left side menu).
  2. Under Authentication panel -> Expand RMI/IIOP security.
  3. Click on CSIv2 inbound communications >CSIv2 Transport Layer, set Transport : SSL-supported.
  4. Similarly, for CSIv2 outbound communications > CSIv2 Transport Layer, set Transport : SSL-supported.
  5. Apply and Save the configuration settings. Restart the Cycle Server.

Configuration on the DI Client side.

  1. Update the below parameters in CycleClient.properties file on the DI client/conf folder.
    • contextFactory=com.ibm.websphere.naming.WsnInitialContextFactory
    • provider.url=iiop://HOST_NAME:BOOTSTRAP_ADDRESS
  2. The below mentioned jars should be provided on the client side lib directory. These are available in the WebSphere libraries.
    • com.ibm.ws.ejb.thinclient_8.5.0.jar
    • com.ibm.ws.orb_8.5.0.jar
    • com.ibm.ws.sib.client.thin.jms_8.5.0.jar