This sounds lot like what's in the standard java.beans.beancontext package.
It basically provides an environment where you assemble beans (practically,
arbitrary objects); some provide services, some consume services, some do
both. The bean context effectively acts as a randezvous place; you throw the
beans in a context, and they dinamically look for other beans that implement
a specific service they need in their context.

As an additional benefit, contexts are isolated from each other which can be
a great advantage over the "classic" Java way of creating services: through
a static method of a utility class. Furthermore, contexts can be nested (I
guess that's similar to Avalon's "hierarchical ComponentManagers".

I'm using this in a server environment, and it works charmingly. Oh, and
it's a standard part of the JDK since 1.2.

Attila.


----- Original Message -----
From: "Paulo Gaspar" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: 2001. augusztus 20. 2:47
Subject: RE: Velocity Architecture


> Do you know Avalon?
> (It is a bit abstract when you start but then, it gets interesting.)
>
> To make it simple:
>  - a ComponentManager is a Map where you can hold objects
>   (Components/Resources) by role/name;
>  - a Context is a hierarchical Map in the sense that it has a parent
>    Context and that it searches in the parent objects that it does
>    not find on itself.
>
> These ideas can mix and you can have an hierarchical ComponentManager.
>
> Examples or roles for Velocity objects that could be managed by such
> ComponentManager:
>   - Logger;
>   - TemplateLoader;
>   - TemplateCache;
>   - Introspector / IntrospectionCache;
>   - IteratorIntrospector;
>   - EventCatridge.
>
> Please interpret the above names by what their name suggest and not
> exactly by what existing Velocity classes with the same name do now.
> (And it is intentional that many names do not match the current
> ones.)
>
>
> Some advantages of placing so many Velocity components in such
> structure:
>  - Having clean interfaces would be enforced;
>  - There would be ONE well defined way of changing any such aspect
>    of Velocity.
>
> But, for me, one of the most interesting features would be the
> ability to have a generic Velocity behavior and easily change the
> behavior of one aspect only for a part of the application, trough
> the use of the above mentioned "hierarchical ComponentManagers":
>  - You could easily have an Engine for general use and another one
>    with just one aspect (let's say the TemplateLoader) changed to
>    be used in only one part of the application.
>
>
> Am I dreaming too much here?
>
> Have fun,
> Paulo
>
>
> > -----Original Message-----
> > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On
> > Behalf Of Geir Magnusson Jr.
> > Sent: Monday, August 20, 2001 2:10 AM
> >
> >
> > Paulo Gaspar wrote:
> > >
> > > I have been playing around in my framework with Avalon's
> > > ideas on resource management and contexts.
> > >
> > > Does anyone here know Avalon's ComponentManager and
> > > Context ideas together with the "role" concept?
> > >
> > > Velocity could be made much smaller, simple and flexible
> > > using those concepts. If you grok them, I am sure you
> > > will understand what I mean.
> >
> > How so?
> >
> > --
> > Geir Magnusson Jr.                           [EMAIL PROTECTED]
> > System and Software Consulting
> > Developing for the web?  See http://jakarta.apache.org/velocity/
> > Well done is better than well said - New England Proverb
> >
>

Reply via email to