Apache JServ Future Roadmap

Servlet API 2.1 Specifications

Since the Java Apache Group actively participated in the development and definition of the Servlet API 2.1 Specifications, many changes were made to avoid platform fragmentation and allowing better servlet portability between different servlet environments. In this direction goes the deprecation of ServletRequest.getRealPath() which currently does not behave correctly and the introduction of ServletContext.getResource() to avoid the use of getRealPath() on remote systems. The implementation of AJPv2.1 is a necessary condition since RequestDispatcher relies extensively on web server callbacks.
Apache JServ Protocol Version 2.1 (AJPv21)

This protocol will allow web server callbacks and socket recycling. This will have a great impact on both performance (sockets are created and authenticated once and then reused over multiple requests) and flexibility allowing the implementation of new dispatch facilities such as RequestDispatcher. Even if current draft is considered valid for implementation, development may lead to new changes and versions of this protocol that will be stabilized only when implementation is finished.
Recycle Technology

Even if garbage collection is often a great help, many Java objects may be recycled instead of being thrown away. Performance improvements result if the time spent on creating/destroying the object is greater than the time spent to recycle/reuse it. This idea has been implemented successfully with Threads and Sockets and will be merged with Apache JServ in the future.
Security Enhancements

Currently, the authentication algorithm used by Apache JServ does not prevent "server faking" because trusts the servlet engine side. Future versions of this authentication scheme will prevent this. Another big issue is servlet sandboxing that will allow servlet zones to act as private secured servlet environments without requiring multiple JVM to run with different UID/GID. In the future, will also be possible to specify the UID/GID directly in the configuration files.
NSAPI Module

An NSAPI compatible module will be developed to allow wider usage of Apache JServ.
Enhanced Mapping

Web server modules will allow complete mapping solutions without the need for external modules or tools (such as mod_rewrite).
Load Balancing and Scalability

To allow very loaded sites to use servlets, a very high degree of scalability is required. Apache JServ will be able to manage load balancing together with session management and fault tolerance without the need for dedicated hardware or software.
Enhanced Logging

A new log engine with pluggable JavaBeans loggers (to file, to syslog, to mail, to database, etc...) will allow more flexible administration and integration with administration environments in a highly configurable schema.
Administration and Installation GUIs

The Java Apache Project is working closely with W3C and the Apache GUI Project to create a sort of metaconfiguration language for administration toolkits. This language will allow single tools such as Comanche or Jack (the yet to be started Java Apache Configuration Kit) to configure everything simply by writing a metaconfiguration description of its configuration syntax along with default values, ranges, graphic styles and so on.
Note: if you are interested in contributing in one of these areas, you are more than welcome to join the development team and share your knowledge, ideas and suggestions with us. The more we are, the better Apache JServ becomes.

Copyright (c) 1997-98 The Java Apache Project.
$Id: index.html,v 1.3 1998/12/05 11:31:38 stefano Exp $
All rights reserved.