Bionic Buffalo Tech Note #25: Quick Start Guide to Writing CORBA Server Applications
An adapter is also called a POA (for “Portable Object Adapter”), since it has the interface
In this model, there may be more than one
POA for each ORB, more than one servant for each POA.
The methods are considered part of the servant, and the servant, using the methods, implements the
requests made upon the objects. There may be more than one method for a servant (depending on the
number of operations and attributes to be implemented), and a servant may implement requests on
more than one object.
Together, these components act as follows:
The ORB mediates requests made by clients upon the objects. It selects the correct
POA for the
target object, and passes the request to the POA. The details of the interaction and interfaces
between the ORB and POA are not covered in the specification, but the application programmer
need not be concerned with that, anyway.
The POA accepts requests from the ORB, and passes the request to the appropriate servant.
The servant directs the request to the methods. There is a method for each operation. A method is
basically a subroutine, function, or procedure which implements an operation.
POA is normally provided by the ORB developer. In the beginning (when the ORB initializes),
there is one
POA, the root POA. Every POA, except the root POA, is created from some other POA,
giving rise to a tree of
POAs anchored in the root POA. Each POA has a character string name, so a kind
of “path name” from the root
POA to any given POA is possible. Each POA has one of four states:
active, inactive, holding, or discarding. These states determine how requests are processed.
Page 2 of 12
©2005 Bionic Buffalo