Interoperability

     Previous  Next    Open TOC in new window  Open Index in new window  View as PDF - New Window  Get Adobe Reader - New Window
Content starts here

Interoperability with BEA WebLogic Server

The following sections present interoperability capabilities between BEA Tuxedo and BEA WebLogic Server:

 


Interoperability Software Components

Interoperability between BEA Tuxedo and BEA WebLogic Server is implemented as the following three sets of communicating software processes.

Set
Tuxedo Component
Interoperability Direction
WebLogic Server Component
Interoperability
1
Jolt Server Listener/ Jolt Server Handler
¨
BEA Jolt for BEA WebLogic Server
Enables WebLogic Server application servers to call Tuxedo ATMI services.
2
TDomain gateway
´
WebLogic Tuxedo Connector (WTC)
Enables WebLogic Server application servers to call Tuxedo ATMI services.
Enables WebLogic Server application servers to call Tuxedo CORBA C++ objects.
Enables Tuxedo ATMI clients or servers to call WebLogic Server application servers.
Enables Tuxedo CORBA C++ clients or servers to call WebLogic Server application servers.

Jolt Server Listener

A Jolt Server Listener (JSL) is a listening process, running on the Tuxedo server, that accepts connection requests from Jolt clients and assigns connections to a Jolt Server Handler also running on the Tuxedo server. It also manages the pool of Jolt Server Handler processes, starting them in response to load demands.

Jolt Server Handler

A Jolt Server Handler (JSH) is a gateway process, running on the Tuxedo server, that handles communications between Jolt clients and the Tuxedo ATMI server application. A JSH process resides within the administrative domain of the application and is registered in the local Tuxedo bulletin board as a client.

Each JSH process can manage multiple Jolt clients. A JSH multiplexes all requests and replies with a particular Jolt client over a single connection.

BEA Jolt for WebLogic Server

BEA Jolt is a Java-based client API that manages requests to Tuxedo services via a Jolt Service Listener (JSL) running on the Tuxedo server. The Jolt API is embedded within the WebLogic API and is accessible from a servlet or any other BEA WebLogic application.

IIOP Listener

An IIOP Listener (ISL) is a listening process, running on the Tuxedo server, that accepts connection requests from CORBA clients and assigns connections to an IIOP Handler also running on the Tuxedo server. It also manages the pool of IIOP Handler processes, starting them in response to load demands.

IIOP Handler

An IIOP Handler (ISH) is a gateway process, running on the Tuxedo server, that handles IIOP communications between CORBA clients and the Tuxedo server application. An ISH process resides within the administrative domain of the application and is registered in the local BEA Tuxedo bulletin board as a client.

Each ISH process can manage multiple CORBA clients. An ISH multiplexes all requests and replies with a particular CORBA client over a single connection.

TDomain Gateway

The TDomain gateway, implemented by the GWTDOMAIN server process, provides interoperability between two or more BEA Tuxedo domains through a specially designed transaction processing protocol that flows over network protocol TCP/IP. Working with the WebLogic Tuxedo Connector gateway, the BEA Tuxedo TDomain gateway can also provide interoperability between Tuxedo domains and WebLogic Server applications.

WebLogic Tuxedo Connector

The WebLogic Tuxedo Connector (WTC) enables bi-directional interoperability between the WebLogic Server and Tuxedo ATMI and CORBA environments. The WTC gateway supports the TDomain gateway protocol.

Tuxedo 10.0 supports the following WebLogic/WTC versions:

 


Interoperability Programming Interfaces

Interoperability between BEA Tuxedo and BEA WebLogic Server is achieved using the following application programming interfaces:

ATMI Interface

ATMI provides an interface for communications, transactions, and data-buffer management that works in all ATMI environments supported by the BEA Tuxedo system. ATMI is described in Introducing BEA Tuxedo ATMI.

JATMI Interface

JATMI is the BEA WebLogic Server Java implementation of the BEA Tuxedo ATMI. It allows WebLogic Server application servers to access Tuxedo ATMI services. JATMI is described in WebLogic Tuxedo Connector Programmer's Guide.

Jolt Interface

BEA Jolt for BEA WebLogic Server is a Java-based client API that manages requests to BEA Tuxedo services running on the Tuxedo server. The Jolt API is embedded within the WebLogic API and is accessible from a servlet or any other BEA WebLogic application. Jolt API is described in Using BEA Jolt with BEA WebLogic Server.

RMI Interface

Remote Method Invocation is a Java-based API set and protocol that allows an object running in one Java virtual machine to invoke methods on an object running in a different Java virtual machine. RMI specifies how distributed Java applications should operate over multiple Java virtual machines. RMI's native protocol is called Java Remote Method Protocol (JRMP).

For more information about RMI, see Programming WebLogic RMI.

RMI-over-IIOP Interface

RMI-over-IIOP provides interoperability with CORBA objects implemented in any language if all the remote interfaces are originally defined as RMI interfaces. RMI-over-IIOP is also known as RMI-on-IIOP, RMI/IIOP, or RMI-IIOP. The term RMI-over-IIOP is used in the discussions that follow.

With RMI and CORBA, programmers must decide between RMI, with its easy programming features, and CORBA, with its broad interoperability. IBM and Sun's JavaSoft, with the cooperation of the Object Management Group (OMG), jointly developed RMI-over-IIOP to solve this dilemma. JavaSoft includes RMI-over-IIOP in its Java Development Kit (JDK).

With RMI-over-IIOP, Java programmers can create applications in RMI that include CORBA connections. And with CORBA 2.3's support for Objects-by-Value, CORBA programmers can create applications in CORBA that include EJB connections.

Note: For information on Objects-by-Value and supported value types in BEA Tuxedo CORBA, see "Mapping of OMG IDL Statements to C++" in BEA Tuxedo CORBA Programming Reference.

With RMI-over-IIOP and CORBA's support for Objects-by-Value, the following client-server interfaces are possible:

Note: Of course, for the "RMI-over-IIOP client Arrow symbol  CORBA server" interface, an RMI-over-IIOP client cannot necessarily access all existing CORBA objects because the semantics of CORBA objects defined in IDL are a superset of those of RMI-over-IIOP objects. Thus, an existing CORBA's object's IDL cannot always be mapped into an RMI-over-IIOP Java interface.

A server binary (i.e., a class file) created using RMI-over-IIOP APIs can be exported as JRMP (RMI's native protocol), IIOP, or both. Exporting an RMI-over-IIOP object to both JRMP and IIOP simultaneously is called dual export.

For more information about RMI-over-IIOP, see Programming WebLogic RMI over IIOP.

 


JSL/JSH-Jolt Unidirectional Connectivity

BEA Jolt for WebLogic Server provides unidirectional connectivity from BEA WebLogic Server applications to BEA Tuxedo 8.0 or later ATMI services. With BEA Jolt for WebLogic Server, an application administrator can enable Tuxedo services for the Web, using the WebLogic Server as the front-end HTTP and application server. The following figure shows how this connectivity is implemented.

Figure 2-1 WebLogic Server to BEA Tuxedo Connectivity Using Jolt

WebLogic Server to BEA Tuxedo Connectivity Using Jolt

BEA Jolt is a Java-based client API that manages requests to BEA Tuxedo services using a Jolt Server Listener running on the Tuxedo server. The Jolt API is accessible to an EJB, a JSP, a servlet, a Java HTML (JHTML), or other BEA WebLogic application server.

Jolt Connection Pooling

WebLogic Server uses a variation of the Jolt session pool called a servlet session pool, commonly referred to as simply a Jolt connection pool. The Jolt connection pool provides extra functionality that is convenient for use inside an HTTP servlet.

Jolt connection pooling allows WebLogic Server application servers to invoke Tuxedo services in a BEA Tuxedo application. The pooling feature supports connection pool reset in the event of connection pool failure, which eliminates the need to restart WebLogic Server if the connection pool requires a restart.

Jolt Wire-Level Security

The following wire-level security is supported on the network connection between the Java Server Handler and WebLogic Server: 40-bit, 56-bit, or 128-bit LLE. LLE, for Link-Level Encryption, is a Tuxedo-based protocol for establishing data privacy over network links.

Jolt Transaction and Security Context Propagation

Jolt supports transaction demarcation, propagation of security, and connection reset. Jolt provides a mechanism for propagating the security context established in WebLogic Server to the BEA Tuxedo application.

User credentials authenticated by WebLogic Server are mapped to the appropriate security interfaces/protocols. An incoming request does not require re-authentication before invoking Tuxedo ATMI services.

Jolt Documentation

For complete information on using BEA Jolt with WebLogic Server, see Using BEA Jolt with BEA WebLogic Server. This document explains the operation of BEA Jolt for WebLogic Server, and describes how to use, configure, and integrate BEA Jolt, BEA Tuxedo ATMI, and BEA WebLogic Server.

 


TDomain-WTC Bidirectional Connectivity

The TDomain and WTC gateways provide bidirectional connectivity between ATMI services/ CORBA objects deployed in a BEA Tuxedo application and EJB objects deployed in a WebLogic Server application. Together, the gateways allow the following interoperability for a BEA Tuxedo/ WebLogic Server deployment:

BEA Tuxedo to BEA WebLogic Server Connectivity

BEA Tuxedo application clients and servers can invoke EJB objects in a WebLogic Server application, which in turn can invoke other EJB objects, JSPs, or Java servlets. The following figure shows how this connectivity is implemented.

Figure 2-2 Tuxedo to WebLogic Server Connectivity

Tuxedo to WebLogic Server Connectivity

Note: Tuxedo clients include ATMI clients, Jolt clients, and CORBA C++ clients. For a high-level view of Tuxedo clients, see "Client and Server Components" in BEA Tuxedo Product Overview.

The TDomain gateway not only enables Tuxedo domains to share services with other BEA Tuxedo domains, but it enables Tuxedo domains to share services with WebLogic Server 6.1or later installations through the WTC gateway. The WTC gateway supports the TDomain gateway protocol.

The gateways allow Tuxedo ATMI clients, and Tuxedo ATMI servers acting as clients, to access WebLogic Server EJB objects. The TDomain gateway delivers the ATMI client request to the WTC gateway, and the WTC gateway converts the request to an RMI call to access the appropriate EJB object.

Similarly, the gateways allow Tuxedo CORBA clients, and Tuxedo CORBA servers acting as clients, to access WebLogic Server EJB objects. The TDomain gateway delivers the CORBA RMI-over-IIOP client request to the WTC gateway, and the WTC gateway forwards the request to the appropriate EJB object.

Note: The WTC component delivered with WebLogic Server release 7.0, 8.1, 9.x and 10.0 supports all the functionality included in the WTC 1.0 product. BEA encourages the use of the WTC component delivered with the WebLogic Server product.

BEA WebLogic Server to BEA Tuxedo Connectivity

EJB application servers in a WebLogic Server application can invoke services and CORBA objects in a Tuxedo application using the WTC and TDomain gateways. The following figure shows how this connectivity is implemented.

Figure 2-3 WebLogic Server to Tuxedo Connectivity Using WTC

WebLogic Server to Tuxedo Connectivity Using WTC

The WTC and TDomain gateways allow WebLogic Server EJBs, JSPs, or Java servlets acting as clients to access Tuxedo services. The WTC gateway converts the EJB/JSP/servlet JATMI request to an ATMI request, and the TDomain gateway delivers the ATMI request to a Tuxedo ATMI server offering the requested service.

Similarly, the gateways allow WebLogic Server EJBs, JSPs, or Java servlets acting as clients to access Tuxedo CORBA objects. The WTC gateway inserts the EJB/JSP/servlet CORBA Java or RMI-over-IIOP request inside of a Tuxedo GIOP (TGIOP) request message, and the TDomain gateway delivers the TGIOP request to a Tuxedo CORBA server offering the requested object.

Note: The WTC component delivered with WebLogic Server release 7.0, 8.1, 9.x and 10.0 supports all the functionality included in the WTC 1.0 product. BEA encourages the use of the WTC component delivered with the WebLogic Server product.

TDomain-WTC Wire-Level Security

The following wire-level security is supported on the network connection between the TDomain and WTC gateways: 40-bit, 56-bit, or 128-bit LLE. LLE, for Link-Level Encryption, is a Tuxedo-based protocol for establishing data privacy over network links.

TDomain-WTC Transaction and Security Context Propagation

Bidirectional propagation of transaction context and security context between application clients and servers in a BEA Tuxedo/ WebLogic Server deployment is fully supported through the TDomain and WTC gateways.

TDomain and WTC Documentation

For details about the Tuxedo Domains gateway, see Using the BEA Tuxedo Domains Component. For details about the WTC gateway, see WebLogic Tuxedo Connector.

 


RMI-over-IIOP Client Direct Connectivity to an EJB

In addition to using the TDomain and WTC gateways to achieve connectivity from BEA Tuxedo CORBA to BEA WebLogic Server, Tuxedo CORBA C++ clients or servers can call WebLogic Server application servers directly using RMI-over-IIOP and CORBA Interface Definition Language (IDL) interfaces. The following figure demonstrates this type of connectivity.

Figure 2-4 Direct EJB Connectivity Using RMI-over-IIOP and IDL Interfaces

Direct EJB Connectivity Using RMI-over-IIOP and IDL Interfaces

For a sample application describing how a CORBA C++ client application developed in BEA Tuxedo can directly interact with an EJB in WebLogic Server, see Connectivity Between a BEA Tuxedo CORBA Client and an EJB in WebLogic Server.

 


Summary of Interoperability Capabilities

The following table summarizes the interoperability capabilities for a BEA Tuxedo/ WebLogic Server deployment.

Table 2-1 BEA Tuxedo/ WebLogic Server Interoperability Capabilities 
This component . . .
Can call a . . .
Through . . .
Tuxedo ATMI client *
WebLogic Server EJB object
WSH ** Arrow symbol  TDomain Arrow symbol  WTC
Tuxedo Jolt client ***
WebLogic Server EJB object
JSH Arrow symbol  TDomain Arrow symbol  WTC
Tuxedo CORBA C++ client *
WebLogic Server EJB object
ISH Arrow symbol  TDomain Arrow symbol  WTC or RMI-over-IIOP client direct connectivity to an EJB
Tuxedo ATMI server
WebLogic Server EJB object
TDomain Arrow symbol  WTC
Tuxedo CORBA C++ server
WebLogic Server EJB object
TDomain Arrow symbol  WTC or RMI-over-IIOP client direct connectivity to an EJB
WebLogic Server EJB, JSP, or servlet
Tuxedo ATMI service
WTC Arrow symbol  TDomain or Jolt for WebLogic Server Arrow symbol  JSH
WebLogic Server EJB, JSP, or servlet
Tuxedo CORBA C++ object
WTC Arrow symbol  TDomain
*   A native Tuxedo ATMI or CORBA C++ client does not use Tuxedo handler gateway processes (WSH, ISH).
**  WSH stands for Workstation Handler.
*** The Tuxedo Jolt client connection to a WebLogic Server EJB object has not been tested.

 


Interoperability Sample Applications

WebLogic Server release 7.0 or later includes a large variety of interoperability sample applications. The sample applications provide client and server programmers with information about the basic concepts of (1) combining Tuxedo ATMI services and WebLogic Server EJB objects in an application and (2) combining Tuxedo CORBA objects and WebLogic Server EJB objects in an application.

For a WebLogic Server 7.0 or 8.1 installation, the ATMI are located in the following directory:

WL_HOME\samples\server\src\examples\wtc

Where WL_HOME represents the top-level directory of the WebLogic Server 7.0 or 8.1 installation (weblogic700 by default). These examples show how to configure and set up WebLogic Server to work with Tuxedo ATMI servers and clients, using the underlying WTC technology.

For a WebLogic Server 7.0 or 8.1 installation, the RMI-over-IIOP code examples are located in the following directory:

WL_HOME\samples\server\src\examples\iiop

These examples show how to configure and set up WebLogic Server to work with Tuxedo CORBA servers and clients, using the underlying WTC technology.

For additional information on how to develop interoperability applications employing ATMI, JATMI, CORBA Java, or RMI-over-IIOP API, see WebLogic Tuxedo Connector.


  Back to Top       Previous  Next