Re: IMRs again (was Re: Comments on the baboon plugin spec)



Elliot Lee writes:
 > --------------------------------------------------------------
 > What GNOME already does:
 > 1. Provide interfaces to allow programs to start & stop a server for
 >    a particular object type, and specify what type of activation
 >    will be used for that object (in-process or remote, possibly others)
 >    [baboon_get_factory(), baboon_Moniker_resolve() (NYF), gnome-name-service]
 > 2. Provide a way for programs to find the address of an
 >    already-running server that wishes to advertise its
 >    implementation of a particular object type. [gnome-name-service]
 > 3. Provide a way for binaries to register themselves as
 >    providing implementations of particular object types.
 >    [putting files in the right directory (NYF) and gnome_config]
 > 
 > And what will be will be.
 > --------------------------------------------------------------

This binding model is great for providing quick and flexible access to 
binaries and running processes without storing persistent data. (:

However, the mico binding model, which provides access to objects from 
RepositoryIDs, has some advantages when trying to build a scripting 
language for CORBA.

Mico has to maintain a fully stocked persistent IR and IMR in order to 
expolit these advantages. Once these are in place then a scripting
language can search the IR to find the modules and interfaces that
are available, bind to any interface from its RepositoryID and invoke 
any operation by name.

This produces a scripting language that grows automatically as new 
interfaces are registered. Furthermore, this same trick works
simultaneously with all extensible scripting languages, saving the
need to create modules that link each one to each new interface.
Therefore, the added costs of implementing the IR and IMR are
recovered many times over (once per scripting language). 

The slight delays in obtaining object references relative to the 
GNOME model are unimportant with scripting languages. The slight
increase in the time required to install servers is easily outwieghed 
by the greater access made available by installing into the IR and 
IMR as well as installing into the GNOME CORBA server directories.

Finally, there is no reason why the mico binding model could not be
made available simultaneously with the GNOME model as an adjunct to
the ORBit ORB. Providing two access routes to object references with 
different relative advantages is better than providing one.


Felix


PS: My apologies for failing to make clear that I was referring
    to the mico binding model in my previous mail and loosely
    describing the RepositoryID for an interface as its "IDL".



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]