...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]
