You are on page 1of 9

How to Integrate Tibco Enterprise Message Service and BEA WebLogic on HP-UX 11i v2 Operating Environment

Designed for Tibco EMS 4.0 and BEA WebLogic Server 8.1 for HP Integrity Servers

Table of Contents
Executive Summary ......................................................................................................................... 2 Architectural Design and Configuration .............................................................................................. 3 Software Components.................................................................................................................. 3 Hardware Components ................................................................................................................ 3 Test Results .................................................................................................................................... 3 WebLogic and Tibco EMS Integration............................................................................................. 3 Tibco EMS Integration with MedRec JMS Communication................................................................... 4 Recommendations........................................................................................................................... 6 Tibco EMS Configuration.............................................................................................................. 6 Appendix A: Hardware Environment.................................................................................................. 7 HP Integrity rx2600 for Tibco EMS................................................................................................. 7 HP Integrity rx2600 for JMS Listener............................................................................................... 7 HP Integrity rx7620 for BEA WebLogic........................................................................................... 7 HP Integrity rx8620 for Oracle Database ........................................................................................ 7 HP Integrity rx2600 Web Servers .................................................................................................. 7 Appendix B: Software Environment.................................................................................................... 8 Application Server....................................................................................................................... 8 JMS Server................................................................................................................................. 8 JMS Listener ............................................................................................................................... 8 Database Server ......................................................................................................................... 8 Web Server ............................................................................................................................... 8 Call to action ................................................................................................................................. 9

Table of Figures Figure 1 - Topology Diagram ...................................................................................................2 Figure 2 - WebLogic console ...................................................................................................4 Figure 3 - MedRec Application Flow .........................................................................................5

Executive Summary
The Tibco integration scenario described in this white paper incorporates the HP-UX 11i v2 Operating Environment, HP Integrity servers, BEA WebLogic Server 8.1, and Tibco EMS 4.0. Tibco Enterprise Message Service provides fully compliant Java Message Service (JMS) capabilities as well as several value-added features. The testing focused on validating the integration between the application and middleware tiers. The efforts detailed in this document include the following: JMS enablement and integration with BEA WebLogic Server Load testing of the fully integrated application infrastructure

Tibco EMS was successfully integrated with the sample J2EE application, MedRec, in BEA WebLogic. Future testing will include advanced features of EMS such as fault tolerance and load balancing. Load testing of the infrastructure successfully validated the integration of BEA WebLogic and Tibco EMS. The BEA WebLogic Administration Console was used to configure Tibco EMS as a foreign, stand-alone, JMS provider. WebLogic application clustering was also implemented in this environment. The test scenario applied load to the application which then triggered WebLogic to connect to designated queues and transmit messages via Tibco EMS. Tibco EMS server usage was monitored through the BEA WebLogic Server administration console. To summarize, the test efforts described here validate the following: Successful implementation of BEA WebLogic, including foreign JMS server integration using Tibco EMS Successful BEA WebLogic application deployment including JMS functionality Successful integration and deployment of the application infrastructure

Figure 1. Topology Diagram

hp wor k sta ti o n x w5 00 0

hp workstat io n x w5 00 0

hp wo rk sta ti o n xw 50 00

Test Clients

A U T O

INh M 82 P 1 E U p5 N T U

A U T O

I N M h 18 2 Pp 5 E U N T U

A U T O

INh M 82 P 1 E U p5 N T U

Web Servers

hp integrity rp2600

hp int e g rity rp2600

rx2600

rx2600

Run

Attention Fault

Remote SP Present

Standby Power Power

Run

Attention Fault

Remote SP Present

Standby Power Power

hp n tegrity i rp26 00

Application Servers

hp Integrity rx7620

hp Integrity rx7620

rx2600 JMS Server

hp in te gr i ty rp260 0

rx2600 JMS Listener

rx7620

rx7620

Run

Attentio n Fault

Remote SP Present

Standby Power Power

Run

Attentio n Fault

Remote SP Present

Standby Power Power

READY ALARM MESSAGE

Database Servers

hp Integrity rx8620
PUSH

h p

d i s k

a r r a y

x p 1 2 8

hp Integrity rx8620

EMERGENCY UNIT EMERGENCY POWER OFF

rx8620

hp Storage Works

rx8620

Architectural Design and Configuration


Software Components
The objective of this whitepaper is to demonstrate the successful integration and deployment of BEA WebLogic Server with Tibco Enterprise Message Service, within the HP-UX 11i v2 Operating Environment. The software infrastructure for this environment includes: HP-UX 11i v2 Operating Environment Tibco Enterprise Message Service 4.0 BEA WebLogic Server 8.1 Oracle Database 9i RAC HP-UX Apache-based Web Server

Hardware Components
The test environment uses HP Integrity servers. The architecture is multi-tiered, modeling customer usage of hardware and software components. Database Servers: An HP Integrity rx8620 Server was subdivided into two hard partitions. Oracle 9i RAC was installed onto these partitions. Storage for the Oracle instances was provided by an HP SureStore XP128 disk array. Application Servers: BEA WebLogic Server was installed on two hard partitions on an HP Integrity rx7620 Server. Using WebLogic application clustering, both partitions were installed with instances of the WebLogic Server. The Avitek Medical Record (MedRec) application was utilized to exercise the J2EE environments. JMS Server: Tibco EMS was installed on an HP Integrity rx2600 Server. JMS Consumer Application: A JMS application was created in Java, using Tibco JMS classes. This application consumes the messages from the Tibco EMS queues. This application was run on an HP Integrity rx2600 Server. Web Servers: Two HP Integrity rx2600 Servers were deployed in the web tier. Both servers ran HP-UX Apache-based Web Server.

Test Results
The testing objectives were to verify the full integration of the hardware and software components and to validate JMS communication between BEA WebLogic and Tibco EMS.

WebLogic and Tibco EMS Integration


The objective of this test was to demonstrate the flexibility of substituting a foreign JMS server into the BEA WebLogic Server environment. Integration of Tibco EMS and BEA WebLogic Server involved modifying the MedRec JMS settings from the BEA administration console. An example of the BEA WebLogic Server console is seen below in Figure 2. The necessary changes are summarized in the list that follows. Configure a connection factory in Tibco EMS to replace the one in WebLogic Create the replacement queues in Tibco EMS Rename existing JNDI Names in the JMS Folder of the BEA Admin Console Configure a Foreign JMS Server Define Tibco JMS connection factory in BEA Admin Console Define Tibco queues in BEA Admin Console

Edit MedRec EJBs to point to the proper queue connection factories Add Tibco tibjms.jar to the classpath in the MedRec application start script Rebuild and redeploy the MedRec application Restart the MedRec application

From the Tibco EMS console, issue 'show queues' to verify the configuration of the JMS parameters.
tcp://ems:7222> show queues Queue Name MAIL.QUEUE REGISTRATION.QUEUE XML_UPLOAD.QUEUE SNFGXIBCT ------------------------Pre Rcvrs 5* 8 5* 8 5* 8 Msgs 0 0 0 Size 0.0 Kb 0.0 Kb 0.0 Kb

This output shows the remote Tibco EMS queues are actively recognized by the MedRec application and ready for JMS traffic. Notice that under the heading 'Rcvrs', each of the queues indicates multiple available receivers. This validates the initial integration of a stand-alone messaging solution with a J2EE application running on BEA WebLogic.

Figure 2. BEA WebLogic Server Console

Tibco EMS Integration with MedRec JMS Communication


The objective of this test was to validate the integration of Tibco EMS as a foreign JMS server and to verify that JMS messaging was triggered by the MedRec application. JMS message flow is illustrated in Figure 3. Testing in this environment required modifications to the MedRec source code. The changes are summarized as follows: Add code to MedRec application events to generate and transmit JMS messages Configure queues in Tibco EMS to receive the generated messages

Create JMS consumer application in Java to receive the messages from Tibco EMS Set the size and number of JMS messages to be transmitted with each MedRec event Rebuild and redeploy the MedRec application

Applying load to the web servers produced JMS traffic between MedRec and Tibco EMS. The result of this load was visible by running a 'show queues' command on the Tibco EMS administration console:
tcp://ems:7222> show queues Queue Name login.queue_1 login.queue_2 login.queue_3 login.queue_4 login.queue_5 SNFGXIBCT ----------------------------------------Pre Rcvrs 5* 1 5* 1 5* 1 5* 1 5* 1 Msgs 6256 8039 7915 7862 6256 Size 6.8 8.7 8.5 8.5 6.8

MB MB MB MB MB

Messages were extracted from the queue by the consumer application. This application read and verified each of the messages as they were received from the queue. Message sizes ranging from 1KB to 50KB were used for the test.

Figure 3. MedRec Application Flow

MedRec Application Tibco EMS


Physician Login JMS Queue 1
JMS

Patient Search

JMS

Queue 2
JMS

JMS Consumer Application


Consumed Messages

Register Patient

Queue 3 JMS

Queue n Event x JMS

JM

Recommendations
Note: The following modification is required for any scenario which uses an external Tibco EMS server.

Tibco EMS Configuration


During the process of integrating BEA WebLogic and Tibco EMS, it was discovered that the application was not connecting properly to the JMS queues. Error messages were being logged in the WebLogic application stating that no connection to 'localhost' was available. The problem is that the default URL property for a queue connection factory in Tibco EMS is invalid for scenarios using an external server. This was fixed by modifying the configuration on the EMS server in the following manner: Log in to the Tibco EMS administration console If it does not already exist, create an XA Queue Connection Factory o create factory myxaqcf xaqueue Add the appropriate URL property to the newly created factory o addprop factory mxaqcf xaqueue url=tcp://ems-server:7222

This configuration change is reflected in the factories.conf file located in the /opt/tibco/ems/bin directory. Once this modification is complete, the proper connection factory URL is returned when MedRec connects to Tibco EMS.

Appendix A: Hardware Environment


HP Integrity rx2600 for Tibco EMS
Description rx2600 1.5GHz Number of CPUs 2 Memory (GB) 2 Comment Tibco EMS Server

HP Integrity rx2600 for JMS Listener


Description rx2600 1.5GHz Number of CPUs 2 Memory (GB) 2 Comment JMS Listener

HP Integrity rx7620 for BEA WebLogic


Description Partition nPar 1 rx7620 1.5GHz nPar 2 4 4 BEA WebLogic Number of CPUs 4 Memory (GB) 4 Comment BEA WebLogic

HP Integrity rx8620 for Oracle Database


Description Partition nPar 1 rx8620 1.5GHz nPar 2 4 4 Oracle Database Number of CPUs 4 Memory (GB) 4 Comment Oracle Database

HP Integrity rx2600 Web Servers


Description Number of CPUs 2 Memory (GB) 2 Comment HP-UX Apache-based Web Server

rx2600 1.5GHz

Appendix B: Software Environment


Application Server
Bundle HPUX11i-OE-Ent B.11.23.0409 BEA WebLogic 8.1.2 Description HP-UX Enterprise Operating Environment Component

BEA WebLogic Server 8.1 SP 2

JMS Server
Bundle HPUX11i-OE B.11.23 0409 Tibco EMS 4.0.1 Description HP-UX Foundation OE

Tibco Enterprise Messaging Service 4.0.1

JMS Listener
Bundle HPUX11i-OE B.11.23 0409 Tibco EMS 4.0.1 Description HP-UX Foundation OE

Tibco Enterprise Messaging Service 4.0.1

Database Server
Bundle HPUX11i-OE-MC B .11.23.0409 Oracle 9i Database 9.2.0.4 T1907BA A.11.16.00.01 Description HP-UX Mission Critical Operating Environment Component

Oracle 9i/RAC Database

ServiceGuard Extension for RAC

Web Server
Bundle HPUX11i-OE B.11.23 0409 HpuxwsApache B.2.0.50.01 Description HP-UX Foundation OE

HP-UX Apache-based Web Server

Call to action
www.hp.com/go/bea www.hp.com/go/hpux11i

2005 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. The only warranties for HP products and services are set forth in the express warranty statements accompanying such products and services. Nothing herein should be construed as constituting an additional warranty. HP shall not be liable for technical or editorial errors or omissions contained herein. Itanium is a trademark or registered trademark of Intel Corporation in the U.S. and other countries and is used under license.

You might also like