InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

Jetty at Eclipse

Posted by Alex Blewitt on Mar 26, 2009

Sections
Development,
Enterprise Architecture,
Operations & Infrastructure
Topics
Application Servers ,
Java ,
Composition
Tags
Jetty ,
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.

2000 concurrent clients and 2000 concurrent servers ? by Rodolfo de Paula Posted
  1. Back to top

    2000 concurrent clients and 2000 concurrent servers ?

    by Rodolfo de Paula

    "...which Greg demonstrated as being capable of running 2000 concurrent clients and 2000 concurrent servers.."

    I don get it...

Educational Content

New-age Transactional Systems - Not Your Grandpa's OLTP

John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.

Cool Code

Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.

Collaboration: At the Extremities of Extreme

Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.

Yesod Web Framework

Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).

Transactions without Transactions

Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.

Attila Szegedi on JVM and GC Performance Tuning at Twitter

Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.