Previous | Table of Contents | Next |
Server-side Policy management is handled by associating Policy objects with a POA. Since all policy objects are derived from
interface Policy, those that are applicable to server-side behavior can be passed as arguments to POA::create_POA. Any such
Policies that affect the behavior of requests (and therefore must be accessible to the ORB at the client side) are exported
within the Object references that the POA creates. It is clearly noted in a POA Policy definition when that Policy is of interest
to the Client. For those policies that can be exported within an Object reference, the absence of a value for that policy
type implies that the target supports any legal value of that PolicyType.
Most Policies are appropriate only for management at either the Server or Client, but not both. For those Policies that can
be established at the time of Object reference creation (through POA Policies) and overridden by the client (through overrides
set at the ORB, thread, or Object reference scopes), reconciliation is done on a per-Policy basis. Such Policies are clearly
noted in their definitions and describe the mechanism of reconciliation between the Policies that are set by the POA and overridden
in the client. Furthermore, obtaining the effective Policy of some PolicyTypes requires evaluating the effective Policy of
other types of Policies. Such hierarchical Policy definitions are also noted clearly when used.
At the Thread and ORB scopes, the common operations for querying the current set of policies and for overriding these settings
are encapsulated in the PolicyManager interface.