MICO: An Open Source CORBA Implementation

4.4: POA

4.4 POA

The BOA provides a bare minimum of functionality to server applications.As a consequence, many ORBs add custom extensionsto the BOA to support more complex demands upon an objectadapter, making server implementations incompatible among differentORB vendors. CORBA 2.2 added the new Portable ObjectAdapter (POA). It provides a vastly extended interface that addressesmany of the unmet needs in the original BOA specification.POA features

  • support transparent activation of objects. Servers can exportobject references for not-yet-active servants that will beincarnated on demand.
  • allow a single servant to support many object identities.
  • allow many POAs in a single server, each governed by its ownset of policies.
  • either delegate requests for nonexistent servants to a defaultservant or ask a servant manager for an appropriate servant.

These features make the POA much more powerful than theBOA and should fulfill most server applications' needs. As an example,object references for some one million entries in a databasecan be generated, which are all implemented by a single defaultservant.

4.4.1 Architecture

The general idea is to have each server contain a hierarchy of POAs.Only the root POA is created by default; a reference to the rootPOA is obtained using the resolve_initial_references() operationon the ORB. New POAs can be created as children of anexisting POA, each with their own set of policies.

Each POA maintains an active object map, which maps allobjects that have been activated in the POA to a servant. Foreach incoming request, the POA looks up the object reference inthe active object map...

UNLIMITED FREE
ACCESS
TO THE WORLD'S BEST IDEAS

SUBMIT
Already a GlobalSpec user? Log in.

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.

Customize Your GlobalSpec Experience

Category: Power Operational Amplifiers
Finish!
Privacy Policy

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.