Bionic Buffalo Tech Note #50: Effects of Portable Object Adapter Policies
Bionic Buffalo Tech Note #50
Effects of Portable Object Adapter Policies
last revised Wednesday 2003.06.18
©2003 Bionic Buffalo Corporation. All Rights Reserved.
Tatanka and TOAD are trademarks of Bionic Buffalo Corporation
Introduction
The
PortableServer
module from in the CORBA specification defines the
POA
(Portable Object
Adapter) interface. When an instance of a
PortableServer::POA
is created, it is associated with
certain policies. These policies affect the behaviour of the
POA
and also of other, related objects. This
Tech Note summarizes the
POA
policies, how they are used, and the implications for request
processing, object identifiers, and other activities and entities.
The information in the Tech Note pertains to CORBA in general and not to any specific CORBA
implementation. It is current with the CORBA 3.0. specification (OMG formal/02-11-01). This
information is explanatory, and does not include details such as the relevant IDL. For such details, the
reader is refered to the specification, especially to the chapter on Portable Object Adapters.
The
POA
Tree, Object Identifiers and Object References
The various
POA
s are arranged in a tree, beginning at the
RootPOA
. Each
POA
has a name, unique
among its siblings, although the children of two different
POA
s might have the same name.
POA
names
are null-terminated strings. This scheme allows each
POA
to be identified uniquely by a path starting at
the
RootPOA
, similar to the way files are named in a traditional file system by a path from the file
system root.
Within a given
POA
, each of the objects belonging to that
POA
is identified by a sequence of octets, the
ObjectId
. The
ObjectId
for an object is unique within that
POA
, so there is a one-to-one
correspondence between
ObjectId
and object within the
POA
.
Taken together, these properties imply that each object belonging to an
ORB
may be uniquely
identified by knowing that object's
POA
(path from the
RootPOA
) and
ObjectId
(octet sequence).
(One way to implement the key of an
IOR
is to encode the path from the
RootPOA
, and the
ObjectId
, into the key.)
Page 1 of 8