Interoperability

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

Interoperability with Oracle WebLogic Server

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

 


Interoperability Software Components

Interoperability between Oracle Tuxedo and Oracle 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
¨
Oracle Jolt for Oracle 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.

Oracle Jolt for WebLogic Server

Oracle 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 Oracle 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 Oracle 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 Oracle Tuxedo domains through a specially designed transaction processing protocol that flows over network protocol TCP/IP. Working with the WebLogic Tuxedo Connector gateway, the Oracle 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.

Oracle Tuxedo 11g Release 1 (11.1.3.0) supports the following WebLogic/WTC versions:

 


Interoperability Programming Interfaces

Interoperability between Oracle Tuxedo and Oracle 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 Oracle Tuxedo system. ATMI is described in Introducing Oracle Tuxedo ATMI.

JATMI Interface

JATMI is the Oracle WebLogic Server Java implementation of the Oracle Tuxedo ATMI. It allows WebLogic Server application servers to access Tuxedo ATMI services. JATMI is described in WebLogic Tuxedo Connector Programmer's Guidehttp://download.oracle.com/docs/cd/E12840_01/wls/docs103/wtc_atmi/index.html.

Jolt Interface

Oracle Jolt for Oracle WebLogic Server is a Java-based client API that manages requests to Oracle 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 Oracle WebLogic application. Jolt API is described in Using Oracle Jolt with Oracle 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 RMIhttp://download.oracle.com/docs/cd/E12840_01/wls/docs103/rmi/index.html.

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 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 Oracle Tuxedo CORBA, see “Mapping of OMG IDL Statements to C++” in Oracle Tuxedo CORBA Programming Reference.

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

Note: 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 object’s IDL cannot always be mapped into an RMI-over-IIOP Java interface.

A server binary (a class file) created using RMI-over-IIOP APIs can be exported as JRMP (RMI 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 IIOPhttp://download.oracle.com/docs/cd/E12840_01/wls/docs103/rmi/iiop_basic.html.

 


JSL/JSH-Jolt Unidirectional Connectivity

Oracle Jolt for WebLogic Server provides unidirectional connectivity from Oracle WebLogic Server applications to Oracle Tuxedo 8.1 or later ATMI services. With Oracle 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. Figure 2-1 shows how this connectivity is implemented.

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

WebLogic Server to Oracle Tuxedo Connectivity Using Jolt

Oracle Jolt is a Java-based client API that manages requests to Oracle 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 Oracle 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 Oracle Tuxedo services in an Oracle 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 an Oracle 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 Oracle 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 Oracle Jolt with WebLogic Server, see Using Oracle Jolt with Oracle WebLogic Server. This document explains the operation of Oracle Jolt for WebLogic Server, and describes how to use, configure, and integrate Oracle Jolt, Oracle Tuxedo ATMI, and Oracle WebLogic Server.

 


TDomain-WTC Bidirectional Connectivity

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

Oracle Tuxedo to Oracle WebLogic Server Connectivity

Oracle 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. Figure 2-2 shows how this connectivity is implemented.

Figure 2-2 Tuxedo to WebLogic Server Connectivity

Tuxedo to WebLogic Server Connectivity

Note: Oracle 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 Oracle Tuxedo Product Overview.

The TDomain gateway not only enables Tuxedo domains to share services with other Oracle 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 Oracle 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. Oracle encourages the use of the WTC component delivered with the WebLogic Server product.

Oracle WebLogic Server to Oracle Tuxedo Connectivity

EJB application servers in a WebLogic Server application can invoke services and CORBA objects in an Oracle Tuxedo application using the WTC and TDomain gateways. Figure 2-3 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 Oracle 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 an Oracle Tuxedo ATMI server offering the requested service.

Similarly, the gateways allow WebLogic Server EJBs, JSPs, or Java servlets acting as clients to access Oracle Tuxedo CORBA objects. The WTC gateway inserts the EJB/JSP/servlet CORBA Java or RMI-over-IIOP request inside of an Oracle Tuxedo GIOP (TGIOP) request message, and the TDomain gateway delivers the TGIOP request to an Oracle 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. Oracle 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 an Oracle Tuxedo/ WebLogic Server deployment is fully supported through the TDomain and WTC gateways.

TDomain and WTC Documentation

For details about the Oracle Tuxedo Domains gateway, see Using the Oracle Tuxedo Domains Component. For details about the WTC gateway, see WebLogic Tuxedo Connectorhttp://download.oracle.com/docs/cd/E12840_01/wls/docs103/wtc.html.

 


RMI-over-IIOP Client Direct Connectivity to an EJB

In addition to using the TDomain and WTC gateways to achieve connectivity from Oracle Tuxedo CORBA to Oracle 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. Figure 2-4 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 Oracle Tuxedo can directly interact with an EJB in WebLogic Server, see Connectivity Between an Oracle Tuxedo CORBA Client and an EJB in WebLogic Server.

 


Summary of Interoperability Capabilities

Table 2-1 summarizes the interoperability capabilities for an Oracle Tuxedo/ WebLogic Server deployment.

Table 2-1 Oracle Tuxedo/ WebLogic Server Interoperability Capabilities (Sheet 1 of 2)
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 Connectorhttp://download.oracle.com/docs/cd/E12840_01/wls/docs103/wtc.html.


  Back to Top       Previous  Next