11 Developing a WebLogic C++ Client for a Tuxedo ORB

The WebLogic C++ client uses the Tuxedo 8.1 or higher C++ Client ORB to generate IIOP requests for EJBs running on WebLogic Server. This client supports object-by-value and the CORBA Interoperable Naming Service (INS). The following sections provides information on developing WebLogic C++ clients for the Tuxedo ORB:

WebLogic C++ Client Advantages and Limitations

A WebLogic C++ client offers these advantages:

  • Simplifies your development process by avoiding third-party products

  • Provides a client-side solution that allows you to develop or modify existing C++ clients

  • The Tuxedo C++ Client ORB is packaged with Tuxedo 8.1 and higher.

The WebLogic C++ client has the following limitations:

  • Provides security through the WebLogic Server Security service.

  • Provides only server-side transaction demarcation.

How the WebLogic C++ Client Works

The WebLogic C++ client processes requests as follows:

  • The WebLogic C++ client code requests a WebLogic Server service.

    • The Tuxedo ORB generates an IIOP request.

    • The ORB object is initially instantiated and supports Object-by-Value data types.

The client uses the CORBA Interoperable Name Service (INS) to look up the EJB object bound to the JNDI naming service. For more information on how to use the Interoperable Naming Service to get object references to initial objects such as NameService, see "Interoperable Naming Service Bootstrapping Mechanism" in CORBA Programming Reference for BEA Tuxedo 8.0 at http://e-docs.bea.com/tuxedo/tux80/cref/boot.htm.

Example 11-1 WebLogic C++ Client to WebLogic Server Interoperability

Description of c_plusplus.gif follows
Description of the illustration c_plusplus.gif

Developing WebLogic C++ Clients

Use the following steps to develop a C++ client:

  1. Use the ejbc compiler with the -idl option to compile the EJB with which your C++ client will interoperate. This action generates an IDL script for the EJB.

  2. Use the C++ IDL compiler to compile the IDL script and generate the CORBA client stubs, server skeletons, and header files. For information on the use of the C++ IDL Compiler, see "OMG IDL Syntax and the C++ IDL Compiler" in CORBA Programming Reference for BEA Tuxedo 8.0 at http://e-docs.bea.com/tuxedo/tux80/cref/idlchap.htm.

  3. Discard the server skeletons; the EJB represents the server side implementation.

  4. Create a C++ client that implements an EJB as a CORBA object. For general information on how to create CORBA client applications, see Creating CORBA Client Applications for BEA Tuxedo 8.0 at http://e-docs.bea.com/tuxedo/tux80/creclien/index.htm.

  5. Use the Tuxedo buildobjclient command to build the client.