+1

Remy Maucherat wrote:
> After trying to address the concerns raised by the proposal draft, I 
> would like to call for a vote on it, now that the discussions have died 
> down.
> 
> <ballot>
> [ ] +1 I support the proposal, and will help implement it
> [ ] +0 I support the proposal
> [ ] -0 I do not support the proposal
> [ ] -1 I am against the proposal being implemented, because:
> 
> 
> </ballot>
> 
> The vote will run for one full week until July 9th. Users and other 
> contributors may vote, but only committers have binding votes.
> 
> Remy
> 
> 
> ------------------------------------------------------------------------
> 
> 
> 
>                     Proposal for Apache Tomcat 5.0
>                     ==============================
> 
> 
> 
> Introduction:
> ------------
> 
> This document is a proposal for the next major release of Apache Tomcat, 
> Apache Tomcat 5.0.
> 
> Apache Tomcat 5.0 will improve on the Apache Tomcat 3.3 and Apache
> Tomcat 4.1 architectures, by making them simpler, more flexible and more 
> modular, while at the same time adding support for the new Servlet API 2.4 and
> JSP 2.0 specifications, currently under development by the Java Community 
> Process.
> 
> The major goals for Apache Tomcat 5.0 are to:
> - improve scalability, reliability and performance over previous versions
> - have simpler/cleaner code, so more people can get involved
> - merge of the various ideas in 3.x and 4.x
> - get the community togheter
> - provide maximum modularity and compliance to the standards
> - make it easy to continue to maintain the existing codebases
> 
> Testing will occur to make sure the stated robustness and performance goals
> are met by Tomcat 5.0.
> 
> This proposal also tries to take advantage of the lessons learned while 
> optimizing and maintaining Tomcat.
> 
> Note: The development of Apache Tomcat 4.1.x will continue in parallel to the 
> implementation of this proposal.
> 
> 
> 
> General architecture:
> --------------------
> 
> 
> An improved version of Coyote 1.0, called Coyote 2.0, will be used as 
> the Apache Tomcat 5.0 core.
> 
> Coyote is currently considered a connector for Tomcat 3.3 and 4.x, and is under
> development in the jakarta-tomcat-connectors repository.
> 
> Coyote 1.0 includes:
> - Protocol handlers for AJP 1.3, HTTP/1.1 and JNI
> - Adapter for Tomcat 3.3
> - Adapter for Tomcat 4.x
> 
> Extensibility capabilities will be added to Coyote, as well as JMX management
> features, and if possible, addional protocol handlers (like WARP 1.0).
> 
> The Servlet API 2.4 specification will be implemented in a new version of 
> Catalina, called Catalina 2.0. A new version of the Coyote adapter will be
> written for it if mandated by API changes. Components which duplicate 
> functionality provided by Coyote will be removed, including the old connectors.
> 
> On the JSP side, Jasper 2 will be updated to support JSP 2.0, will be renamed 
> to Jasper 3, and is the proposed Jasper codebase. It provides many 
> improvements over Jasper 1 included in Tomcat 3.x and Tomcat 4.0.x, including 
> good tag library handling, and near zero overhead when compared to 
> an equivalent hand coded servlet. Jasper 2 will also undergo additional 
> optimizations.
> 
> Apache Tomcat 5.0 will be made by default of the following components:
> - Coyote 2.0 - core
> - Catalina 2.0 - Servlet API 2.4 implementation
> - Jasper 2 - JSP 2.0 implementation
> 
> Many other configurations are also possible, and it is expected that advanced
> users take advantage of it to make Tomcat better suit their needs. It is also
> possible that new special purpose components, like a bare bones Servlet API 
> implementation, be developed to address the embedded market.
> 
> Due to the scope of this work, this initial Proposal only plans 
> the implementation and support of the default configuration described above.
> 
> 
> 
> Changes over Apache Tomcat 4.1.x:
> --------------------------------
> 
> 
> A lot of the Apache Tomcat 5.0 code will be based on the Apache Tomcat 4.1.x 
> codebase. Tomcat 5.0 will also be able to use the Tomcat 3.3.x code.
> 
> The following major changes and additions are proposed to the current Apche
> Tomcat code, and related dependencies:
> 
> A) Removal of the org.apache.catalina.connector.*
> 
> This package is currently deprecated in Tomcat 4.1 because of 
> its implementation inefficiencies, and general bad design. It is thus proposed
> that it is removed in Tomcat 5.0.
> 
> B) Addition of new loader code for the commons-daemon subproject
> 
> It is proposed that, in an attempt to solve the problems with using startup 
> scripts, as well as adding additional features oriented towards reliability
> (including the capability to restart Tomcat automatically should the JVM
> crashes or experience memory management related problems), the launcher code
> which will be developed as part of commons-daemon be adopted.
> This code will be based in part on the launcher code used for the Sun Web
> Services Pack, and in part on the Wrapper project code (available at SF.net),
> if we manage to come to an agreement with the Wrapper developers.
> 
> C) Extensions to Coyote
> 
> It is proposed that Coyote 2.0 include the following changes over Coyote 1.0:
> - The current hook mechanism used in Coyote 1.0 will be extended to be 
> more generic and powerful.
> - It is also envisioned that JMX management capabilities could be added 
> to Coyote.
> - Deprecated interfaces will be removed (two interfaces, at the moment).
> - An additional protocol handler for the WARP 1.0 protocol will be added 
> provided there is user interest and developers willing to dedicate time.
> 
> D) Implementation of the Servlet 2.4 Specification
> 
> Catalina 2.0 is proposed to be identical to Catalina 1.1 (included 
> in Tomcat 4.1.x), with the exception of adding support for the new Servlet
> Specification. The changes introduced in this new revision are relatively
> limited, and shouldn't cause any major architectural changes in Catalina.
> Catalina 2.0 will also inherit from all the refactorings done in Catalina 1.1.
> 
> Servlet 2.4 Specification Draft:
> http://jcp.org/aboutJava/communityprocess/review/jsr154/index.html
> 
> E) Implementation of the JSP 2.0 Specification
> 
> Jasper 2 will be modified to support the new JSP Specification. More important
> changes will be required than for supporting the new Servlet Specification.
> 
> JSP 2.0 Specification Draft:
> http://jcp.org/aboutJava/communityprocess/review/jsr152/index.html 
> 
> Resources needed:
> ----------------
> 
> * New jakarta-servletapi-5 repository
> 
> This new repository will hold the default implementation of the Servlet 
> API 2.4 and the JSP 2.0 specifications. Alternately, the new API can be put
> in the 'jakarta-servletapi' repository after a branch is created to hold the
> current version of the code.
> 
> * New jakarta-tomcat-5.0 repository
> 
> This repository will contain the version of Catalina which will be updated to
> support the Servlet API 2.4. Alternately, this code can be put in the 
> 'jakarta-tomcat-4.0' or 'jakarta-tomcat' repository after a branch is created
> to hold the old code present.
> 
> * New branch in jakarta-tomcat-jasper
> 
> The implementation of JSP 2.0 will occur in the HEAD branch of the 
> jakarta-tomcat-jasper repository. A branch will be created to contain 
> the Jasper 2 code which is used in Tomcat 4.1.x.
> 
> 
> 
> Release managers (proposed):
> ---------------------------
> 
> It is proposed that the release management duties be split for this release, 
> due to the amount of modules which will be part of Tomcat 5.0.
> 
> Larry Isaacs
> Remy Maucherat
> 
> 
> 
> ------------------------------------------------------------------------
> 
> --
> To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>




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

Reply via email to