BEA Logo BEA WebLogic Enterprise Release 5.1

  Corporate Info  |  News  |  Solutions  |  Products  |  Partners  |  Services  |  Events  |  Download  |  How To Buy

 

   WebLogic Enterprise Doc Home   |   Interoperability Topics   |   Previous Topic   |   Next Topic   |   Contents   |   Index

Introduction

 

This topic includes the following sections:

 


Interoperability Among the CORBA, J2EE, and Tuxedo Programming Models

The key interoperability features are presented in the following categories:

First, a summary description of BEA clients, servers, the T-Engine, and the J-Engine follows.

BEA Clients and Servers

Note the following definitions:

T-Engine Server Interoperability

This section describes the interoperability among the following T-Engine server components:

Figure 1-1 shows the direct interoperability support among the various T-Engine server applications. The numbered callouts in the figure are explained in the text that follows the figure. In this figure, the solid black arrows show the direct invocation paths that are supported. The dotted arrows show indirect invocation paths that are supported; for example, a Tuxedo service can invoke a CORBA Java object using either a CORBA C++ proxy object, or a C++ client stub file compiled from the OMG IDL for that Java object.

Figure 1-1 T-Engine Server Interoperability

Note the following details about the preceding figure:

  1. CORBA Java object or T-Engine Enterprise JavaBean invoking a Tuxedo service

    WebLogic Enterprise provides the Java Enterprise Tuxedo (JET) API that you can use to have either a CORBA Java object or a T-Engine EJB invoke a Tuxedo service running in the WebLogic Enterprise domain. An example of a CORBA Java object invoking a Tuxedo service using JET is described in CORBA/Java-to-Tuxedo Simpapp Sample Application, and an example of an EJB application invoking a Tuxedo service using JET is described in EJB-to-Tuxedo Simpapp Sample Application. (Note that RMI server applications can also run in the WebLogic Enterprise T-Engine domain, and they can also use JET to invoke Tuxedo services in that domain.)

    For considerations about using the JET software, see Java Enterprise Tuxedo (JET) Software.

  2. Tuxedo service invoking a CORBA C++ object and vice versa

    A C++ object can include ATMI calls to Tuxedo services. See the Wrapper University sample application, available from the Guide to the University Sample Applications, for an example application that shows this feature.

    A Tuxedo service can invoke a CORBA C++ object using the compiled C++ client stub file for that object. (One way to do this is to implement the Tuxedo service as a C-callable C++ function that invokes the client stub file for the C++ object. If you use this approach, note that you need to link in the C++ ORB libraries when you build the Tuxedo service.)

  3. CORBA C++ object invoking a CORBA Java object and vice versa

    CORBA C++ and CORBA Java objects that run in the same WebLogic Enterprise domain can invoke each other directly. For information about invoking across WebLogic Enterprise domains, see the section T-Engine Interdomain Interoperability.

  4. CORBA Java object invoking a T-Engine EJB and vice versa

    In the WebLogic Enterprise environment, a CORBA Java object can invoke methods on a T-Engine EJB directly. See CORBA/C++-to-T-Engine EJB Simpapp Sample Application, for an example application that includes a CORBA Java object that invokes an EJB.

  5. Tuxedo service invoking a CORBA Java object

    A Tuxedo service can invoke a CORBA Java object by compiling the Java object's OMG IDL file with the idl command, which produces a C++ client stub file that the Tuxedo service can invoke, using an approach similar to the one described in point 2.

  6. T-Engine EJB invoking a CORBA C++ object and vice versa

    T-Engine EJB-to-CORBA/Java Simpapp Sample Application, shows an example of an EJB invoking a CORBA Java object. You can extend this example to include a CORBA C++ object by designing the Java object in that application to serve as an intermediary, or wrapper, object that delegates invocations from the EJB to the C++ object, and vice versa. An alternative means for having an EJB invoke a C++ object is to compile the OMG IDL file for the C++ object using the m3idltojava command, which produces a Java client stub file that the EJB can invoke directly.

Java Enterprise Tuxedo (JET) Software

The WebLogic Enterprise software includes the JET API, which allows T-Engine Java entities -- namely, EJBs and CORBA Java objects -- to make ATMI calls on Tuxedo services that exist in either the same WebLogic Enterprise domain or in a separate WebLogic Enterprise domain. JET is a server-side adaptation of BEA Jolt. JET shares some of its software components with Jolt, including the Repository Editor and the bulk loader. To take full advantage of all the capabilities of JET, you need to install the Jolt software, which is included with the WebLogic Enterprise software.

For more information about JET, see Using Java Enterprise Tuxedo (JET). For more information about installing Jolt, see the Jolt Installation Guide, which is included in the WebLogic Enterprise package.

Note: JET cannot be used by Java clients to invoke Tuxedo services; this capability is provided by BEA Jolt, which is summarized in Transactions and Security Within the T-Engine Environment.

Transactions and Security

Transaction and security context propagation among BEA server applications running in a WebLogic Enterprise domain is fully supported.

T-Engine Client and Server Interoperability

Figure 1-2 shows the interoperability support among BEA clients invoking BEA servers.

Figure 1-2 T-Engine Client and Server Interoperability

Note the following details in the preceding figure:

  1. Jolt client application invoking a Tuxedo service

    A Jolt client can invoke a Tuxedo service running in the WebLogic Enterprise domain via a Jolt listener/handler. For more information about Jolt, see the BEA Jolt online documentation.

  2. Tuxedo /WS client application invoking a Tuxedo service

    A Tuxedo /WS client application can invoke a Tuxedo service running in the WebLogic Enterprise domain via the Workstation listener/handler.

  3. BEA CORBA C++ client application invoking a CORBA object

    A BEA CORBA C++ client application can invoke both CORBA C++ and Java objects running in a WebLogic Enterprise domain via the IIOP listener/handler. For more information, see Creating CORBA Client Applications.

  4. BEA CORBA Java client application invoking a CORBA server-side object

    A BEA CORBA Java client application can invoke both CORBA C++ and Java objects running in a WebLogic Enterprise domain via the IIOP listener/handler. For more information, see Creating CORBA Client Applications.

  5. BEA ActiveX client application invoking a CORBA server-side object

    A BEA ActiveX client application can invoke both CORBA C++ and Java objects running in a WebLogic Enterprise domain via the IIOP listener/handler. For more information, see Creating CORBA Client Applications.

  6. T-Engine RMI client application invoking an T-Engine Enterprise JavaBean

    An RMI client application can invoke an Enterprise JavaBean running in the WebLogic Enterprise domain via the IIOP listener/handler using the WebLogic RMI-on-IIOP protocol. For more information, see Using RMI in a WebLogic Enterprise Environment. (Note that an RMI client can also invoke an RMI server running in a WebLogic Enterprise domain.)

The following additional invocation paths are also supported in the WebLogic Enterprise T-Engine environment via proxy objects or servers:

Transactions and Security Within the T-Engine Environment

Transaction and security context propagation between T-Engine client and server applications is fully supported, with the following restrictions:

A Note About BEA Jolt

BEA Jolt provides a means for allowing Java clients to make ATMI calls on Tuxedo services that exists in a Tuxedo or WebLogic Enterprise domain. Jolt also provides a means for allowing J-Engine servers to invoke T-Engine Tuxedo services . This latter capability is performed via Jolt connection pools, which is shown in J-Engine and T-Engine Interoperability. BEA provides Jolt with the WebLogic Enterprise software.

For more information, see the following documents:

T-Engine RMI Clients and the WebLogic RMI-on-IIOP Protocol

RMI clients of EJBs running in a T-Engine domain must use the WebLogic RMI-on-IIOP protocol. This is a proprietary protocol and is different from the RMI-over-IIOP protocol, which is used by clients of the BEA WebLogic ServerTM system.

For more information about the WebLogic RMI-on-IIOP protocol, see Using RMI in a WebLogic Enterprise Environment.

J-Engine and T-Engine Interoperability

The WebLogic Enterprise domain can comprise both T-Engine and J-Engine components. As of WebLogic Enterprise 5.1, this connectivity is available in only one direction-from the J-Engine to the T-Engine.

Figure 1-3 shows how IIOP and Jolt connection pools allow components hosted by the J-Engine can invoke objects and services hosted by a T-Engine running in the same WebLogic Enterprise domain.

Figure 1-3 J-Engine and T-Engine Interoperability

Note the following about these connection pools:

For details about the versions of J-Engine and T-Engine server components that can interoperate, see the Release Notes.

Third-party ORB Interoperability

CORBA applications based on third-party ORBs can interoperate with CORBA, Tuxedo, and J2EE server applications running in a WebLogic Enterprise T-Engine domain provided that there is a correct match-up between IIOP protocols. Figure 1-4 provides a high-level view of third-party ORB interoperability with WebLogic Enterprise.

Figure 1-4 Third-party ORB Interoperability

Note the following regarding third-party ORB interoperability with WebLogic Enterprise:

T-Engine Interdomain Interoperability

A server application running in one WebLogic Enterprise domain can interoperate with a server application running in another WebLogic Enterprise domain via the domain gateway (and not IIOP), as shown in Figure 1-5.

Figure 1-5 T-Engine Interdomain Interoperability

Domain gateways provide the following interoperability features:

For more information about interdomain WebLogic Enterprise interoperability, see Administration in the WebLogic Enterprise online documentation.

WebLogic Enterprise and Tuxedo Domains Interoperability

WebLogic Enterprise and Tuxedo domains can interoperate via domain gateways, as shown in Figure 1-6.

Figure 1-6 WebLogic Enterprise and Tuxedo Domains Interoperability

Note the following about WebLogic Enterprise and Tuxedo interdomain interoperability:

For more information about WebLogic Enterprise and Tuxedo domains interoperability, see Administration in the WebLogic Enterprise online documentation.

 


Overview of the T-Engine Interoperability Sample Applications

The WebLogic Enterprise software includes the sample applications as described in Table 1-1.

Table 1-1 The Interoperability Sample Applications

Application

Description

T-Engine EJB-to-CORBA/Java Simpapp

Shows an EJB server acting as a client invoking a request and receiving a response from a CORBA/Java object.

CORBA/C++-to-T-Engine EJB Simpapp

Shows CORBA/C++ client invoking a request and receiving a response from an EJB server.

CORBA/Java-to-Tuxedo

Shows a CORBA/Java object that invokes a Tuxedo service using the Java Enterprise Tuxedo (JET) API.

T-Engine EJB-to-Tuxedo

Shows an Enterprise JavaBean application that invokes a Tuxedo service using the Java Enterprise Tuxedo (JET) API.

Use the interoperability sample applications in conjunction with the following documents: