Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: FW: [higgins-dev] general Registry thoughts

Hi Greg,

See my thoughts in-line.

-- 
Thanks,

Valery

Wednesday, January 10, 2007, 6:53:56 PM, you wrote:

> I have not had a moment to read this and respond. 
> What are your thoughts?

> -----Original Message-----
> From: higgins-dev-bounces@xxxxxxxxxxx
> [mailto:higgins-dev-bounces@xxxxxxxxxxx] On Behalf Of Greg Byrd
> Sent: Thursday, January 04, 2007 11:44 AM
> To: Higgins (Trust Framework) Project developer discussions
> Subject: [higgins-dev] general Registry thoughts


> I've been thinking about the design of a Registry that can be used for
> all of the Higgins components.  In the IdAS context, the registry will
> record known ContextFactories and the known Contexts associated with 
> each of them.  The same organization can also be used for I-Card 
> providers and their I-Cards.  (Are there other needs that we know about
> now?)

With regards to other needs I think we'll registry for the stuff what
we call RPPS now.

> I propose the following goals:

> 1. Extensible with regard to the class of objects and sub-objects held
> in the registry.
> 2. Data stored in human-readable format.
> 3. Allows for either centralized or personalized registries (though 
> perhaps not both at the same time).
> 4. Allows for dynamic update of info, via registration API or direct 
> manipulation of stored data.
> (This doesn't necessarily mean that existing, instantiated objects will
> change, but new queries will
> return the updated configuration.)

With regards to goals I also thought of an ability to automatically
discover and load newly added plugins at runtime (like eclipse does
with extension points).

> My first thought is to use a directory structure, as follows:

> Resource type (e.g., "ContextFactory")
> -- Resource object (identified by local ID)
> ---- Configuration info for the resource (e.g., class name, any info 
> needed for constructor, etc.)
> ---- Configured sub-object (e.g., a Context): a file per object

> In other words, a registry will have several directories, one per 
> resource type.  Each resource type will have several directories, one 
> per resource.  Each resource will have a configuration file and several
> object files, one per sub-object.

> The configuration info for the resource must be standard, because the 
> registry needs to know how to instantiate the factory/provider.  A 
> properties file could be used, which would then also allow for 
> customization of the info for a particular provider.  The configuration
> files for sub-objects would be factory-specific.

I do not think it is really necessary that configuration info for resource
must be standard. Configuration info is necessary rather to initialize
then to instantiate factory/provider and thus, registry may know nothing
about configuration file format.

> One concern that I have with the above is that the ID's used to identify
> resources and sub-objects must be converted to legal file names for the
> underlying file system.  This could be awkward for a Context, for 
> instance, since its ID can be a long, hairy URL.  We could hash
> it to a file name, but that violates the desire to have human-readable
> info.  Another approach would be one file with all the contexts in it --
> in this case, the file name could be simple, and the ID for each Context
> within the file could be arbitrarily complex.  This choice could be
> factory-specific, or do we want to mandate a choice to simplify things
> for the user who's browsing the registry directory?

I'd prefer second approach where factory configuration and context
configurations are stored in the same factory-specific file.

> I'm also looking at Jakarta Commons Configuration 
> (http://jakarta.apache.org/commons/configuration/) as a substrate for 
> this.  It allows various types of configuration files (but it doesn't 
> address the file naming issue).  It also allows for things like 
> auto-saving and auto-reloading of files.  It has run-time dependencies
> to other Commons libraries.

Probably it would be a good idea to use Jakarta Commons Configuration
as a substrate but I think not right now. Locking how things are
going with legal approval of other libraries I do not think that we
can afford ourself such luxury for such critical component like
registry.

> Comments?  Suggestions?

> ...Greg

> _______________________________________________
> higgins-dev mailing list
> higgins-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/higgins-dev

_______________________________________________
higgins-dev mailing list
higgins-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/higgins-dev



Back to the top