avalon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Leo Simons <leosim...@apache.org>
Subject Re: [RT] Distilling the requirements for Block Support
Date Fri, 18 Apr 2003 19:38:45 GMT
Berin Loritsch wrote:
> I want to come up with a base set of requirements to support "blocks".
> A Block is defined as a functional peice of an application that is
> comprised of one or more components.

we should avoid overloading of terms "cocoon block (.cob)", "phoenix 
block (.bar)", "phoenix application (.sar)", those are clear. We are now 
looking at the common intersection between these, no?

How about we use "avalon assembly" for purpose of talking? This because 
of the huge similarity between .net assemblies and what we want to do :D

alternative term would be "bundle".


> There are two things that an Avalon Block must do:  expose the
> interfaces of services that it provides (or refer to them in
> another block), and define the rules for integration.

when you leave programming space, what is an "interface"? Some examples 
of resources we want to manage are

- program components
- website and/or application "skins"
- i18n/i10n resources
- data (relational, filesystem, object-based)

what interface does a "skin" have?

> I was thinking that if the Block archive has the interfaces
> in a separate "interfaces" JAR, they can be exposed to the
> kernel or other components more easily.  Also if each Block
> has a "BlockKernel" or embedded container, it can establish
> the rules for accessing the components inside that block.
> This includes the notion of block dependencies and block
> services--which is an extension of the concepts we already
> have for components.  The only thing left would be "Block
> Inheritance" if we feel that is a real need.
> What are your thoughts?

throw out the assumptions and type more -- I have the hunch that I'm not 
able to follow your thoughts completely. Are we to have some kind of 
assembly facade which aggregrates resources in some way?

package org.apache.avalon.spearhead.assembly;

interface Assembly
    InputStream getResource( String urn );
    File getFile( String uri );
    Object getComponent( String uri );
    Configuration getConfigurationFile( String urn );
    DataSource getData( String urn );


- Leo

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

View raw message