[omniORB] What's an Interface Repository?

Ian Brennan ibrennan@iona.com
Tue, 14 Apr 1998 19:27:34 +0100


The Interface repository (IFR) is basically an "interface bucket" where servers
and clients can make their IDL interfaces public.  Its most common use is with
DII and DSI.

Using the DII, it's possible to invoke upon interfaces unknown at design time. 
If you're not using Anys there is no way you can possibly send a request
without using the IFR:  How do you know how to construct the interface without
interface information?

Similarly, a DSI server needs information on an interface before marshalling an
incoming request, since IIOP packets are not self describing outside an Any.

Here's a few things that have been written with the IFR:

1) Bridges between CORBA and other transport protocols, such as DCOM, where the
IFR plays a crucial role.

2) Orb-upon-an-Orb type applications: ie CORBAscript.

3) Adaptive interfaces: In a situation where the (non constant) application
interface is defined in IDL, an adaptive GUI front end can use information
stored in the IFR to create new controls accordingly. 

It doesn't get used in ordinary run of the mill type stuff, but in the more
exotic corners of CORBA, it plays a crucial role.


Sai-Lai Lo wrote:
> >>>>> David Morgenlender writes:
> > I'm new to CORBA & omniORB.  I noticed that one of the omniORB
> > limitations is no support for an Interface Repository.  I can't seem to
> > find this term in any of my CORBA materials.  What is it?
> It is a service defined in CORBA to allow the client to find out the
> details of an interface at runtime.
> OmniORB does not have an Interface Repository and does not require one to
> function properly. IMHO, most applications don't need it and its use should
> be restricted to a very narrow area of application, e.g. in a debugger.
> Regards,
> Sai-Lai