Sunday, September 21, 2008

Push technology on the Internet

All web applications are pull-based in nature, in effect meaning that the client (your browser) can request more data from a server, the server cannot send data voluntarily to the client. 

Thus while a client can ask the server for the body of a known email, the server is unable to inform the client of any newly arrived emails unless the client specifically asks. 
Hence, for data that may change without interaction from the current user (eg prices, bids, chat, email) the client must poll the server to discover any changes to the data set. Currently, this is how most of the web applications work.

Comet
Comet is a Ajax based technology which overcomes the push-limitation of the web by using the ability of a server to hold poll requests until either a timeout or an event occurs, so that the server can send a response at any time to communicate an event to the client.

A very nice layman intro to Ajax-Push or Comet technology can be found here
http://www.webtide.com/downloads/whitePaperWhyAjax.html

For more info:

Jabber
One technology which rivals Comet is the XMPP protocol aka Jabber - the popular IM service enabler. Extensible Messaging and Presence Protocol (XMPP) is an open, XML-inspired protocol originally aimed at near-real-time instant messaging (IM) applications. 

But this was recently expanded into the broader realm of message oriented middleware - like RSS readers, Twitter (or Jaiku) or VoIP. Technically speaking, XMPP is a technology for streaming Extensible Markup Language (XML) elements in order to exchange structured information in close to real time between any two network-aware entities.

How it works
XMPP lets one party signal to any XMPP server that it is available to receive any new information that's being delivered. When any other party sends new content through the XMPP server, the message is passed on immediately and automatically to all recipients who are marked as available.

No comments:

ShareThis