gregw

Saturday Dec 20, 2008

Servlet 3.0 Public Review : Update

I have been working on an implementation of the Servlet-3.0 asynchronous servlets with some the fixes/extensions I suggested in my previous blog and from some continuing discussion within the EG. This implementation demonstrates that significant asynchronous behaviour can be implemented without the complexities of redispatching wrapped requests or the forward(path) methods.[Read More]

Tuesday Dec 16, 2008

Servlet 3.0 Public Review

JSR-315 has produced a Public Review (PR) of the servlet 3.0 specification, which unfortunately is a poor document and the product of a discordant expert group (EG) working within a flawed process.[...] Significant effort has been put into the PR proposal [...]  but  unfortunately it has become a Frankenstein monster, cobbled together from eviscerated good ideas and misguided best intentions. The 8 methods of the ED proposal that were rejected as being too complex and confusing have been replaced by 20 methods and 3 new interfaces!  [...] The EG is desperately in need of community feedback and probably another round of Public Review after a beta RI is made available.

[Read More]

Friday Aug 15, 2008

Asynchronous Restful Webapplication

This blog annotates the Jetty 7 example web application that uses Jetty asynchronous HTTP client and the proposed suspendable servlets 3.0 API, to call an eBay restful web service.   The technique combines the Jetty asynchronous HTTP client with the Jetty servers ability to suspend servlet processing, so that threads are not held while waiting for rest responses. Thus threads can handle many more requests and web applications using this technique should obtain at least ten fold increases in performance.[Read More]

Thursday Nov 22, 2007

Asynchronous IO is hard!

The tomcat 6 developers have proposed an asynchronous IO extension as their solution for Comet and Ajax push.  I have long argued that asynchronous handling is needed for Servlets (for comet and other use-cases), but that it is very important to make the distinction between asynchronous IO and asynchronous handling of requests. Asynchronous programming is hard and asynchronous IO even harder.  I maintain that asynchronous IO should be implemented by the container and that only asynchronous events should be delivered to an asynchronous servlet. As if to illustrate my point,the example code that tomcat provide for their asynchronous IO contains some classic bugs and inefficiencies that I examine here as they well illustrate why we should be making all efforts possible to encapsulate asynchronous IO below the level of the servlet API.
[Read More]

Wednesday May 09, 2007

Servlets 3.0

I'm just fresh out of a session at JavaOne where Sun have revealed their road map for the servlet 3.0 specification. My initial reaction is that it contains both some good and bad items as well as quite a few concerns in between. The 10 words or less version is: Annotations, JSF, Ajax, Comet, REST, scripts, security and Misc.[Read More]

Saturday Jan 06, 2007

Jetty 6.1.0 Release

The Jetty 6.1.0 release is now available via http://jetty.mortbay.org. It represents both a stabilization of the features already released in 6.0.x, plus a raft of new features. For a full description of Jetty 6.1, see http://docs.codehaus.org/display/JETTY/.[Read More]

Webtide

Calendar

Tags

Search

Links

Navigation