|
|
This chapter describes the interoperability and coexistence capabilities in the WebLogic Enterprise (WLE) system among the CORBA, J2EE, and Tuxedo programming models, and also describes the interoperability sample applications provided with the WLE software. The sample applications provide client and server programmers with information about the basic concepts of combining Enterprise JavaBeans (EJBs) and CORBA objects in the same WLE application.
This chapter does not discuss specific interoperability or coexistence details on the following topics:
In general, interoperability and coexistence among CORBA, J2EE, and Tuxedo entities in the WLE environment, with respect to transactions, is fully supported. BEA clients can initiate transactions that are propagated to and coordinated among CORBA objects, Tuxedo services, and EJBs in the WLE domain.
Note the following restrictions with regard to transactions and interoperability in the WLE system:
Interoperability, Coexistence, and Transactions
As a WLE application developer, you can use transaction policies with your EJBs, CORBA objects, and Tuxedo services to ensure the appropriate transactional behaviors of WLE server applications.
The key interoperability features are presented in the following categories:
Interoperability Among the CORBA, J2EE, and Tuxedo Programming Models
Note that BEA clients invoking other BEA clients is not supported.
The following table summarizes the interoperability support among the various BEA server applications. A plus sign (+) means that full interoperability is supported.
BEA Servers Invoking BEA Servers
|
Server Being Invoked |
|||
---|---|---|---|---|
Tuxedo Service |
CORBA C++ Object |
CORBA Java Object |
EJB |
|
Note the following details about the preceding table:
You can create a C++ object with a set of operations that map one-to-one with 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.
You can create an intermediary, or wrapper, Java object between the C++ object and the EJB. See CORBA/C++-to-EJB Simpapp Sample Application, for an example application showing this feature.
In the WLE environment, a CORBA Java object can invoke methods on an EJB directly. See CORBA/C++-to-EJB Simpapp Sample Application, for an example application that includes a CORBA Java object that invokes an EJB.
For information, see a BEA Professional Services Organization representative.
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.
In the WLE environment, an EJB can invoke a CORBA Java object directly. For an example, see EJB-to-CORBA/Java Simpapp Sample Application.
The following table summarizes the interoperability support among BEA clients invoking BEA servers. A checkmark (+) means that full interoperability is supported.
BEA Clients Invoking BEA Servers
Client Making Invocation |
Server Being Invoked |
|||
---|---|---|---|---|
Tuxedo Service |
CORBA C++ Object |
CORBA Java Object |
EJB |
|
Note the following details about the preceding table:
You can create a C++ client with a set of operations that map one-to-one with calls to Tuxedo services. See the Wrapper University sample application for an example application that shows this feature. You can extend this example by converting the C++ server object into a WLE CORBA C++ client.
CORBA/C++-to-EJB Simpapp Sample Application. shows an example of a C++ object invoking an EJB via a CORBA Java intermediary object.
A WLE RMI client application can invoke a CORBA C++ object by using an EJB and a CORBA Java object in the server process as intermediaries. For an example, you can extend the sample application described in EJB-to-CORBA/Java Simpapp Sample Application, as follows:
A WLE RMI client application can invoke a CORBA Java object by using an EJB as an intermediary. For an example, you can extend the sample application descirbed in EJB-to-CORBA/Java Simpapp Sample Application, to have the RMI client application initiate the request instead of the EJB.
Interoperability is provided via a Tuxedo service wrapper. You create a Tuxedo service wrapper as a CORBA C++ object that runs in the WLE domain and that makes invocations on the legacy CORBA C++ object.
Interoperability is provided via a Tuxedo service wrapper.
Interoperability is provided via a Tuxedo service wrapper on a CORBA Java object in the server process, which then delegates the invocation to the EJB.
The WLE C++ ORB supports the IIOP 1.2 protocol, and the WLE Java ORB supports the IIOP 1.0 protocol. Both ORBs interoperate with client products from other vendors that support the IIOP 1.2 (or earlier) protocol.
WLE provides transactional and security support for the following third-party client products. However, BEA does not provide environmental objects for these clients, so these products cannot directly access transactional and security capabilities inside the WLE domain. These client products can connect to a WLE server application using a stringified object reference.
Third-party ORB Interoperability
The WLE software includes the sample applications described in Table 1-1:
Overview of the Interoperability Sample Applications
Table 1-1 The Interoperability Sample Applications
Application |
Description |
---|---|
Shows CORBA/C++ client invoking a request and receiving a response from an EJB server
|
Use the interoperability sample applications in conjunction with the following documents:
|
Copyright © 1999 BEA Systems, Inc. All rights reserved.
|