Recently I visited Jazoon, an international conference for Java developers at Zurich, Switzerland.

Having heard a lot of interesting talks, I want to sum up my impressions and try to figure out some of the latest trends in the world of Java as well as interesting facts for software architects.

This is part 3 of my series of blog posts and deals with

Ajax Push

Having worked with ICEfaces (but suspended work for now due to a lot of bugs), I was curious to hear a talk of one of the guys of ICEfaces, Ted Goddard.

The topic was Ajax Push. Surely, Ajax is a buzzword of today and everybody wants to have some Ajax functionality in his application, maybe just to be cool.

Ajax Push goes a step further and exploits the benefits of partial page rendering with Ajax allowing the server to send events and messages to the client (either via broadcast or even only to certain clients) as soon as they occur.

Unfortunately, Ted spent a lot of time talking about general aspects and showed an application that uses Ajax Push in action, but when he wanted to go into technical details, time was over.

But it became clear that there are a lot of hacks necessary to overcome the drawbacks of HTTP as a stateless protokoll.
The approach they chose follows the comet paradigm and is some kind of long time polling. A long living request is fired, which is responded whenever an event occurs on the server, that shall be “pushed” to the client. Then, a new request is opened to listen for the next event.

In order to face the performance and scalability issues that arise when having several open requests over a long time (and in worst case each request requires a seperate thread on the server!), there are modifications on the server side, too.
E.g. it must be possible to suspend requests in some way.
Currently, the Jetty container supports such features and Servlet 3.0 will bring more light into the dark.

But actually, it seemed to my like they raped HTTP in some way to do what they want, but what it was never supposed to do.

For sure, Ajax Push is a hack. But is it a hack that has a future? What do you think about?

Jazoon 08 (Java Conference in Zurich) - Google Web Toolkit
Jazoon 08 (Java Conference in Zurich) - Google Android
Impressions from Jazoon08 (Java Conference in Zurich) - Scala
RichFaces: rich:modalPanel with rich:componentControl doesn’t show data

Are you interested in reading more from CodingClues?
Then subscribe to new postings via RSS or via E-Mail.

Viewing 3 Comments

close Reblog this comment
blog comments powered by Disqus