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

This chapter describes how a 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).

This chapter includes the following sections:

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 Oracle Tuxedo 8.0 at http://docs.oracle.com/cd/E13203_01/tuxedo/tux80/interm/corbaprog.htm#client.

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

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 Oracle Tuxedo 8.0 at http://docs.oracle.com/cd/E13203_01/tuxedo/tux80/interm/corbaprog.htm#client
  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 Oracle Tuxedo 8.0 at http://docs.oracle.com/cd/E13203_01/tuxedo/tux80/interm/corbaprog.htm#client
  5. Use the Tuxedo buildobjclient command to build the client.