avalon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stephen McConnell <mcconn...@apache.org>
Subject Re: [RT] Simplifying the Meta Suite
Date Tue, 15 Jul 2003 20:20:33 GMT

Berin Loritsch wrote:

> Currently, we have the following jars:
> meta-api     -> The core API for interpreting meta info
> meta-spi     -> Interfaces for reading/writing meta info
> meta-impl    -> Different readers and writers for meta info, and a 
> verifier
> meta-tools   -> ANT additions to generate meta-info, etc.
> meta-plugin  -> Maven plugin to directly work with meta-info
> Overall I don't have a problem with this.  However, I do have a few 
> questions
> as it is now defined:
> 1) What, precisely, is the difference between a Service and a Type?
>    - A Service defines contracts for client/component communication
>    - Programmatically what is the difference? 

A Service is a meta-info object that describes a service.
A Type is a meta-info object that describes a component implementation.
The default notion of a service is a java interface class.  The Service 
meta-info class provides support for the attribution of a version and 
supplimentary attributes to that defintion.

> 2) Why are the readers and serializers for types and services separate
>    and distinct?
>    - Aren't services a function of what is exported by a type? 

Typically - yes.  But this is not always the case.  I have services that 
arte produced by non-components.  I have components that produce 
services indirectly (ie. CORBA POA based servant activators).  The 
seperation of Service and Type ensures that the meta-model does not make 
the assumption that services can only be produced by avalon component 

>    - Are their information recorded separately, hense lending support to
>      the notion that an interface defines a service? 

An interface does define a service. 
A Service suppliments that information.

> 3) Don't we want many readers, but only one official writer? 

No.  We want many readers are a snall number of endoreced writers.

>    - Do we want XML (safe between JRE changes)? 


>    - Do we want Serialization? 


>    - Do we want something else intirely (i.e. bytecode embedding)? 


> 4) How about allowing for extensions to be incorporated into the 
> reader/writers/
>    verifiers? 

Lots of thinking and lots of work to be done before answering that.  
This is the sort of thing that should be experimented with (but not 
included in the core at this time) - but I'm about to dive and and take 
a look at what you have just added.

> 5) What do we have separate readers/writers for services and types?
>    - I believe it would be cleaner to have one for each.

You want seperate writers because a custom service writer does not need 
to know about Type details.  As far as readers are concerned, the Type 
and Service readers could be converged into a single interface.



Stephen J. McConnell

Sent via James running under Merlin as an NT service.

To unsubscribe, e-mail: dev-unsubscribe@avalon.apache.org
For additional commands, e-mail: dev-help@avalon.apache.org

View raw message