Bionic Buffalo Tech Note #100: Identifying CORBA Objects
Bionic Buffalo Tech Note #100
Identifying CORBA Objects
last revised Tuesday 2003.04.01
©2003 Bionic Buffalo Corporation. All Rights Reserved.
Tatanka and TOAD are trademarks of Bionic Buffalo Corporation
This paper discusses the various means available to applications for identification of,
and reference to, CORBA objects. These include the use of object references, IORs,
URLs, and keys.
Object Reference Creation and Destruction
The CORBA model is not very specific about the creation and destruction of objects.
There is a Life Cycle Service specification, which describes some interfaces which
might be inherited by some classes, and which might be used by clients to cause the
creation and destruction of objects. However, the Life Cycle Service interfaces are
only conventions and their implementation is not required in all CORBA
Instead of examining the abstract model, we will instead discuss the practical aspects
of client-object interaction.
The object request broker (ORB) is the starting point for all client interaction with
objects. In its communication with an ORB, an application uses object references. An
object reference is a handle used to refer to an object. It is akin to a file or stream
handle provided by an operating system when a file or stream is opened. All object
references are created by ORBs. An object reference is, in general, not portable, and is
not guaranteed to be meaningful to any ORB other than to the one which created it.
An application may talk to several ORBs at once or consecutively, but (with some
exceptions to be discussed below) must keep separate the object references created by
one ORB from the object references created by any other ORB.
Although ORBs create object references, they do not create objects. Objects are
implemented by servants, which are programs that communicate with ORBs, and
which give ORBs access to objects. However, an object is a logical concept, and an
object may exist prior to the creation of a servant, and may survive the destruction of
a servant. For example, a file may be an object, or a database may be an object while
Page 1 of 7