Project Plan For rt.jetty, version 7.0.x.y

Introduction

Jetty provides server and clients for HTTP and Websocket plus a javax.servlet container. The Jetty 7 version targets the 2.5 servlet specification and the 1.5 JVM. The Jetty 8 version targets the 3.0 servlet specification and the 1.6 JVM.

The plan deals with the important matters of release deliverables, release milestones, target operating environments, and release-to-release compatibility. These are all things that need to be clear for any release, even if no features were to change.

Release Deliverables

We will continue to publish artifacts into the central maven repository as we have done all along for our other user bases. Primary download bundles will be determined as well but we intend to retain our traditional jetty download bundle in addition to other eclipse oriented packaging. An update site is available and will be provided for all eclipse releases.

Table of Contents

Release Milestones

Release milestones will be occurring at roughly 4-6 week intervals.

M003/04/2009
7.0.0.M0
M121/04/2009
7.0.0.M1
M218/05/2009
7.0.0.M2
M322/06/2009
7.0.0.M3
M401/07/2009
7.0.0.M4
RC009/07/2009
7.0.0.RC0
RC115/07/2009
7.0.0.RC1
RC222/07/2009
7.0.0.RC2
RC329/07/2009
7.0.0.RC3
RC418/08/2009
7.0.0.RC4
RC527/08/2009
7.0.0.RC5
7.0.0.v2009100505/10/2009
7.0.0.v20091005 - published
7.0.1.v2009112525/11/2009
7.0.1.v20091125 - published
7.1.0.v201001???/01/2010
7.1.0.v201001??

Individual, milestone level plans for the components that make up the Eclipse Project can be found on the Jetty Project Plan page on the Eclipse wiki.

Our target is to maintain and innovate with 7.x.y.z releases based on the servlet api version 2.5. We also intend to release a version 8.x.y.z of jetty based on the servlet api version 3.0 once that is available and maintain parallel development on these two codebases, exactly how jetty development has proceeded historically.

Table of Contents

Target Environments

Jetty closely follows the requirements of the servlet-api version that it implements and works with. As such JDK/JRE versions and other dependency versions are dictated to us by the spec in question.

Starting with the Jetty 7.1.x releases we will have JSP support once more only using eclipse IP approved dependencies.

So, the Jetty project will support:

  • JDK/JRE 1.5.x and up

Internationalization

Jetty does not currently ship with internationalized exceptions or documentation.

Table of Contents

Compatibility with Previous Releases

Packaging changes (org.mortbay.jetty -> org.eclipse.jetty) have broken the seamless transition from previous versions of jetty.

Table of Contents

Themes and Priorities

The project several stated major areas of work that will be the priorities for this and future development cycle.

Component Oriented Design

At its core, Jetty is a simply a set of components that fufill the role of a web server and adding on additional functionalities are a matter of adding additional components to the system. JMX, JNDI, Servlets, an asynchronous http client, are all components that can be added to an application with a minimal amount of effort. This is a overridding goal and design philosophy behind Jetty. We strive to make it as easy to deploy your application by copying a war file as it is to embed jetty directly into your application and in many cases you can add webserver functionality to your application in less then 5 or 6 lines of code.

Light Weight Web Server and Servlet Engine

The internals of jetty are designed around efficient use of the available resources and jetty works extremely well in many different environments. Since jetty 6 the internals have made extensive use of NIO and the scaling benefits that such technology provides. With the Continuations concept in place, jetty is able to allow modern 2.5 servlets to scale to previously unattainable hieghts as it provides a mechanism by which the servlet connection can be suspended out of the stack and reused for other incoming connections. This technique is what has allowed jetty to scale to 20k simulatious connections for a servlet application.

Embedded Use

Jetty runs on a variety of platforms including Android and other cell phone platforms. This has been effort for the jetty team for many years and jetty has run on a large variety of devices as a result. Phones, switches and other network applicances can be found with jetty running on them.

This is not to say that jetty can only be embedded on devices, it is also key for being deployed inside of various applications and containers. Jetty maintains an integration with jboss and is increasingly working with OSGI for servicing the HTTPService community at large. This is in fact a large reason that jetty decided to work with the eclipse community at a greater level to facilitate this sort of usage scenario.

Tooling and IDE Integration

Jetty also intends to support and work with other maintainers of IDE integrations as well as increase the native support of servlet and application development with jetty plugins and tooling options.

Emerging protocol support

Protocols such as Websocket, SPDY and BWTP have been proposed as ways to improve bidirectional web applications (aka comet). The Jetty project will implement, evaluate, improve and assist the standardization of these emerging protocols.

Table of Contents

view raw xml of project plan
from project meta-data key "projectplanurl"