One of the common integration scenarios is reading or writing messages to TIBCO JMS queues. In this post, we will go through the required setup for connecting to TIBCO JMS queues from OSB.
To connect to the queues hosted in remote server, following is the common design pattern. The message will be inserted into local queues which will be pushed on to remote TIBCO JMS queue automatically by WLS.
OSB -> Foreign JMS Queue in local WLS -> Actual Remote TIBCO JMS Queue
As we know that we always use the JMS queue in the context of connection factory in OSB, we need to create the following artefacts in our OSB WLS.
- Foreign Server
- Connection Factory
- Foreign JMS Queues
- Foreign JMS Module to store above artefacts
Keep the Tibjms.jar in $DOMAIN_DIR/lib directory which contains the connection factory class that we will create as part of this setup. Depending on requirements you may want to the following other TIBCO related jars.
Tibcrypt.jar
Tibjmsapp.jar
Tibjmsadmin.jar
Tibrvjms.jar
Setup in OSB WLS Console:
Navigate to Services -> Messaging -> JMS Modules and click on Next to create the JMS module.

Enter the JMS module name and click on Next.

Select the server to deploy the JMS module to and click on Next.


Click on Finish button and navigate to JMS module that we created by clicking on it as shown below.

We need to create the required connection factory and queues within this JMS module. The first step is creating the foreign server. So click on New button and select foreign server as shown below and click on Next button.

Enter meaningful name for foreign Server and click on Next button to proceed to next screen.

Select the Admin server or other available server to deploy this JMS server so that it can be accessible and click on Finish button.

Verify the foreign server is created and visible in Summary of Resource sections as shown below.

Click on newly created foreign JMS server to bring up the following screen. And this is the screen where we enter the remote host name and related credentials hosting the TIBCO JMS queues that we want to connect to.

Enter the values for these fields as shown below and click on Save button. And the context factory class used here is present in the Tibjms.jar that we put in the server class path.
JNDI Initial Context Factory: com.tibco.tibjms.naming.TibjmsInitialContextFactory
JNDI Connection URL : tibjmsnaming://<remote hostname>:port
: ssl://<hostname>:port (if SSL enabled at remote host)
JNDI Properties Credentials : <<password to connect to remote TIBCO server>>
Confirm JNDI Properties Credentials : Re enter the password
JNDI Properties :
java.naming.security.principal=<<username to connect remote TIBCO server>>
com.tibco.tibjms.naming.security_protocol=ssl (if ssl enabled)
com.tibco.tibjms.naming.ssl_enable_verify_host=false (if ssl enabled)
Now Click on Connection Factories tab and click on New button to create the connection factory Enter the meaningful name for the connection factory and unique local JNDI name. Remote JNDI is the JNDI of the connection factory defined in remote TIBCO server. Click on OK once all the required details have been entered.

Now Click on Destinations tab and click on New button to create the queues. Enter the meaningful name for the queue and unique local JNDI name. Remote JNDI is the JNDI of the JMS queue defined in remote TIBCO server. Click on OK once all the details have been entered. Create as many queues as required in the same way.

Now We are done with the required setup. If you have a requirement of pushing the messages TIBCO JMS then create business service with JMS transport and give the url as shown below. If you have a requirement of polling the JMS queue then create a proxy service with JMS transport and give the url as shown below.
jms:///<<JNDI of local connection Factory>>/<< JNDI of local queue>>
Like this:
Like Loading...