Jetty at Eclipse
In January 2009, Webtide announced that Jetty would be moving to Eclipse. The Jetty project has been created, and this week the initial Jetty 7 code (with a refactored org.eclipse.jetty prefix) was checked into Jetty SVN at Eclipse).
Greg Wilkins of Webtide gave an update at EclipseCon 2009 of the rationale behind the move to the Eclipse foundation, what it means to Jetty (and what it doesn't mean). First of all, the code is being contributed under a dual license; both EPL (for Eclipse reasons) and AL (for continuity with the previous Apache License). Secondly, whilst the core libraries (client, server, JMX etc.) are being contributed by Eclipse, some extension code still remains at CodeHaus (examples, code that depends on 3rd libraries etc). Other bundlings of Jetty will continue to be made available where they are now, though in addition the build process will make the core available from Eclipse and potentially in a future build train (though it's probably too late for this summer's Eclipse release train).
Greg also emphasised that the move to Eclipse won't signify a dependency on OSGi, and that Jetty will continue to be embeddable into existing (non-OSGi) Java applications as it currently stands. However, the move to Eclipse has resulted in the JARs being OSGi-fied with manifest information, meaning that they will be able to run in either environment. He also cited the enforced move as highlighting some otherwise strange dependencies (such as the client API depending on the server API) - one advantage of OSGi is that it makes such accidental dependencies more obvious and will improve the OSGi and non-OSGi use alike.
The plan suggests that Jetty 7, which will be mainly feature compatible with Jetty 6 but under the new organisational structure, to be available by the second quarter of 2009. Delays in the 3.0 Servlet API have pushed back their inclusion in Jetty and as such, Jetty 8 will support 3.0 in 2010.
Jetty also supports asynchronous servlets and web requests, which Greg demonstrated as being capable of running 2000 concurrent clients and 2000 concurrent servers at a rate of 2000/s on an aging laptop, with an average latency of 40ms. This should be familiar to the kind of AJAX callback calls but can avoid thread blocking, and as such, increase throughput of applications.
The involvement of Jetty with Eclipse also promises to help drive forward HTTP support within Equinox and OSGi to bring further advances to the OSGi HTTP spec.