2.5 How Object Invocation Works

Since CORBA objects are meant to function in a distributed environment, OMG has defined an architecture for how object invocation works. A CORBA object can be invoked in one of two ways:

  • By means of generated client stubs and skeletons -- sometimes referred to as stub-style invocation.
  • By means of the dynamic invocation interface -- referred to as dynamic invocation.

Creating CORBA Client Applications describes how dynamic invocation works. This section describes stub-style invocation, which is simpler to use than dynamic invocation.

When you compile your application’s OMG IDL file, one file that the compiler generates is a source file called the client stub . The client stub maps OMG IDL operation definitions for an object type to the operations in the CORBA server application that the Oracle Tuxedo system invokes to satisfy a request. The client stub contains code generated during the client application build process that is used in sending the request to the server application. Programmers should never modify the client stub code.

Another file produced by the IDL compiler is the skeleton , which is also a source file. The skeleton contains code used for operation invocations on each interface specified in the OMG IDL file. The skeleton is a map that points to the appropriate code in the CORBA object implementation that can satisfy the client request. The skeleton is connected to both the object implementation and the Oracle Tuxedo Object Request Broker.

The following figure illustrates the client application, the client stub, the skeleton, and the CORBA object implementation:

Figure 2-2 CORBA Object Implementation

Describes the CORBA object implementation.

When a client application sends a request, the request is implemented as an operation on the client stub. When the client stub receives the request, the client stub sends the request to the Object Request Broker (ORB), which then sends the request through the Oracle Tuxedo system to the skeleton. The ORB interoperates with the TP Framework and the Portable Object Adapter (POA) to locate the correct skeleton and object implementation.

For more information about generating client stubs and skeletons, see Creating CORBA Client Applications and Oracle Tuxedo ATMI C Function Reference in the Oracle Tuxedo online documentation.