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 hp hp
work stati on workstati on work stati on
x w5000 x w5000 x w5000

Test Clients A
U
T
O
INh M
P 182E
U p 5N
T U
A
U
T
O
I
N
Pp 5E
U N
T U
M
h182
A
U
T
O
INh M
P 182

T U
E
U p 5N

hp
integrity hp

Web Servers
rp2600 int eg rity
rp2600

rx2600 rx2600

hp
in tegrity
rp2600
Standby
Standby Attention Remote Power
Attention Remote Run Fault SP Present Power
Run Fault SP Present Power
Power

Application hp Integrity rx7620 hp Integrity rx7620


rx2600
Servers JMS Server hp
int egr ity
rp2600

rx2600
JMS Listener
rx7620 rx7620

Attentio Remote Standby


Attentio Remote Standby Run n SP Power
Run n SP Power Fault Power
Fault Power Present
Present

READY
ALARM
MESSAGE

Database hp Integrity rx8620


PUSH
h p d i s k a r r a y x p 1 2 8
hp Integrity rx8620

Servers EMERGENCY
UNIT
EMERGENCY
POWER OFF

rx8620 hp Storage Works rx8620

2
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

3
• 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 SNFGXIBCT Pre Rcvrs Msgs Size
MAIL.QUEUE --------- 5* 8 0 0.0 Kb
REGISTRATION.QUEUE --------- 5* 8 0 0.0 Kb
XML_UPLOAD.QUEUE --------- 5* 8 0 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

4
• 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 SNFGXIBCT Pre Rcvrs Msgs Size
login.queue_1 --------- 5* 1 6256 6.8 MB
login.queue_2 --------- 5* 1 8039 8.7 MB
login.queue_3 --------- 5* 1 7915 8.5 MB
login.queue_4 --------- 5* 1 7862 8.5 MB
login.queue_5 --------- 5* 1 6256 6.8 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
JMS Consumer
Patient Search Queue 2 Application
JMS JMS
Consumed Messages
Register Patient Queue 3
JMS

S
JM
Queue n
Event x JMS

5
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.

6
Appendix A: Hardware Environment
HP Integrity rx2600 for Tibco EMS
Number Memory
Description Comment
of CPUs (GB)

rx2600 1.5GHz 2 2 Tibco EMS Server

HP Integrity rx2600 for JMS Listener


Number Memory
Description Comment
of CPUs (GB)

rx2600 1.5GHz 2 2 JMS Listener

HP Integrity rx7620 for BEA WebLogic


Number Memory
Description Partition Comment
of CPUs (GB)

nPar 1 4 4 BEA WebLogic


rx7620 1.5GHz
nPar 2 4 4 BEA WebLogic

HP Integrity rx8620 for Oracle Database


Number Memory
Description Partition Comment
of CPUs (GB)

nPar 1 4 4 Oracle Database


rx8620 1.5GHz
nPar 2 4 4 Oracle Database

HP Integrity rx2600 Web Servers


Number Memory
Description Comment
of CPUs (GB)

HP-UX Apache-based Web


rx2600 1.5GHz 2 2
Server

7
Appendix B: Software Environment
Application Server
Bundle Description

HPUX11i-OE-Ent HP-UX Enterprise Operating Environment Component


B.11.23.0409

BEA WebLogic BEA WebLogic Server 8.1 SP 2


8.1.2

JMS Server
Bundle Description

HPUX11i-OE HP-UX Foundation OE


B.11.23 0409

Tibco EMS 4.0.1 Tibco Enterprise Messaging Service 4.0.1

JMS Listener
Bundle Description

HPUX11i-OE HP-UX Foundation OE


B.11.23 0409

Tibco EMS 4.0.1 Tibco Enterprise Messaging Service 4.0.1

Database Server
Bundle Description

HPUX11i-OE-MC HP-UX Mission Critical Operating Environment Component


B .11.23.0409

Oracle 9i Database Oracle 9i/RAC Database


9.2.0.4

T1907BA ServiceGuard Extension for RAC


A.11.16.00.01

Web Server
Bundle Description

HPUX11i-OE HP-UX Foundation OE


B.11.23 0409

HpuxwsApache HP-UX Apache-based Web Server


B.2.0.50.01

8
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