Previous | Table of Contents | Next |
The Interface Repository is the component of the ORB that provides persistent storage of interface definitions—it manages
and provides access to a collection of object definitions specified in OMG IDL.
An ORB provides distributed access to a collection of objects using the objects’ publicly defined interfaces specified in
OMG IDL. The Interface Repository provides for the storage, distribution, and management of a collection of related objects’
interface definitions.
For an ORB to correctly process requests, it must have access to the definitions of the objects it is handling. Object definitions
can be made available to an ORB in one of two forms:
1. By incorporating the information procedurally into stub routines (e.g., as code that maps C language subroutines into communication protocols).
2. As objects accessed through the dynamically accessible Interface Repository (i.e., as interface objects accessed through OMG IDL-specified interfaces).
In particular, the ORB can use object definitions maintained in the Interface Repository to interpret and handle the values
provided in a request to:
• Provide type-checking of request signatures (whether the request was issued through the DII or through a stub).
• Assist in checking the correctness of interface inheritance graphs.
• Manage the installation and distribution of interface definitions.
• Provide components of a CASE environment (for example, an interface browser).
• Provide interface information to language bindings (such as a compiler).
• Provide components of end-user environments (for example, a menu bar constructor).
• Assist in providing interoperability between different ORB implementations.
As the interface to the object definitions maintained in an Interface Repository is public, the information maintained in the Repository can also be used by clients and services. For example, the Repository can be used to:
The complete OMG IDL specification for the Interface Repository is in Section 10.8,
“OMG IDL for Interface Repository,? on page 10-75; however, fragments of the
specification are used throughout this chapter as necessary.