You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by cr...@locus.apache.org on 2000/04/14 01:09:18 UTC

cvs commit: jakarta-tomcat/proposals/catalina STATUS.html

craigmcc    00/04/13 16:09:18

  Added:       proposals/catalina STATUS.html
  Log:
  Initial version of the TODO list for Catalina.  Feel free to suggest
  additions, deletions, and modifications.
  
  Andy, this doesn't have any of the specifics that you might want for non
  HTTP support, other than completion of the basic refactoring.
  
  Revision  Changes    Path
  1.1                  jakarta-tomcat/proposals/catalina/STATUS.html
  
  Index: STATUS.html
  ===================================================================
  <html>
  <head>
  <title>Action Items List for Catalina</title>
  </head>
  <body bgcolor="white">
  
  <div align="center"><h1>Action Items List for Catalina</h1></div>
  
  <p>This document is a living list of the action items related to the
  current development of the Catalina architecture for the
  Tomcat servlet container.  Catalina is being designed and built to serve
  as a replacement for the core servlet execution environment currently present
  in Tomcat 3.x, and is targeted to become functional in time for a Tomcat 4.0
  release.  All of the source code for the Catalina architecture is currently
  in a subdirectory named <code>proposals/catalina</code> in the
  <code>jakarta-tomcat</code> subproject.
  
  <p>The columns in this report contain the following information:
  <ul>
  <li><b>Priority</b> - A sense of how important the Tomcat development
      community feels it is to address this issue in the short term.</li>
  <li><b>Action Item</b> - Concise description of the action item
      to be completed.  Where relevant, Java package names of the
      primary classes involved are listed in [square brackets]</li>
  <li><b>Volunteers</b> - Names and EMAIL addresses of those developers who
      have volunteered to assist in the design, implementation, testing, and
      documentation of this action item's changes to Tomcat.</li>
  </ul>
  
  <p>Additions to, subtractions from, and changes to the action items listed
  here should be discussed and approved on the TOMCAT-DEV mailing list, as
  described on the
  <a href="http://jakarta.apache.org/guidelines/decisions.html">Decision
  Making</a> page on the Jakarta Project web site.  Developers can nominate
  themselves to work on particular action items by asking a Committer to add
  their name and EMAIL address to those items.  The developers working on each
  item should discuss and agree upon the approach to be used for implementing
  the item's changes to the project source code and documentation, prior to
  completing those changes.  Such discussions should take place on the
  TOMCAT-DEV mailing list so that everyone can stay apprised of what is going
  on, or chime in if they want to contribute ideas and suggestions.
  
  <p>For convenience, the action items have been organized into general
  categories, which are presented in alphabetical order.  The following
  categories of actions are currently identified:
  <ul>
  <li><a href="#Architecture">Architecture</a> of the overall server
  <li><a href="#Connectors">Connectors</a> to web servers and HTTP clients
  <li><a href="#Core">Core</a> servlet engine functionality
  <li><a href="#Server">Server Administration</a> functionality
  <li><a href="#Servlet">Servlet</a> provided functionality
  <li><a href="#Session">Session Management</a> functionality
  <li><a href="#Utility">Utility</a> component functionality
  <li><a href="#Valve">Valve</a> provided functionality
  </ul>
  
  <br><br>
  <div align="center"><hr width="75%"</div>
  <br>
  
  <a name="Architecture"></a>
  <div align="center"><h1>Architecture</h1></div>
  <table border="1" width="100%">
    <tr>
      <th width="10%">Priority</th>
      <th width="60%">Action Item</th>
      <th width="30%">Volunteers</th>
    </tr>
    <tr>
      <td align="center">High</td>
      <td>Finish factoring the HTTP versus non-HTTP assumptions for the
          Request, Response, and Session interfaces.  [org.apache.tomcat]</td>
      <td><a href="mailto:Craig.McClanahan@eng.sun.com">Craig McClanahan</a></td>
    </tr>
    <tr>
      <td align="center">Medium</td>
      <td>Define extensions (if necessary) to the Catalina architecture to
          support distributed, load-balanced, servlet containers.</td>
      <td><a href="mailto:Craig.McClanahan@eng.sun.com">Craig McClanahan</a></td>
    </tr>
    <tr>
      <td align="center">Medium</td>
      <td>Define and provide default implementations for logging of server
          related events and messages, as opposed to the application-level
          logging provided by <code>Logger</code> implementations.
          [org.apache.tomcat.syslog?]</td>
      <td>---</td>
    </tr>
  </table>
  
  
  <a name="Connectors"></a>
  <div align="center"><h1>Connectors</h1></div>
  <table border="1" width="100%">
    <tr>
      <th width="10%">Priority</th>
      <th width="60%">Action Item</th>
      <th width="30%">Volunteers</th>
    </tr>
    <tr>
      <td align="center">High</td>
      <td>Revise the RequestBase and ResponseBase classes (as well as other
          associated classes) to reflect the HTTP versus non-HTTP refactoring
          of the underlying interfaces.  [org.apache.tomcat.connector]</td>
      <td><a href="mailto:Craig.McClanahan@eng.sun.com">Craig McClanahan</a></td>
    </tr>
    <tr>
      <td align="center">High</td>
      <td>Design and implement reusable components and base classes
          that are commonly required in Connector implementations.
          [org.apache.tomcat.connector]</td>
      <td>---</td>
    </tr>
    <tr>
      <td align="center">High</td>
      <td>Design and implement a high-performance Connector implementation
          that fully supports HTTP/1.1 for use in stand-alone applications.
          [org.apache.tomcat.connector.http</td>
      <td>---</td>
    </tr>
    <tr>
      <td align="center">Medium</td>
      <td>Design and implement an extended version of the HTTP/1.1 connector
          that supports communication over secure sockets using SSL/TLS,
          the <code>https:</code> URL scheme, SSL-based request attributes,
          and SSL-based sessions.  [org.apache.tomcat.connector.ssl]</td>
    </tr>
    <tr>
      <td align="center">Medium</td>
      <td>Design and implement a high-performance Connector implementation
          that supports two-way integration with Apache in both in-process
          (Apache 2.0 only) and out-of-process (Apache 1.3 and Apache 2.0)
          environments. [org.apache.tomcat.connector.apache]</td>
      <td>---</td>
    </tr>
    <tr>
      <td align="center">Medium</td>
      <td>Design and implement a high-performance Connector implementation
          that supports two-way integration with Microsoft Information Server
          (IIS) in both in-process and out-of-process environments.
          [org.apache.tomcat.connector.iis]</td>
      <td>---</td>
    </tr>
    <tr>
      <td align="center">Medium</td>
      <td>Design and implement a high-performance Connector implementation
          that supports two-way integration with Netscape Enterprise Server
          (NES) in both in-process and out-of-process environments.
          [org.apache.tomcat.connector.nes]</td>
      <td>---</td>
    </tr>
  </table>
  
  
  <a name="Core"></a>
  <div align="center"><h1>Core Servlet Engine Functionality</h1></div>
  <table border="1" width="100%">
    <tr>
      <th width="10%">Priority</th>
      <th width="60%">Action Item</th>
      <th width="30%">Volunteers</th>
    </tr>
    <tr>
      <td align="center">High</td>
      <td>In <code>ContainerBase</code>, correctly deal with the Lifecycle
          issues when Valves are added or removed from Containers.
          [org.apache.tomcat.core]</td>
      <td><a href="mailto:Craig.McClanahan@eng.sun.com">Craig McClanahan</a></td>
    </tr>
    <tr>
      <td align="center">High</td>
      <td>In <code>StandardContext</code>, implement mapping of request URIs to
          the corresponding Wrapper containers.  [org.apache.tomcat.core]</td>
      <td><a href="mailto:Craig.McClanahan@eng.sun.com">Craig McClanahan</a></td>
    </tr>
    <tr>
      <td align="center">High</td>
      <td>Finish initial implementation of <code>StandardWrapper</code> and
          <code>StandardWrapperValve</code>, including support for non-HTTP
          servlets.  [org.apache.tomcat.core]</td>
      <td><a href="mailto:Craig.McClanahan@eng.sun.com">Craig McClanahan</a></td>
    </tr>
    <tr>
      <td align="center">Medium</td>
      <td>Design and implement support for request dispatchers that conforms
          to the Servlet API Specification.  [org.apache.tomcat.core]
      <td>---</td>
    </tr>
    <tr>
      <td align="center">Low</td>
      <td>Design and implement a specialized <code>ServletContext</code> class
          for use when <code>ServletContext.getContext("/")</code> is called.
          [org.apache.tomcat.core]</td>
      <td>---</td>
    </tr>
    <tr>
      <td>Low</td>
      <td>Implement the optional <i>web application environment</i> support
          described in Section 9.9 of the Servlet API Specification Version 2.2,
          and Chapter 5 of the Java2 Platform Enterprise Edition Version 1.2
          Specification.</td>
      <td>---</td>
    </tr>
  </table>
  
  
  <a name="Server"></a>
  <div align="center"><h1>Server Administration Functionality</h1></div>
  <table border="1" width="100%">
    <tr>
      <th width="10%">Priority</th>
      <th width="60%">Action Item</th>
      <th width="30%">Volunteers</th>
    </tr>
    <tr>
      <td align="center">High</td>
      <td>Finish design and implementation of startup and shutdown support
          for Catalina, similar to that provided by Tomcat 3.x.
          [org.apache.tomcat.startup]
      <td>---</td>
    </tr>
    <tr>
      <td align="center">Medium</td>
      <td>Design and implement a web application providing server
          management support for a running Catalina installation.
          [org.apache.tomcat.admin]
      <td>---</td>
    </tr>
    <tr>
      <td align="center">Low</td>
      <td>Add out-of-the-box functionality to install Tomcat as a "service"
          under Microsoft NT.  [org.apache.tomcat.startup]</td>
      <td>---</td>
    </tr>
  </table>
  
  
  <a name="Servlet"></a>
  <div align="center"><h1>Servlet Provided Functionality</h1></div>
  <table border="1" width="100%">
    <tr>
      <th width="10%">Priority</th>
      <th width="60%">Action Item</th>
      <th width="30%">Volunteers</th>
    </tr>
    <tr>
      <td align="center">High</td>
      <td>Design and implement a default file-serving servlet for
          Catalina.  [org.apache.tomcat.servlets]</td>
      <td>---</td>
    </tr>
    <tr>
      <td align="center">High</td>
      <td>Design and implement a "servlet invoker" servlet for
          Catalina.  [org.apache.tomcat.servlets]</td>
      <td>---</td>
    </tr>
    <tr>
      <td align="center">Medium</td>
      <td>Design and implement a servlet that supports full WebDAV
          functionality.  [org.apache.tomcat.webdav]</td>
      <td>---</td>
    </tr>
    <tr>
      <td align="center">Low</td>
      <td>Design and implement a servlet that supports interpretation of
          web-server-like "server side include" directives, typically
          found in <code>*.shtml</code> files.  [org.apache.tomcat.servlets]</td>
      <td>---</td>
    </tr>
    <tr>
      <td align="center">Low</td>
      <td>Design and implement a servlet that supports interpretation of
          <code>&lt;servlet&gt;</code> directives, typically
          found in <code>*.jhtml</code> files.  [org.apache.tomcat.servlets]</td>
      <td>---</td>
    </tr>
    <tr>
      <td align="center">Low</td>
      <td>Design and implement a CGI emulation servlet for
          Catalina.  [org.apache.tomcat.servlets]</td>
      <td>---</td>
    </tr>
  </table>
  
  
  <a name="Session"></a>
  <div align="center"><h1>Session Management Functionality</h1></div>
  <table border="1" width="100%">
    <tr>
      <th width="10%">Priority</th>
      <th width="60%">Action Item</th>
      <th width="30%">Volunteers</th>
    </tr>
    <tr>
      <td align="center">High</td>
      <td>Revise the ManagerBase, StandardManager, and StandardSession classes
          to reflect the HTTP versus non-HTTP refactoring of the underlying
          interfaces.  [org.apache.tomcat.session]</td>
      <td><a href="mailto:Craig.McClanahan@eng.sun.com">Craig McClanahan</a></td>
    </tr>
    <tr>
      <td align="center">Medium</td>
      <td>Design and implement a <code>Manager</code> implementation that
          supports swapping of active, but idle, sessions to persistent
          storage via a suitably configured <code>Store</code> implementation.
          [org.apache.tomcat.session]</td>
      <td>---</td>
    </tr>
    <tr>
      <td align="center">Medium</td>
      <td>Finish design and implementation of a filesystem-based
          <code>Store</code> implementation.  [org.apache.tomcat.session]</td>
      <td>---</td>
    </tr>
    <tr>
      <td align="center">Medium</td>
      <td>Design and implement a JDBC-based <code>Store</code> implementation.
          [org.apache.tomcat.session]</td>
      <td>---</td>
    </tr>
  </table>
  
  
  <a name="Utility"></a>
  <div align="center"><h1>Utility Component Functionality</h1></div>
  <table border="1" width="100%">
    <tr>
      <th width="10%">Priority</th>
      <th width="60%">Action Item</th>
      <th width="30%">Volunteers</th>
    </tr>
    <tr>
      <td align="center">High</td>
      <td>Design and implement a standard <code>Loader</code> implementation,
          possibly wrapping AdaptiveClassLoader.  [org.apache.tomcat.loader]</td>
      <td>---</td>
    </tr>
    <tr>
      <td align="center">High</td>
      <td>Design and implement a <code>Realm</code> implementation that uses an
          XML-based database of users, compatible with the Tomcat 3.x version
          that uses the <code>conf/tomcat-users.xml</code> file.
          [org.apache.tomcat.realm]</td>
      <td>---</td>
    </tr>
    <tr>
      <td align="center">Medium</td>
      <td>Design and implement a <code>Realm</code> implementation that accesses
          authentication and role information from a JDBC-accessed database.
          [org.apache.tomcat.realm]</td>
      <td>---</td>
    </tr>
    <tr>
      <td align="center">Medium</td>
      <td>Design and implement a <code>Realm</code> implementation that accesses
          authentication and role information from a JNDI-accessed directory
          server.  [org.apache.tomcat.realm]</td>
      <td>---</td>
    </tr>
    <tr>
      <td align="center">Medium</td>
      <td>Design and implement a <code>Resources</code> implementation that
          interacts with a web server Connector (such as the one for Apache)
          to access web server resources through the connection protocol,
          rather than as disk files.</td>
      <td>---</td>
    </tr>
    <tr>
      <td align="center">Low</td>
      <td>In <code>LoggerBase</code>, add support for optional "decoration"
          of logged messages with XML elements.  [org.apache.tomcat.logger]</td>
      <td>---</td>
    </tr>
  </table>
  
  
  <a name="Valve"></a>
  <div align="center"><h1>Valve Provided Functionality</h1></div>
  <table border="1" width="100%">
    <tr>
      <th width="10%">Priority</th>
      <th width="60%">Action Item</th>
      <th width="30%">Volunteers</th>
    </tr>
    <tr>
      <td align="center">High</td>
      <td>Finish design and implementation of HTTP BASIC authentication.
          [org.apache.tomcat.security]</td>
      <td>---</td>
    </tr>
    <tr>
      <td align="center">High</td>
      <td>Design and implement form-based authentication.
          [org.apache.tomcat.security]</td>
      <td>---</td>
    </tr>
    <tr>
      <td align="center">Medium</td>
      <td>Design and implement support for SSL/TLS based authentication.
          [org.apache.tomcat.security]</td>
      <td>---</td>
    </tr>
    <tr>
      <td align="center">Medium</td>
      <td>Extend the authentication implementations to operate
          at the <code>Engine</code> or <code>Host</code> level of the
          <code>Container</code> hierarchy, not just the <code>Context</code>
          level, to provide "single sign on" support.</td>
      <td>---</td>
    </tr>
    <tr>
      <td align="center">Low</td>
      <td>In <code>AccessLogValve</code>, implement parsing and pattern matching
          for more complete emulation of Apache's custom log generation
          capabilities.</td>
      <td>---</td>
    </tr>
    <tr>
      <td align="center">Low</td>
      <td>Design and implement HTTP DIGEST authentication.
          [org.apache.tomcat.security]</td>
      <td>---</td>
    </tr>
  </table>
  
  
  <br>
  <div align="center"><hr width="75%"><font size="2">
  $Id: STATUS.html,v 1.1 2000/04/13 23:09:18 craigmcc Exp $
  </font></div>
  
  </body>
  </html>