- Home Page
Categories
Archives
- September 2010
- August 2010
- July 2010
- June 2010
- May 2010
- April 2010
- March 2010
- February 2010
- January 2010
- December 2009
- November 2009
- October 2009
- September 2009
- August 2009
- June 2009
- May 2009
- April 2009
- March 2009
- February 2009
- January 2009
- December 2008
- November 2008
- October 2008
- September 2008
- August 2008
- July 2008
- June 2008
- May 2008
- April 2008
- March 2008
- February 2008
- December 2007
- November 2007
- October 2007
- September 2007
- August 2007
- July 2007
- June 2007
- May 2007
- April 2007
- February 2007
- December 2006
- November 2006
- October 2006
- September 2006
- August 2006
- June 2006
- May 2006
- April 2006
- February 2006
- November 2005
- October 2005
- September 2005
- June 2005
- April 2005
- March 2005
- February 2005
- January 2005
- December 2004
- November 2004
- October 2004
- September 2004
- August 2004
Daily Archives: June 5, 2008
Jetty – the web server that powers PaperCut
The other day I sent a quick email to the Jetty HTTP Server development team thanking them for all their hard work. We struck up a bit of a conversation and they wanted to know more about how we’re using Jetty in PaperCut and asked us if we’d like to write up a short Case Study for their website. I’ve decided to post this on the blog as it will also give some of our users an interesting look at the “internals” of PaperCut.
Our use of Jetty is quite a bit different to most. Instead of treating Jetty like Apache or a stand-alone server, we’re using Jetty as an embedded component. It’s deployed with our print accounting application, PaperCut (tour here for those interested). As a result, Jetty is running on tens-of-thousands of servers in over 60 countries and the vast majority of users are completely unaware that it’s there. The measure of a good embeddable component is not who’s using it, but who’s not aware that they’re using it! Jetty is fantastic in this regard – zero config and zero maintenance, working away flawlessly for years on end.
Jetty is hosting PaperCut’s web application interface. This is a web application based on Tapestry, Spring, Hibernate and Apache Derby. Jetty’s embeddability has allowed us to deploy this stack in a standard setup.exe type installer targeting all major platforms (Windows, Linux and Mac). Our users don’t need to know anything about web servers or their setup and configuration. All they need to do is run the installer! Jetty’s scalability has also been an advantage. In some cases PaperCut is installed on a small business server supporting 5 workstations, while on other sites it’s running in University environments on clustered servers supporting 100,000+ users. Jetty has prove equally adaptable at both ends of the scalability spectrum.
Choosing components for a project is always difficult – often too much choice! Obviously Jetty has been a great choice but was one we carefully considered back in 2005. Technical functionality was one criteria, but another important consideration was the strength of the team behind the project. We’ve seen too many Open Source projects start out with enthusiasm only to run out of puff and “age” early. What grabbed us about Jetty was the future looking team. In 2005 AJAX was very new and there was big questions about how to handle server-push events in a scalable fashion. We had an immediate need for this, not with AJAX, but with our web services API (client software receiving web-services push events from the server). The Jetty development team members such as Greg Wilkins, were openly discussing “long polling” and the issues around this. Jetty was one of the first servers to present working and more importantly “workable” solutions to the scalability problems.
We can’t recommend Jetty more highly. It’s a great web server, a great component, and is backed by a switched-on forward looking and innovative team – make sure you check out the open source Jetty and the team!
Posted in General
Leave a comment
