Wednesday, August 30, 2017

Integrating business process automation engine with existing TIBCO EMS

In todays world of business process automation, many of us are using WebSphere Process Server as their Integrating business process automation engine. However the need arises to integrate with existing messaging infrastructure. Today we will see, how to integrate TIBCO Enterprise Message Service, with WebSphere Process Server.

WebSphere Process Server is a business process integration server that helps you solve complex business flows and a platform that you can use to connect to various technologies. Businesses seeking to use WebSphere Process Server to implement these complex business processes have to be connected to other back-end or front-end systems in order for these business processes to work properly. TIBCO Enterprise Message Service (EMS) is a common messaging resource used by businesses. Since EMS supports JMS, we will use the JMS support of WebSphere Process Server to bind to EMS.



Presuming our enviroment running the following versions of WID, EMS & WPS on Windows 32 bit:

WebSphere Integration Developer V6.0.x.
TIBCO EMS server.
WebSphere Process Server V6

Steps to follow:

A. Configuring EMS and WebSphere Process Server
A.1. Start the EMS server
A.2. Create the EMS administered objects
A.3. Configure WebSphere Process Server for the EMS
A.4. Add EMS as a JMS provider to WebSphere Process Server
A.5. Configure the JNDI bindings for the EMS Connection Factories for WebSphere Application Server
A.6. Configure the JNDI bindings for TIBCO Enterprise Message Service Destinations for WebSphere Application Server
A.7. Create the Listener Ports for EMS
A.8. Create the Connection Factories and Destinations for WebSphere Default Messaging
B. Creating a business process
C. Creating the TIBCO EMS Message Producer
D. Configuring the Resource references
E. Creating the TIBCO Message Receiver Message Drive Bean (MDB)
F. Building and running the sample


A. Configuring EMS and WebSphere Process Server


A.1. Start the EMS server

Install the EMS
Choose Start => All Programs => TIBCO => TIBCO EMS Evaluation Version => Start EMS Server
Choose Start => All Programs => TIBCO => TIBCO EMS Evaluation Version => Start EMS Server Administration Tool
Type in connect and press Enter
Press Enter for login and password (no security configured), and you will see a message saying connected to tcp://localhost:7222 and the same as the command prompt

A.2. Create the EMS administered objects

Start the admin tool and enter the following commands:
Create factory sample.XAQCF xaqueue.
Create queue sample.Q1.

A.3. Configure WebSphere Process Server for the EMS JNDI provider

Create a text file called jndi.properties in the directory: \AppServer\lib\ext
Add the following line into the file:
java.naming.factory.url.pkgs=com.tibco.tibjms.naming
Save the jndi.propertiesfile

A.4. Add EMS as a JMS provider to WebSphere Process Server

Start Process Server
Start the Process Server Administrative Console
Expand Resources and choose Generic JMS Providers
Click New
Enter the following values for the given properties:
Name= TIBCO
Description= TIBCO Enterprise Message Service
Classpath= (location of tibjms.jar)
External Initial Context Factory= com.tibco.tibjms.naming.TibjmsInitialContextFactory
External Provider URL= tibjmsnaming://localhost:7222
Click OK
Click Save on the task bar at the top of the console window
stop, and restart WebSphere Application Server

A.5. Configure the JNDI bindings for the EMS Connection Factories for WebSphere Application Server

Expand Resources and choose Generic JMS Providers
In the content pane, choose TIBCO
Scroll down and choose JMS Connection Factories
Click New
Enter the following values for the given properties:
Name= TIBCOConnectionFactory
Type= QUEUE
JNDI Name= jms/ConnectionFactory
Description= Sample Queue ConnectionFactory
External JNDI Name= sample.XAQCF
Click OK
Click Save on the task bar of the Administrative Console (and Save again to confirm)
stop, and restart the WebSphere Application Server

A.6. Configure the JNDI bindings for TIBCO Enterprise Message Service destinations for the WebSphere Application Server

Expand Resources and choose Generic JMS Providers
In the content pane, choose TIBCO
Scroll down and choose JMS Destinations
Click New
Enter the following values for the given properties:
Name= Q1
Type= QUEUE
JNDI Name= jms/Q1
Description= Sample Listen Queue
External JNDI Name= sample.Q1
Click OK
Click Save on the task bar of the Administrative Console (and Save again to confirm)
stop and restart the WebSphere Application Server

A.7. Create Listener Ports for EMS

Expand Servers and choose Application Servers
In the content pane, choose the name of the application server
In the Additional Properties Table, select Message Listener Service
In the content pane, select Listener Ports
In the content pane, click New
Enter the following values for the given listener port properties:
Name= TIBCOPtoPListenerPort
Initial State= Started
Description= Listener Port for TIBCO Point to Point
ConnectionFactory JNDI Name= jms/ConnectionFactory
Destination JNDI Name= jms/Q1
Click OK
Click Save on the task bar of the Administrative Console (and Save again to confirm)
stop and restart the application server to have the changes take effect


Verify that the new listener ports are in their proper initial state
expand Servers => Application Servers=> => Message Listener Service=> Listener Ports
TIBCO listener ports should have a solid green arrow, indicating as started


A.8. Create Connection Factories and Destinations for WebSphere Default Messaging

Create a Service Integration Bus
name= MyBus
Destination names= TIBCO_WPS_Queue
Create a JMS Queue Connection Factory
Name= MyQueueConnectionFactory
JNDI Name= jms/MyConnectionFactory
Bus= MyBus
Create JMS Connection Factory
Name= TibcoConnectionFactory
JNDI Name= jms/TibcoConnectionFactory
Bus= MyBus
Create a JMS Queue
Name= TIBCO_WPS_JMS_Queue
JNDI= Name jms/tibcowpsq
Queue Name= TIBCO_WPS_Queue
Bus= MyBus
Create a JMS Activation Spec
Name= TIBCO_WPS_AS
JNDI Name= eis/tibcowpsas
Destination Type= Queue
Destination JNDI name= jms/tibcowpsq
Bus= MyBus




To Be Continued  ...

(Sorry didn't get time to finish. But I promise to finish some day ;))
Note: For WPS & WID tutorial you may refer http://www.webagesolutions.com/knowledgebase/waskb/waskb019/

Cloud vs. Cloud Native

Introduction These days everyone is moving “On cloud”. Having many cloud vendors with lucrative offers of TCO reduction, does deploying yo...