-
Key: CORBA25-28
-
Legacy Issue Number: 4297
-
Status: closed
-
Source: Triodia Technologies Pty Ltd ( Michi Henning)
-
Summary:
the current way of dealing with POAManager objects is less than satisfactory.
Consider:interface POA
{ // ... POA create_POA( in string adapter_name, in POAManager a_POAManager, in CORBA::PolicyList policies ) raises(AdapteraAlreadyExists, InvalidPolicy); readonly attribute POAManager the_POAManager; };
The problem here is twofold:
- There is no way to get at the list of all existing POA managers,
at least not easily; I have to either keep a list myself,
or I have to traverse the POA tree and build the list as I go.
- POA managers have no identity. There is no name or other piece
of state that would allow me to distinguish one POA manager from
another.
The second problem is the more serious one because POA managers are used
to control the behavior of one or more transport endpoints. Most ORBs
permit configuration control over transports. For example, it is usually
possible to configure things such as which protocols/transports should
be associated with a POA manager, how many protocols/transports should
be associated, at what address/port the transport controlled by a
POA manager should listen for requests, what timeouts to apply, etc, etc...Currently, ORBs have to resort to proprietary means to attach such
configuration information. For example, in ORBacus, we use a proprietary
POA manager factory that permits a name to be attached to a POA manager.
That name then is used as a hook to attach configuration information
to POA managers, so we can do things like configure port numbers, etc.I'd like to improve the spec such that it becomes possible to control
identity for POA managers through a standard API. The thoughts are:- Add a POAManagerFactory interface that allows
- creation of POA managers
- listing of existing POA managers
- searching for POA managers by name
- Add an id() accessor to POAManager that returns the name
For creation of POA managers, a CORBA::PolicyList can be passed into
the call in addition to the POA manager name. That policy list would permit
configuration of POA managers through a defined API (even though the
actual policies that apply would still be proprietary).These changes would be completely backward-compatible, so no existing
code breaks. - There is no way to get at the list of all existing POA managers,
-
Reported: CORBA 2.4.2 — Wed, 9 May 2001 04:00 GMT
-
Disposition: Resolved — CORBA 2.5
-
Disposition Summary:
see below
-
Updated: Fri, 6 Mar 2015 20:58 GMT