In the last years I’ve been working with both the Tibco and Oracle (BEA) middleware software stack. In this period two of the products I’ve learned to appreciate are the Tibco BusinessWorks “zero-coding” service modeling concept and the formidable power of Oracle Weblogic’s clustering technique.
However a client wanted to use both products together, so here is the story in short.
First we configure the Oracle Weblogic server, domain, cluster, managed servers, JMSServer, JMSModule, etc. The Oracle Weblogic domain we will use has a admin and 2 managed servers (on the same host):
After that we need to configure the JMSServer components (for each managed server), create a JMSModule and add the ConnectionFactory, a Distributed Queue (if we are using Weblogic JMS let’s use one of it’s nicest features) and at last for each managed server a subDeployment, a member queue and a redirect error queue.
So we have our basic Weblogic JMS setup, let’s continue to the client side.
At first we copy the weblogic.jar file to the %TIBCO%\bw\5.x\lib folder as mentioned in the Tibco BW documentation.
We open our Tibco BusinessWorks Designer and create a new project. Then we add a JMS Connection and a JNDI Configuration to the project to configure the Weblogic JMS connection. (the last component is not really necessary, but I’ll explain why I use it in a few seconds).
So at first I tried to Test Connection without the JNDI configuration but this resulted in a endless waiting pop-up. So no success here. Then I included the JNDI configuration and with Test Configuration the following error showed up.
JNDI Configuration -> Test connection:
BW-JNDI-100002 Configuration Test Failed. Exception [java.lang.NoClassDefFoundError] occurred.
This error was familiar and has something to due with the fact that for WebLogic Server 10.0 and higher releases, client applications should use the
wlfullclient.jar file to provide the WebLogic Server specific functionary previously provided in the
So let’s generate the wlfullclient.jar with the JARbuilder tool as mentioned here on the Oracle website.
Use the following command to create wlfullclient.jar in the server/lib directory:
java -jar ../../../modules/com.bea.core.jarbuilder_X.X.X.X.jar
Copy the wlFullclient.jar to the %TIBCO%\bw\5.x\lib folder and make sure that the weblogic.jar is not there.
Restart your Tibco BusinessWorks designer. Test your JNDI Configuration and the JMS Configuration and the connection should be succesfull now.
Finally the Tibco Designer’s JMS palette is now at your disposal to build services using the Weblogic JMS server functionality as high-volume load-balancing and scaling.