Skip to main content

Integration & IT Modernization

Integrating IIB with TIBCO BusinessWorks process

In many businesses, customers are using IBM Integration Bus which is required to be integrated with different technologies/platform like TIBCO, Java, Mainframe and etc. These customers need MQ server with non-IBM messaging platforms to provide messaging solution for enterprise applications.

This blog explains how TIBCO Business works application communicates with IBM Integration Bus.

Scenario:

TIBCO BW process sends the message to MQ server queue. IIB message flow pick up the message from MQ server queue, process it based on the incoming request and sends reply back to TIBCO BW process.

Finally the TIBCO BW process sends response back to requester.

The following software is required to run this scenario.

  1. TIBCO Businessworks
  2. IBM Integration toolkit
  3. Websphere MQ

Configuring TIBCO Businessworks, Websphere MQ

  • Add MQ jars location in the system classpath
  • Add MQ jars location in TIBCO configuration files[bwengine.tra, designer.tra]
  • Place MQ related jar files in TIBCO path
  • Create JNDI binding files to connect MQ server
  • Create a JMS connection in TIBCO with this binding data
  • Execute mqsi commands to create QCF and Queue
  • Create a TIBCO BW process to send messages to MQ server queue
  • Create a message flow in IIB to pick up and process the message. This sends a response on another queue.
  • Create another TIBCO BW process to read the output message from MQ server queue

As per the given steps, MQ related jar file location to be added in below paths.

Jar files location: C:\Program Files\IBM\WebSphere MQ\java\lib

  • System class path
  • In bwengine.tra[C:\tibco\bw\5.11\bin\bwengine.tra], include this path to tibco.env.CUSTOM_EXT_APPEND_CP.
  • In designer.tra[C:\tibco\designer\5.9\bin\designer.tra], include this path to tibco.env.CUSTOM_CP_EXT.

Create a file based JNDI binding for MQ server

  • Create a queue manager in MQ
  • Create a folder in the local system to hold JNDI binding configurations. This will be used in JNDI lookup. Example: C:\tibco\JNDI-Directory
  • Edit JMSAdmin.config file
    • File Path: C:\Program Files\IBM\WebSphere MQ\java\bin
    • Set INITIAL_CONTEXT_FACTORY=com.sun.jndi.fscontext.RefFSContextFactory
    • Set PROVIDER_URL=file:/C:/tibco/JNDI-Directory
  • Run JMSAdmin.bat file through command prompt.
    • File Path: C:\Program Files\IBM\WebSphere MQ\java\bin
    • This will start InitCtx>Prompt
  • Run the below command in InitCtx prompt to create binding configurations in C:\tibco\JNDI-Directory.

DEFINE QCF(QueueConnectionFactory)+

QMANAGER(QueueMGR) (name of queue manager)

DEFINE Q(testq)+ (name of queue)

QMANAGER(QueueMGR)+

QUEUE(testq)+

TARGCLIENT(MQ)

DEFINE Q(testoutq)+ (name of queue)

QMANAGER(QueueMGR)+

QUEUE(testoutq)+

TARGCLIENT(MQ)

  • .binding file will be created once the above command is executed and this will be used by all the jms clients which need to communicate/connect with MQ server.

Run JMSAdmin.bat file and execute the command

Configure TIBCO Businessworks for the JNDI provider

  • Create and configure JMS connection with below values
    • JNDI Context Factory = com.sun.jndi.fscontext.RefFSContextFactory
    • JNDI Context URL = file:/C:/tibco/JNDI-Directory/
    • Queue Connection Factory = QueueConnectionFactory
  • Test the JMS connection. QCF connection test will be successful. Ignore for TCF, since only QCF will be used here.

    Configure JNDI connection factory

Configure MQ server for the JNDI provider

  • Right click on the JMS Administered Objects and select Add Initial Context.
  • Provide below details in the Add Initial Context Box.

  • Now, you should be able to see your connection factory under Connection Factories directory
  • The queues can be created/viewed in the destination directory.

Create business processes in TIBCO Businessworks and IIB

  • Create a BW process to send request and receive messages on MQ server queue.
  • Use the JMS connection that is created in previous step.
  • Configure JMS correlation ID to correlate incoming and outgoing messages.

TIBCO Businessworks process

  • Create IIB message flow to read messages from MQ server, and send reply messages on another queue once the request is processed.
  • Configure appropriate queue names in the activities.

IIB message flow

  • The incoming and outgoing message counts can be monitored in MQ Explorer.

Queue messages on MQ server

Conclusion:

This blog described the steps for integrating TIBCO Businessworks process and IIB business process. It showed how to pass the message coming from TIBCO BW to IIB process using MQ server as a messaging medium.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.