Created On:  21 April 2011

Problem:

  • Product Name: VisiBroker
  • Product Version: All
  • Product Component: URL
  • Platform/OS Version: All
What are the differences between ā€˜corbaloc’ and ā€˜corbaname’ URL schemes?

Resolution:

corbaloc

The corbaloc URL scheme specifies stringified object references that are more easily manipulated by users than the actual IOR. These object references can be resolved by ā€˜resolve_initial_references()’
Eg. corbaloc::localhost:3075/object_key

 
It is creating an object reference with an object that contains host (ie. localhost), port (ie. 3075) and object key information.
There are a number of things missing in this object reference such as tagged components, and type ids.

The client will send a LocateRequest
using this new object reference. The server sends a reply containing the actual reference which then should be used by the clients.

corbaname

The corbaname URL scheme is described in the Naming Service specification. It extends the capabilities of the corbaloc scheme to allow URLs to denote entries in a Naming Service.
Hence, it would be possible to resolve an object reference from the name service using this scheme.

Eg. corbaname::localhost:50001#path/to/object
The URL says that at ā€˜localhost:50001’ an object of type ā€˜NameSerivce’ can be found and a name ā€˜path/to/object’ is to be resolved relative to the naming context returned by ā€˜resolve_initial_references(ā€œNameServiceā€)’
Everything after '#' symbol in the corbaname reference is simply a string name (ie. "path/to/object").