[omniORB] Interoperable Naming Service Available

Duncan Grisby dgrisby@uk.research.att.com
Thu, 27 Apr 2000 13:09:38 +0100


I have just checked in support for the Interoperable Naming Service
under omniORB 3. You can get it from the CVS server, and it will
appear in tomorrow's FTP snapshot. (Don't be alarmed when the snapshot
is smaller than today's one -- I have also removed the old omniidl2
sources, which were no longer needed.)

omniORB 3 now provides all of the required INS functions specified in

  http://www.omg.org/cgi-bin/doc?ptc/99-12-03

The following is a summary of the important changes.


Building difficulties
=====================

If you update an existing CVS checkout of the omni3_develop branch,
you will find that you get build errors, because some of the changes
aren't spotted by the makefiles. To prevent the errors, you should:

  1. Delete all of the .d dependency files. On Unix you can use a
     command like

       find . -name "*.d" -print | xargs rm

  2. Delete src/lib/omniORB2/Naming*

The changes are significant enough that pretty much everything gets
rebuilt anyway, so an alternative is to delete everything and start
with a fresh checkout.

Other than this, if you don't use any of the new features, you
shouldn't notice anything different.


ORB Core changes
================

1. The ORB::string_to_object() function now accepts corbaloc: and
   corbaname: format strings, as well as IOR: strings.

2. The standard -ORBInitRef and -ORBDefaultInitRef command line
   arguments are supported.

3. The omniORB configuration file (or NT registry) now also has keys
   named ORBInitRef and ORBDefaultInitRef, so before where you had a
   file containing something like

     NAMESERVICE IOR:...

   you can instead have

     ORBInitRef NameService=IOR:...

   This means you can configure resolve_initial_references() to know
   about any name you like.

   All of the old configuration file keys are still supported.


omniNames changes
=================

1. omniNames now supports the extended CosNaming::NamingContextExt
   interface.

2. omniNames is able to read and use the log file from either the
   older omniORB 3 omniNames, or the omniORB 2.8 omniNames. In this
   case, any stored NamingContext references will remain valid.
   (Before now, omniORB 3's omniNames could not read omniORB 2.8's log
   files.)

3. When you start omniNames for the first time with the -start option,
   you no longer have to specify a port number. If you do not specify
   one, the standard port of 2089 is used. You can still specify a
   different port if you wish.

3. If you are not using a log file from an earlier omniNames, the root
   NamingContext now has the object key "NameService", which makes
   corbaname: URIs more pleasant.

   In particular, if you start omniNames on a machine named
   wobble.example.com with the command

     omniNames -start

   then you can refer to it in omniORB.cfg like:

     ORBInitRef NameService=corbaname::wobble.example.com

   (or the old-style

     NAMESERVICE corbaname::wobble.example.com
   )


nameclt changes
===============

1. nameclt's mapping of CosNaming::Names to strings pre-dated the INS
   specification, and differed in a few minor respects. nameclt now
   uses the standard stringified Name format. You will probably only
   notice this if you have NameComponents with empty strings in both
   the id and kind fields.


Enjoy!  Report bugs...

Cheers,

Duncan.

-- 
 -- Duncan Grisby  \  Research Engineer  --
  -- AT&T Laboratories Cambridge          --
   -- http://www.uk.research.att.com/~dpg1 --