|
|
Introduction
This topic includes the following sections:
Interoperability Between the WLS J2EE and BEA Tuxedo Programming Models
This section describes the interoperability and coexistence capabilities in the BEA Tuxedo system between the WebLogic Server J2EE and Tuxedo programming models. The key interoperability features are presented in the following categories:
A summary description of BEA clients and servers follows.
Note the following definitions:
A BEA client can be any of the following entities, which exist outside the BEA domain and must use a listener/handler as a gateway to the domain:
Note that a BEA Tuxedo client invoking another BEA Tuxedo client is not supported.
A BEA Tuxedo server includes Tuxedo services and CORBA objects that run on the BEA Tuxedo system. These servers run within the administrative unit of a BEA Tuxedo domain and are configured through a UBBCONFIG file.
BEA Tuxedo Server Interoperability
This section describes the interoperability between the following BEA Tuxedo server components:
Figure 1-1 shows the direct interoperability support between BEA Tuxedo server applications.
A BEA 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 BEA 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.
Figure 1-1 BEA Tuxedo Server Interoperability
A C++ object can include ATMI calls to BEA Tuxedo services. See the Wrapper University sample application, available in the Guide to the CORBA University Sample Applications, for a sample application that demonstrates this feature. Transactions and Security Transaction and security context propagation between server applications running in a BEA Tuxedo domain is fully supported. BEA Tuxedo Client and Server Interoperability Figure 1-2 shows the interoperability support among BEA clients invoking BEA servers. Figure 1-2 Remote Client and Server Interoperability
Note the following information illustrated in the preceding figure:
A Jolt client can invoke a BEA Tuxedo service running in the BEA Tuxedo domain through a Jolt listener/handler. For more information about Jolt, see Using BEA Jolt and the BEA Jolt API Reference in the online BEA Tuxedo documentation.
A BEA Tuxedo /WS client application can invoke a BEA Tuxedo service running in the BEA Tuxedo domain using the workstation listener/handler.
A BEA CORBA C++ client application can invoke CORBA C++ objects. For more information, see Creating CORBA Client Applications.
A BEA CORBA Java client application can invoke CORBA C++ objects running in a BEA Tuxedo domain using the IIOP listener/handler. For more information, see Creating CORBA Client Applications.
A BEA ActiveX client application can invoke CORBA C++ objects running in a BEA Tuxedo domain using the IIOP listener/handler. For more information, see Creating CORBA Client Applications.
The following additional invocation paths are also supported in the BEA Tuxedo environment using proxy objects or servers:
You can create a C++ client with a set of operations that maps one-to-one with calls to BEA Tuxedo services using an intermediary C++ server-side object. For an example application illustrating this feature, see the Wrapper University sample application in the Guide to the CORBA University Sample Applications.
Interoperability is provided using a BEA Tuxedo service wrapper. You create a BEA Tuxedo service wrapper as a CORBA C++ object that runs in the BEA Tuxedo domain and that makes invocations on the CORBA C++ object.
Transactions and Security
Transaction and security context propagation between BEA client and server applications is fully supported, with the following restriction:
For example, a client can begin a transaction and make multiple invocations on services and objects within the domain, and those services and objects can in turn make invocations on yet other services and objects. The client application cannot, within the scope of that transaction, perform operations locally and have them included in that transaction. That is, if the client application starts a transaction, invokes an object within the domain, then writes data to a database local to the client, the local database operation cannot not be included in the transaction.
About BEA Jolt
BEA Jolt provides a mechanism for allowing Java clients to make ATMI calls on BEA Tuxedo services that exist in a BEA Tuxedo domain. Jolt also provides a mechanism for allowing BEA WebLogic Server to invoke BEA Tuxedo services. This latter capability is performed through Jolt connection pools and is described in the next section.
For more information, see the following documentation:
BEA WebLogic Server and BEA Tuxedo Interoperability
WebLogic Server applications can invoke CORBA objects and BEA Tuxedo services in a BEA Tuxedo domain. Figure 1-3 illustrates the use of connection pools for these implementations.
Figure 1-3 WebLogic Server and BEA Tuxedo Interoperability
Note the following about these connection pools:
BEA Tuxedo Interoperability with Third-Party ORBs
This release of BEA Tuxedo includes support for the CORBA Services Interoperable Naming Service (INS) to enhance interoperability with third-party ORB applications. The addition of INS enables third-party ORBs that use INS to interoperate with the BEA Tuxedo CORBA server ORB. Using INS, third-party ORBs can execute the following operations on BEA Tuxedo CORBA servers without requiring the use of the BEA Bootstrap, SecurityCurrent, or TransactionCurrent environmental objects:
Note: BEA Tuxedo CORBA client environmental objects continue to be supported in BEA Tuxedo 8.0, as they were in BEA WebLogic Enterprise Version 5.1.
BEA Tuxedo Interdomain Interoperability
A server application running in one BEA Tuxedo domain can interoperate with a server application running in another BEA Tuxedo domain through the domain gateway. For more information about interdomain BEA Tuxedo interoperability, see the BEA Tuxedo Product Overview
. and Administering a BEA Tuxedo Application at Run Time in the BEA Tuxedo online documentation.
Interoperability Solutions
This section provides information on interoperability solutions between these components:
Connectivity from BEA WebLogic Server to BEA Tuxedo ATMI
This section provides information on options for connectivity between WebLogic Server and BEA Tuxedo ATMI. It includes the following sections:
Using BEA Jolt
With BEA Jolt for BEA WebLogic Server, you can enable BEA Tuxedo services for the Web, using WebLogic Server as the front-end HTTP and applications server.
BEA Jolt is a Java-based client API that manages requests to BEA Tuxedo services using a Jolt Service Listener (JSL) running on the Tuxedo server. The Jolt API is embedded in the WebLogic Server API, and is accessible from a servlet, JHTML, or other BEA WebLogic application.
The product consists of two main components: the Jolt Class Library and the Jolt Repository. With BEA Jolt, you can create secure, scalable transactions, over the Internet, between clients and severs.
For complete information on using BEA Jolt with WebLogic Server, see Using BEA Jolt with BEA WebLogic Server in the BEA Tuxedo online documentation. 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 WebLogic Server. The document includes these sample programs:
This example demonstrates how to use BEA Jolt to connect to BEA Tuxedo ATMI from a WebLogic servlet.
This example demonstrates an EJB interface for accessing BEA Tuxedo ATMI.
Note: The current release of BEA Jolt does not support bidirectional connectivity or transaction context propagation.
The current release of BEA Jolt has been enhanced to support:
You can send an eXtensible Markup Language (XML) buffer from a Jolt client to a BEA Tuxedo ATMI Service using Data Dependent Routing (DDR.) A Jolt client can receive an XML document from a BEA Tuxedo ATMI Service.
WebLogic Server-authenticated user credentials are mapped to the appropriate security interfaces/protocols, and an incoming request does not require re-authentication before invoking BEA Tuxedo ATMI services.
In a WebLogic Server/BEA Tuxedo environment, this eliminates the requirement to restart BEA WebLogic Server if the connection pool requires a restart.
Using WebLogic Tuxedo Connector (WTC) Version 1.0
WebLogic Tuxedo Connector version 1.0 delivers bidirectional interoperability between WebLogic Server and BEA Tuxedo ATMI. This allows BEA Tuxedo applications using ATMI APIs to take advantage of the advanced messaging facilities provided by JMS.
BEA Tuxedo services makes calls through WebLogic Tuxedo Connector using ATMI. Communication with Java programs using the connector is transparent to BEA Tuxedo ATMI clients. WebLogic Tuxedo Connector extracts the contents of the BEA Tuxedo ATMI buffer and presents the contents to a Java application.
WebLogic Tuxedo Connector also provides a Java API that enables invocation from WLS servlets, JSPs, and EJBs on BEA Tuxedo ATMI services without changes to the ATMI services.
For information on the features and operation of WebLogic Tuxedo Connector 1.0, see http://download.oracle.com/docs/cd/E13227_01/wtc/wtc10/index.html in the online documentation. These pages provide WebLogic Tuxedo Connector 1.0 documentation on the following specific topics:
Connectivity from BEA Tuxedo CORBA to BEA WebLogic Server
This section provides information on options for connectivity between BEA Tuxedo CORBA Server and BEA WebLogic Server. It includes the following sections:
Using RMI/IIOP and IDL Interfaces
BEA Tuxedo CORBA C++ clients, and CORBA C++ servers acting as clients, support the CORBA standard of passing objects by value. This enables CORBA client support for RMI over IIOP invocations on IDL interfaces for WebLogic Server EJBs.
The BEA Tuxedo CORBA WLStrader Value Type client application employs RMI over IIOP and IDL interfaces to connect to the Trader EJB in WebLogic Server. See Connectivity Between a BEA Tuxedo CORBA Client and an EJB in WebLogic Server for complete information on how to build and run this sample application.
Using WebLogic Tuxedo Connector (WTC) Version 1.1
WebLogic Tuxedo Connector version 1.1 enhances the bidirectional interoperability between BEA WebLogic Server and BEA Tuxedo components. This gateway provides interoperability between BEA WebLogic Server and both BEA Tuxedo CORBA and BEA Tuxedo ATMI. This product provides functional equivalence to BEA Jolt and WebLogic Enterprise Connectivity. Unlike Jolt, this product does not provide transparent migration.
Using this version of WebLogic Tuxedo Connector, a WebLogic Server programmer can invoke CORBA C++ objects using the standard CORBA API. WebLogic Tuxedo Connector supports routing of CORBA invocations through the BEA Tuxedo domain gateway to the appropriate CORBA C++ object. WebLogic Tuxedo Connector supports security and transaction propagation from BEA WebLogic Server to BEA Tuxedo.
WebLogic Tuxedo Connector version 1.1 supports all of the functionality included in version 1.0.
BEA Systems encourages the use of WebLogic Tuxedo Connector version 1.1 for WebLogic Server/BEA Tuxedo connectivity.
Connectivity from BEA WebLogic Server to BEA Tuxedo CORBA
This topic provides information on options for connectivity between BEA WebLogic Server and BEA Tuxedo CORBA. It includes the following sections:
Using WebLogic Enterprise Connectivity (WLEC)
WebLogic Enterprise Connectivity (WLEC) is a component of WebLogic Server. This component enables the use of IIOP connection pooling from WebLogic Server clients, including servlets, EJBs, JSPs, and RMI objects, to invoke CORBA, EJB, and other RMI objects.
The key features of WebLogic Enterprise Connectivity are:
Note: WebLogic Enterprise Connector is CORBA 2.2 compliant. WebLogic Enterprise Connectivity does not support passing of objects by value, in value types.
For complete information on WebLogic Enterprise Connectivity, see WebLogic Enterprise Connectivity (WLEC) topics in the BEA WebLogic Server online documentation.
Documentation provided at the BEA WebLogic Server installation location includes examples showing how to use WebLogic Enterprise Connectivity to access BEA WebLogic Enterprise or BEA Tuxedo CORBA objects from servlets, JSP and Enterprise JavaBeans running on a BEA WebLogic Server. The files are in this location: wlserver6\samples\examples\wlec\package-summary.html.
For supplementary information on building and running the WebLogic Server WLEC EJB simpapp application to connect to a BEA Tuxedo CORBA object, see Connectivity from WebLogic Server to a CORBA Object.
Interoperability Sample Applications
This section lists the interoperability sample applications provided with BEA Tuxedo and BEA WebLogic Server software. The sample applications provide client and server programmers with information about the basic concepts of combining Enterprise JavaBeans (EJBs) and CORBA objects in an application.
The BEA Tuxedo and WebLogic Server software include the sample applications outlined in Table 1-1.
Table 1-1 Interoperability Sample Applications
|
Copyright © 2001 BEA Systems, Inc. All rights reserved.
|