Webtide

The Java experts behind Jetty

Skip to the navigational footer.

Case Studies and Endorsements

Many companies, both large and small, have started to use Jetty in their web applications. Here's a selection of recent reviews from clients who have used Jetty in their products.

Papercut

PaperCut is a leading solution to monitor, quota and report network printing and internet use, renowned for its combination of powerful features and ease-of-use.
Read what they had to say about Webtide and Jetty.

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. 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!

Read Papercut's full review here.

Zimbra Division of VMWare

Zimbra is a leader in open source, next-generation messaging and collaboration software, and was recently purchased by VMWare.
Read what they had to say about Webtide and Jetty.

One of the most important traits of Web 2.0 applications is low user-perceived latency in UI update, which usually requires low latency event notification from server to client. However due to the limitations of the HTTP protocol, a server cannot initiate communication with a client as events occur.

The Comet pattern enables server push by using client asynchronous polling. A client polling request is kept open by the server until suitable events occur. This way the server can timely push event notifications to clients as long as there are open polling requests. The Comet pattern uses the HTTP protocol in a novel yet compliant way. It is currently in the process of being standardized as the Bayeux protocol (draft spec). An HTTP server or server module that supports the Comet pattern is a Cometd.

One of the challenges that many HTTP servers face when adding support for Comet is open-request scalability. Traditionally HTTP servers bind one worker thread to each request until processing is complete and the HTTP response is sent. This model ties up threads even when the requests are blocked on waiting for other resources. Comet requires client polling requests be kept open, often for a long time, which makes the one-request-one-thread model not scalable.

The Jetty server is one of the early adopters of Comet. In fact the principal contributor of the Jetty server, Greg Wilkins, is also an author of the Bayeux spec. Jetty achieves Comet scalability by disassociating the worker thread from a polling request when it becomes blocked on waiting for new events. This way the worker thread can return to the pool and be reassigned to service an active request.

Jetty uses the Continuation pattern to suspend a blocked polling request and free the worker thread. By using Continuation, Jetty keeps impact on existing Web applications and Servlet related technologies to a minimum. Applications written according to the current Servlet specs can take advantage of Comet with trivial changes, and the Continuation mechanism for suspending and resuming of a request is most straightforward. Although Continuation is hardly the only way to implement Comet support, it's worth noting that other approaches typically will require writing asynchronous code at the application level which carries a signification application development cost.

In summary, we chose Jetty not only because it supports Comet in a scalable manner, but also because the Continuation implementation of Comet is least disruptive to existing Servlet based technologies.

We recommend Jetty because of the great success we've had with it, specifically for Zimbra 5.0. They've got great developer support, and the code is clean and simple to look at.

Read Zimbra's full review here.

Polar Rose

Polar Rose's unique technology gives greater meaning and context to digital photos by allowing them to be indexed online just like text documents.
Read what they had to say about Webtide and Jetty.

Hightide currently provides the industry's best Cometd support, which Polar Rose uses to get real-time feedback in its Firefox extension. Hightide also integrates many standard Java technologies in a simple lean and mean package which has removed the need for the more traditional fat application servers that one would otherwise use. Because it integrates so well in the development process and tools, it has allowed us to be significantly more agile in implementing new functionality to our rather complex solution.

Photacular

Photacular enables users to create fun, unique products from their photographs with safe, secure, 24/7 online access. Options include T-shirts, mugs, coasters, jewelry, holiday ornaments, canvas prints, and more.
Read what they had to say about Webtide and Jetty.

Working with Webtide and their developer advice system meant that we basically had them as a team member on call. Photacular could focus on its photo and product expertise and we could tap Webtide anytime for their server and Ajax knowledge. I am glad I went with Jetty as my app server.