Previous | Table of Contents | Next |
In the Interworking Object Model, each object is simply a discrete unit of functionality that presents itself through a published
interface described in terms of a well-known, fully described set of interface semantics. An interface (and its underlying
functionality) is accessed through at least one well-known, fully described form of request. Each request in turn targets
a specific object—an object instance—based on a reference to its identity. That target object is then expected to service
the request by invoking the expected behavior in its own particular implementation. Request parameters are object references
or nonobject data values described in the object model’s data type system. Interfaces may be composed by combining other interfaces
according to some well-defined composition rules. In each object system, interfaces are described in a specialized language
or can be represented in some repository or library.
In CORBA, the Interworking Object Model is mapped to an architectural abstraction known as the Object Request Broker (ORB).
Functionally, an ORB provides for the registration of the following:
• Types and their interfaces, as described in the OMG Interface Definition Language (OMG IDL).
• Instance identities, from which the ORB can then construct appropriate references to each object for interested clients.
A CORBA object may thereafter receive requests from interested clients that hold its object reference and have the necessary
information to make a properly formed request on the object’s interface. This request can be statically defined at compile
time or dynamically created at run-time based upon type information available through an interface type repository.
While CORBA specifies the existence of an implementation type description called ImplementationDef (and an Implementation
Repository, which contains these type descriptions), CORBA does not specify the interface or characteristics of the Implementation
Repository or the ImplementationDef. As such, implementation typing and descriptions vary from ORB to ORB and are not part
of this specification.