On Wed, 2004-03-10 at 03:53, J Aaron Farr wrote:
>     1. Why do I use Avalon?

Strangely enough, many of my original goals in using Avalon have been
overtaken by events. I'm not really a big proponent of COP - I think it
doesn't usually achieve its stated goals of reuse and it leads to some
very awkward designs.

That said, I use Avalon because it does standardize a fairly loose
life-cycle model for significant subsystems in my project. This,
together with the multiple-classloader layout, offers some promise for
very interesting serviceability and maintainability possibilities in the
future.

>     2. What do I feel Avalon's mission to be?

To set the conventions for COP in the Java community.

>     3. Where do I see Avalon by the end of 2004?

Solid specs for the framework contracts and a good RI.

>     4. How do I feel about Avalon as an umbrella project vs. a single
>        product?

I think the "umbrella project" approach is a very bad idea. The number
of different containers is already confusing to new adopters. Stephen's
comments about fragmenting the community are well taken, too.

The Avalon project is far too young to become a "parent" project for a
variety of containers. Get something solid built first, work on
solidifying the community - get some of those who are working on minor
container variations to work within the Avalon community, instead of
creating a splinter cell. Get us a nice solid RI that can really show
the benefits of the framework - management, multi-server deployment,
etc. *Then* if there's a clear case for specialized container variants,
start refactoring the RI into a core-and-specializations structure.

>     5. Should there be a formal framework specification?

Absolutely. Without it, Avalon isn't really a framework. It's a product.
The framework spec is really just a precise way of saying what we agree
the various framework classes really mean.

>     6. If so, what should it consist of?

Hard to say. Certainly there should be a clear statement of the
component lifecycle - not from the component's point of view as is
currently done on the site, but from the container's point of view.
There are lots of inter-component issues that are completely ignored by
the current docs, mostly because every place someone has an opportunity
to describe the life cycle, it's from the perspective of the component,
not the container. For example, it came as a big surprise to me that my
components weren't taken through the life-cycle in parallel (assign
everyone a logger, then contextualize them all, and so on).

The point of the framework specification is to give a component writer a
definitive definition of the environment in which the component will
execute. This is the *only* way to let anything but the simplest
components be reusable. Today we don't even know what we should be
passing as the parameter to ServiceManager.lookup() without knowing what
container we're running in.

Beyond the framework spec, I think there should be a single, strong
reference implementation. There's certainly plenty of room for
discussion as to whether the RI should be minimalist or complete.

The minimalist approach would just providing an environment in which a
valid collection of components will run correctly. "Advanced" issues are
left to the container implementations. As the community gains consensus
on the "right" approach, it can be standardized and included in the RI.
This is the approach the JavaBeans folks had with the BeanBox.

The complete approach, on the other hand, tries to expand the RI to
include management, dynamic component loading, provides some very useful
common components, etc. It tries to be a real option when choosing a
container. This is the approach Sun took with Java.

Personally, I'd prefer the latter approach. My projects tend to be
long-running server apps. Having the RI as a legitimate container for
these kinds of apps would be a real boon.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to