[omniORB] Can I use a naming service with different orbs?

Carlson, Andy andycarlson@ipo.att.com
Tue, 31 Aug 1999 14:25:18 -0700


Mike, 

Sounds like a tall order to me...

My understanding is as follows:-

1. The CosNaming standard fixes the API of the Name servers to
ensure that all compliant naming services are interoperable, even 
if you want to do something difficult like build a complex federation 
composed of name servers from different vendors.

2. CORBA also standardises the API call (resolve_initial_references)
for reaching certain 'well known' objects, including the root context 
of a Naming Service.

3. CORBA does not specify the implementation of the above
call, so vendors are free to lock you in by making it use a proprietary
binding mechanism to reach only their Name Service. 

(That was very cynical. Let's have another try...)

3. CosNaming is the standard binding mechanism, so vendors are
faced with the problem of how to bind to the standard binding
mechanism, so it is not surprising that some resort to non-interoperable
approaches.

4. The portable AND interoperable way around this is for your application 
code to bind to a Name Server using string_to_object and an IOR instead 
of resolve_initial_references. Some vendors actually implement 
resolve_initial_references in this way, but some dont so you cant rely on
it.

So there you have it - use string_to_object and be interoperable or use
resolve_initial references and trust your ORB vendor.

If you DID want to avoid having an IOR in the configuration, you would
need the object key for the root context object as well as the host and 
port where the server is running (assuming that we are using IIOP). Then 
you could lift some code from an open source ORB to build an IOR at 
run time and then use string_to_object, but I dont really see what that is 
going to gain you over just using an IOR in the configuration in the first 
place. This is what IOR's were invented for!

In answer to your original question about interoperability, some vendors
implementations of the Naming Service dont work with other vendors
applications (I know this - I've tried it with some very well known
commercial 
ORBs). This makes them non-compliant, but knowing that doesnt help us 
much. That may be what your original sources were referring to.

BTW, in case anyone gets the wrong idea, I'm at the IP Technology 
Organisation at AT&T Labs in Redditch, not Cambridge where they make 
omniORB.

Andy
----------------------------------------------------------------------------
-----------
Andy Carlson. AT&T Labs (UK)   	Tel: +44 1527 495258
E-Mail: andycarlson@ipo.att.com	Fax: +44 1527 495229


> -----Original Message-----
> From:	Mike Bendickson [SMTP:bendi003@tc.umn.edu]
> Sent:	Tuesday, August 31, 1999 4:01 PM
> To:	Duncan Grisby
> Cc:	omniorb-list@uk.research.att.com;
> mico-devel@vsb.informatik.uni-frankfurt.de
> Subject:	Re: [omniORB] Can I use a naming service with different
> orbs? 
> 
> Oops, I wasn't clear.  I don't want to have to deal with IORs at all.  The
> client configuration needs to consist of specifying a hostname and
> possibly
> a port.  From that I want to be able to query for the IOR.  I think that
> most orbs provide this, but as an extension (is this the Binder that you
> mentioned?).  Forgive me, I'm new to all of this.  :)
> 
> So, am I out of luck?  Would LDAP be a good alternative?
> 
> Thanks,
> -Mike
> 
> -----Original Message-----
> From: Duncan Grisby <dgrisby@uk.research.att.com>
> To: Mike Bendickson <bendi003@tc.umn.edu>
> Cc: omniorb-list@uk.research.att.com <omniorb-list@uk.research.att.com>;
> mico-devel@vsb.informatik.uni-frankfurt.de
> <mico-devel@vsb.informatik.uni-frankfurt.de>
> Date: Tuesday, August 31, 1999 9:39 AM
> Subject: Re: [omniORB] Can I use a naming service with different orbs?
> 
> 
> >On Tuesday 31 August, "Mike Bendickson" wrote:
> >
> >> We're using MICO on our Unix platform and omniORB2 on NT.  I read
> somewhere
> >> that the naming services are not compatible with each other.  Is this
> >> correct?
> >
> >As long as MICO's naming service is fully compliant with the Naming
> >service specification, you will be able to use it from omniORB, simply
> >by putting its IOR in omniORB's configuration file. You won't be able
> >to use omniORB's ORBinitialPort and ORBinitialHost configuration.
> >
> >omniORB's Naming service is fully compliant so, again, you should be
> >able to use it from MICO. You can give omniORB's Naming service IOR to
> >a MICO program with the -ORBNamingAddr command line argument.
> >
> >omniORB is not compatible with MICO's Binder mechanism, which is an
> >extension to the CORBA spec.
> >
> >HTH,
> >
> >Duncan.
> >
> >--
> > -- Duncan Grisby  \  Research Engineer  --
> >  -- AT&T Laboratories Cambridge          --
> >   -- http://www.uk.research.att.com/~dpg1 --
> >
> >
>