background image
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