You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by mc...@apache.org on 2002/02/04 11:18:46 UTC
cvs commit: jakarta-avalon-cornerstone/apps/enterprise/orb/src/etc PROPOSAL.TXT
mcconnell 02/02/04 02:18:45
Modified: apps/enterprise/orb/src/etc PROPOSAL.TXT
Log:
simplification
Revision Changes Path
1.2 +53 -56 jakarta-avalon-cornerstone/apps/enterprise/orb/src/etc/PROPOSAL.TXT
Index: PROPOSAL.TXT
===================================================================
RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/enterprise/orb/src/etc/PROPOSAL.TXT,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- PROPOSAL.TXT 2 Feb 2002 18:40:21 -0000 1.1
+++ PROPOSAL.TXT 4 Feb 2002 10:18:45 -0000 1.2
@@ -1,56 +1,56 @@
-ORB Component Manager Proposal
-==============================
+ORB Component Manager Proposal (1.1)
+====================================
-The current ORBServer/ORBService implementation under the CVS
-is problamatic in that the reference to an ORB by a managed
-component can only be referenced by its role. It is not possible
-to access a ORB that fulfils a specific swervice project unless
-the defintion of the ORB is controlled in the ORB configuration
-block. This leads to multiple block defintions and restrinctions
-concerning the scope of declarations associated to individual ORB
-instances.
-
-An alternative ORB management framework is proposed below. The
-object model is based on a ORBFactory service, exposed by an
-ORBService. The factory service takes confitguration and context
-information of the priocipal argume t to the creation of a new ORB
-instance. An implementation of ORBFactory would leverage extensions
-to the static ORB init method, allow the passing of native
-configuration and context information to the ORB singleton
-implementation. The result ORB instance is then in a position to
-handle configutration anf contextualization of interceptors based
-on the innitalization atrguments.
+The current ORBServer/ORBService implementation under the CVS is problamatic
+in that the reference to an ORB by a managed component can only be referenced
+by its role. It is not possible to access a ORB that fulfils a specific
+service profile unless the defintion of the ORB is controlled in the ORB
+configuration block. This leads to multiple block defintions and restrinctions
+concerning the scope of declarations associated to individual ORB instances.
+
+An alternative ORB management framework is proposed below. The object model
+is based on a ORB FactoryService. The factory service is configured and
+contextualized to establish general defaults prior to handling request for
+instantialion of new ORB instances. The ORB factory service would leverage a
+specilization of java.util.Properties that implements the
+org.apache.avalon.context.Context interface (see org.apache.orb.Properties
+as an example implementation approach).
+
+This approach (a) enables the introduction of hierachical property set,
+(b) automatic creation of default properties in the context object
+based on the factory configuration, and (c) uses existing ORB interfaces for
+initalization. The ORB implementation can test the supplied properties
+instance to see if it implements the Context interface. If so, the ORB
+implementation can extract object via keys (such as subsystem configuration
+profiles, logging channels for interceptors, etc).
+Approach:
- 1. An application block would be configured as dependent a
- block exposing the an ORBService interface.
+ 1. An application block would be configured as block dependent on
+ an ORB FactoryService.
- 2. The ORBService interface would provide an ORBFactory
- service.
+ 2. On contextualization the application retrieved the FactoryService.
3. The ORBFactory interface would look something like the
following:
- public interface ORBFactory extends Component
+ public interface FactoryService extends Component
{
/**
- * Creation of a new ORB instance based on a
- * supplied configuration and runtime context.
- *
- * @param config a <code>Configuration</code> instance
- * describing a static ORB profile.
- * @param context the runtime <code>Context</code>.
- * @return ORB an object request broker
+ * Returns a ORB based on the supplied context.
+ * @return ORB a portable CORBA Object Request Broker (ORB)
*/
- ORB createORB( Configuration config, Context context );
+ public ORB createORB( java.util.Properties properties );
}
- 4. The implementation of createORB is basically a wrapper on
- the variant of the static ORB.init method that would take
- a configuration and context argument directly.
+ 4. The implementation of createORB hanles the invocation against
+ the static ORB.init method, sumplimenting the supplied properties
+ argument with the FactoryService context and configuration
+ information.
+
------------------------------------------------|
| Phoenix or embedded-bootstap-kernel |
@@ -62,26 +62,21 @@
| handles component lifecycle
| processing (setting log channel, configuring
| contextualizing, initializing, etc)
- V
- ---------------
- | ORBService |
- ---------------
|
- | Is a component manager that provides an
- | ORB factory service to the components it manages
|
- | The ORBFactory implmenetation
- | leverages a variant of the static ORB.init
- | operation that handles configuration and
- | context information directly.
+ | The FactoryService implmenetation creates
+ | a new org.apache.orb.Properties argument
+ | that includes supplimentary information that
+ | can be leveraged by the ORB during sub-system
+ | initalization.
V
- --------------- --------------------------------------
- | ORBFactory |<--->| static ORB,init( Config, Context ) |
- --------------- --------------------------------------
+ ------------------- ------------------------------------
+ | FactoryService |<--->| static ORB,init( args, props ) |
+ ------------------- ------------------------------------
| |
| provides | enables logging, configures and contextualizes
- | ORB instance | the internal components it needs tyo build the
- | | ORB instance
+ | ORB instance | the internal components based on data extracted
+ | | from the props instance (via Context interface)
V * |
--------------- | * -----------------
| ORB | |------->| Interceptor |
@@ -101,8 +96,10 @@
request
4. Is totaly in synchronization with (future) internal ORB
logging nad configuraition approach
-5. Non-OMG operations leverage Apache Avalon fromaework
- interface.
-6. In principal the manager could work with other vendor
- ORBs (not an immediate priority).
+Doc History:
+------------
+
+04-FEB-02 - Simplifed the model by introduction of a speciliaztion
+of java.util.Properties that implements the Context interface for
+the purpose of supply extended ORB initalization arguments.
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>