...aren't well-defined at all. Methinks.

Here is how it could be:

/---------------------\
| Client Application  | runs within Velocity/Turbine/Tomcat/JVM, uses all
|---------------------|
| Velocity            | runs within Tomcat, uses Turbine/Tomcat/toolkits
|---------------------|
| Turbine             | runs within Tomcat, uses Tomcat/Avalon/toolkits
|---------------------|
| Tomcat              | runs within Avalon Phoenix, uses Avalon
Phoenix/toolkits
|---------------------|
| Avalon Phoenix      | runs on top of rest of Avalon, uses toolkits
|---------------------|
| Avalon Framework /  |
|    Excalibur /      |
|    Cornerstone /    |
|    LogKit           | uses toolkits
|---------------------|
| Toolkits:           |
|    Jakarta-utils /  |
|    Log4J /          |
|    Jakarta Commons /|
|    Jakarta ORO /    |
|    Jakarta JMX /    |
|    XML Xalan        |
\---------------------/

Avalon is the lowest-level Java project
at Jakarta. It provides things other
server apps need, like pooling, connections,
logging, etc.

Tomcat is a low level server application
that serves as a bridging facilitator
between Java and internet technologies
such as HTTP, WML, XML, etc. It does so
using 2 java standards: servlets (yay!)
and JSP (messy).

Turbine is a framework to make it easier
to bridge enterprise applications and
internet technologies. It runs within
Tomcat as a servlet, where tomcat creates
half of that bridge (the HTTP/XML side).

Velocity is a templating engine that can
run withing Turbine.

The Client application uses all these
different toolkits, frameworks and engines
to create his internet portal, enterprise
application, etc.


---------------------------------------------
Part of this is already true. But there is a
large duplication of code and effort across
the various projects.

There are three server frameworks (Avalon,
Tomcat, Turbine), they have three pooling
systems, two application expansion systems
(catalina and camelot).
They all provide services. Avalon does
deployment, so does tomcat. Turbine, Avalon
and tomcat all do logging using one of the
two toolkits.

Just by looking at class names and pattern
descriptions, this is obvious.

More concrete: doing a search across apache
sources for "Service.java" gives 6 results.
---------------------------------------------

I've stated a lot of the obvious here, left
things (hey, where's cocoon? or james? or
Xalan?) out of the picture. If you forget that,
you'll probably agree. Right?

Now the question is: do we wish to remove
all that duplication of efforts, create a
logical "separation of concerns" between
projects?

Probably: yes.

I was just wondering how we're going to do
that.

- Leo


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

Reply via email to