Creating a distribution list/queue for CEI and CBE events in WebSphere Process Server V6.1

On this tutorial I’ll assume that you have created a bus and know how to do it. I’ll use the one that is created by default when installing WebSphere Process Server.

The distribution list or queue is used when we need to allow others applications to connect and get information about the events in our server, as example a business monitor application that is hosted in another application server, machine, needs to collect CEI(Common Events Infrastructure) events to generate reports.

The first step is login into admin console.


1) Creating an event group list

In the left menu click in the options - > Service Integration -> Common Event Infrastructure -> Event Service.

In Event Service click in the right menu path under Additional Properties -> Event services. There is default service there click on its name.

Now click in the right menu under Additional Properties -> Event groups. The list of event groups will appear.

Fig 1.

Click New and fill in the field with those values:

1) Event group name: DistributionList_CEI_Group_AllEvents;

2) Event selector string: CommonBaseEvent[@globalInstanceId] – that string is to select all events, if you need something more specific, filter the list, you can use XPath or XQuery to define your filter;

3) Publish events to JMS topic – checked;

4) Topic JNDI name: select jms/cei/notification/AllEventsTopic – we’ll change this later;

5) Topic connection factory JDNI name: select jms/cei/notification/AllEventsTopicConnectionFactory – we’ll change this later;

6) Click OK and save.

Fig 2.

Fig 3.

Fig 4.

2) Creating an Activation Specifications

Go to Resources in the left menu, click JMS -> Activation specifications, select your scope and click New.

Fig 5.

In the next screen select your JMS Provider, click OK. In the new screen enter with the values:

1) Name: DistributionList_CEI_ActivationSpec;

2) JNDI name: jms/cei/DistributionListCEIActivationSpec;

3) Destination JNDI name: jms/cei/DistributionListCEIQueue;

4) Bus name: CommonEventInfrastructure_Bus or your bus name;

5) Authentication Alias: CommonEventInfrastructureJMSAuthAlias;

6) Click OK and save.

Fig 6.

Fig 7.

Fig 8.

Fig 9.

3)Creating a Queue Connection Factories

Still in Resource, left menu, JMS -> Queue connection factories, select your scope and click New.

Fig 10.

In the next screen select your JMS Provider, click OK. In the new screen enter with the values:

1) Name: DistributionList_CEIQueueCF;

2) JNDI name: jms/cei/DistritibutionListCEIEventQueueConnectionFactory;

3) Provider endpoints: YOURHOSTNAME:7278:BootstrapBasicMessaging, YOURHOSTNAME:7288:BootstrapSecureMessaging

4) Bus name: CommonEventInfrastructure_Bus or your bus name;

5) Component-managed authentication alias: CommonEventInfrastructureJMSAuthAlias;

6) Click OK and save.

Fig 11.

Fig 12.

Fig 13.

Fig 14.

4) Creating a Topic Connection Factories

Still in Resource, left menu, JMS -> Topic connection factories, select your scope and click New.

Fig 15.

In the next screen select your JMS Provider, click OK. In the new screen enter with the values:

1) Name: DistributionListCEITopicConnection_TopicFactory;

2) JNDI name: jms/cei/notification/AllEventsDistributionListCEITopicConnectionFactory;

3) Provider endpoints: YOURHOSTNAME:7278:BootstrapBasicMessaging, YOURHOSTNAME:7288:BootstrapSecureMessaging;

4) Bus name: CommonEventInfrastructure_Bus or your bus name;

5) Durable subscription home: hostnameNodeName.CommonEventInfrastructure.Bus

6) Component-managed authentication alias: CommonEventInfrastructureJMSAuthAlias;

7) Click OK and save.

Fig 16.

Fig 17.

Fig 18.

Fig 19.

Fig 20.

5) Creating a Queue

Still in Resource, left menu, JMS -> Queues, select your scope and click New.

Fig 21.

In the next screen select your JMS Provider, click OK. In the new screen enter with the values:

1) Name: DistributionListCEIEvent_Queue;

2) JNDI name: jms/cei/DistributionListCEIEventQueue;

3) Bus name: CommonEventInfrastructure_Bus or your bus name;

4) Queue name: hostnameNodeName.CommonEventInfrastructureQueueDestination;

5) Click OK and save.

Fig 22.

Fig 23.

Fig 24.

Fig 25.

6) Creating a Topic

Still in Resource, left menu, JMS -> Topics, select your scope and click New.

Fig 26.

In the next screen select your JMS Provider, click OK. In the new screen enter with the values:

1) Name: DistributionListCEITopic_AllEventsTopic;

2) JNDI name: jms/cei/notification/AllEventsDistributionListCEITopic;

3) Topic name: DistributionListCEITopic_AllEventsTopic

4) Bus name: CommonEventInfrastructure_Bus or your bus name;

5) Topic space: hostnameNodeName.CommonEventInfrastructureTopicDestination;

6) Click OK and save.

Fig 27.

Fig 28.

Fig 29.

7) Changing the Event group queue

Go back to Event Service -> Event Groups -> DistributionList_CEI_Group_AllEvents (The group we created in the beginning)

Change:

1) Topic JNDI name: select jms/cei/notification/AllEventsTopic to jms/cei/notification/AllEventsDistributionListCEITopic;

2) Topic connection factory JDNI name: select jms/cei/notification/AllEventsTopicConnectionFactory to jms/cei/notification/AllEventsDistributionListCEITopicConnectionFactory

3) Click OK and save;

Fig 30.

Fig 31.

Go back again to the group and click Additional Properties -> Distribution queues and click New.

Do:

1) Queue JNDI name: select jms/cei/DistributionListCEIEventQueue;

2) Queue connection factory JDNI name: jms/cei/DistritibutionListCEIEventQueueConnectionFactory;

3) Click OK and save;

Fig 34.

Fig 35.

Fig 36.

Fig 37.

Fig 38.

That is all. To use, that will depend on the JMS client you are using that may need parameters as Event group name (DistributionList_CEI_Group_AllEvents), JMS Queue (jms/cei/DistributionListCEIEventQueue) and or JMS Topic (jms/cei/notification/AllEventsDistributionListCEITopic).

I hope that helps.

Adilson Dias – 07/07/2008