OmniNames and bind_context

Tristan Richardson tjr@cam-orl.co.uk
Wed, 24 Dec 1997 10:55:14 +0000


>>>>> Gary Duzan writes:
> 
> I was just a little
> surprised that it allowed resolving using nobjects which happened to
> point to NamingContexts. It's clear that doing so falls out of obvious
> implementations fairly easily, but I just question whether such
> behavior strictly complies with the spec.
>    Ok, just found the proper reference. Page 3-8 of the CORBA Services
> document, section 3.2.1:
> 
>    bind
>      Creates a binding of a name and an object in the naming context.
>      Naming contexts that are bound using bind do not participate in
>      name resolution when compound names are passed to be resolved.
> 
> So strictly speaking, allowing references to NamingContexts that are
> bound with bind to participate in a resolve of a compound name is
> non-compliant. I would think it would be easy to fix, though; just
> check for ncontext at each step.
> 


I believe (hope?) omniNames does exhibit the correct behaviour.  I sent a
message to the list back in June discussing this exact point:

http://www.orl.co.uk/omniORB/archives/1997-Jun/0020.html

> 
> It is worth noting here that there is a subtle difference between using the
> "bind" operation and the "bind_context" operation for federating name servers.
> Using "bind" will bind another nameserver as an object (BindingType =
> nobject), whereas "bind_context" will result in a binding as a context
> (BindingType = ncontext).  Only in this second case may a compound name which
> refers to an object in the second nameserver be resolved in a single call to
> the first nameserver.
> 
> For example say nameserver 2 is bound as a context with name "/a/b" inside
> nameserver 1.  An object bound as "/c/d" inside nameserver 2 can be accessed
> from nameserver 1 by the name "/a/b/c/d".
> 
> If on the other hand, nameserver 2 is bound as an object, then two calls are
> necessary.  A client must first resolve "/a/b" to get an object reference for
> nameserver 2, and then use this to resolve "/c/d" inside nameserver 2.
> 
> Note also that "bind_context" is only available with the "-advanced" option to
> nameclt.
> 



Tristan

+--------------------------------------------------------------------+
|  Tristan Richardson                 Email:  tjr@orl.co.uk          |
|  ORL                                  Tel:  +44 1223 343000        |
|  24a Trumpington Street               Fax:  +44 1223 313542        |
|  Cambridge, CB2 1QA, UK               WWW:  http://www.orl.co.uk/  |
+--------------------------------------------------------------------+
|          ORL - The Olivetti & Oracle Research Laboratory           |
+--------------------------------------------------------------------+