avalon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Peter Donald <dona...@apache.org>
Subject Re: General Concept Questions
Date Tue, 29 May 2001 04:21:39 GMT
At 06:51 PM 5/28/01 -0400, Sky Torch wrote:
>i've been through avalon website and mail archive. still have the following 
>questions. can someone shed some lights?

Just FYI hopefully some of these questions will have a paper to describe them 

>1. what's diffrence btw Component, Block and Service? my understanding is 
>Block is "large scale" component and can impl Service. But can someone point 
>out in a real application, how these concepts are being used?

Well currently our definition of "Service" is a versioned interface. Blocks
can implement services. Probably the best way to see the difference between
Component and Block is to look at outside projects (Cocoon and Ant being
fresh in my mind). 

Cocoon2 could be seen effectively as a XMLProcessingEngine "Block" (though
it it is in fact not a block). It has many sub-Components for XML
Processing, Serializing, Generating etc. 

Ant2 could be seen as a ProjectEngine (or perhaps a TaskEngine). It has
many sub-Components like TaskRegistry, TskDeployer etc.

>2. what's relation btw a role and component, service, etc? it seems to me 
>that a role is for "separation of concern". does it mean it's associated 
>with any component?

A Role is a combination of two things;
* A versioned interface (aka a Service)
* An intended use of interface

For instance you could have the interface/service
org.apache.james.services.MailRepository. However you may have the roles

1. org.apache.james.services.MailRepository/Spool
2. org.apache.james.services.MailRepository/Persistent

(1) and (2) have the same Service but the user of service intends to use
them for different purposes.

All roles must be implemented by Components (or else they could not be
shared by ComponentManagers).

>3. what's handler used for? my impression is it's only for handle protocols 
>for server impl. is it right?

Theres no formal definition of that yet but that describes how we use it at
the moment.

>4. does Avalon handle distributed servers, i.e. distributed servers can use 
>Avalon frameword to get shared services? if so, how does it work ?

Avalon/Phoenix doesn't really do anything of that kind at this stage. It
may in the future but it is probably of lower level than that. You
implement distribution just like you would in any other app for now ;)

>5. how is JMX fit into Avalon - is avalon going to JMX compliant or is it 
>going to built on JMX ?

Both ;) The management/notification functionality will all be built via JMX
(thus JMX compliant) but it will also build it's own agent aswell (Which
has already been started). 



| "Faced with the choice between changing one's mind, |
| and proving that there is no need to do so - almost |
| everyone gets busy on the proof."                   |
|              - John Kenneth Galbraith               |

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

View raw message