CORBA 2.3.3 Administration Guide (NonStop CORBA 2.3.3+)

interface corresponds to a class. A property is defined as an attribute, which is mapped by the IDL compiler to get and set
methods; a read-only attribute maps to a get method only. An operation corresponds to a method; parameters must be
specified as in, out, or in/out The following example illustrates an IDL interface description.
// IDL
interface Account
{
//Attributes
attribute float balance;
readonly attribute string owner;
//Operations
void makeDeposit(in float amount,
out float newBalance);
void makeWithdrawal(in float amount,
out float newBalance);
};
Many other features are supported by IDL, such as inheritance for specifying derived interfaces, modules for establishing
interface naming scopes, definition of exceptions supported by an interface and which operations can raise the exceptions,
and type codes. An IDL compiler is used to generate a server skeleton, which gets linked to the server program. The server
skeleton invokes methods of an object implementation. It demarshals parameters that come from the client through the ORB.
The IDL compiler also generates a native-language interface for implementing the server, as well as a client-side stub.
See Figure 12 for an illustration of the relationship IDL, client stub, and server skeleton.
Figure 1.2. Relationship between IDL, Client Stub and Server Skeleton