Welcome!

The Source for All Things Java

Joe Winchester

Subscribe to Joe Winchester: eMailAlertsEmail Alerts
Get Joe Winchester via: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Related Topics: RIA Developer's Journal

RIA & Ajax: Article

Rich Client, Poor Client, Cool Client, AJAX

Problem with web is that if all the logic occurs on the server, then the client is relegated to being just a dumb renderer

Joe Winchester's Java Blog: Rich Client, Poor Client, Cool Client, AJAX

Asynchronous Java Script and XML, shortened to Ajax , is the flared technology de-jour.  Like fashion, cooking, or music it’s a mix of stuff that’s old, borrowed, and not that new.  It does exactly what it says on the tin, mixing Java Script on the browser with async XML traffic.

The problem with the web has always been that despite anyone trying to convince you otherwise, it’s a page based latency bound transaction model that is a dressed up graphical mainframe.  Works well because the transport protocol is neutral and ubiquitous allowing heterogeneous end points where the client and server don’t have to know all that much about each other, just how to establish an HTTP connection.  Problem with web is that if all the logic occurs on the server back end app, then the client is relegated to being just a dumb renderer of HTML, which sort of belittles the fact that PCs are pre-emptive multi-tasking box with oodles of processing power.  Java Script has always been a sensible way to try to reduce server round trips where client side validation or other logic can be performed, and also to butter up the GUI with dialogs and other user interface experiences above the lowest common denominator of HTML.  The latency problem however has typically remained where each page’s unit of work is completed by despatching a request to the server with the data and a new page dispatched.  What makes Ajax clever though is that it keeps the HTTP transaction alive and uses it to perform fine grained requests during the lifetime of the page, and doing this asynchronously by having the browser’s Java Script communicate with the server doesn’t detract from the client’s responsiveness.  It also removes the whole web experience feeling where waiting for the result of an HTTP communication is usually coincident with having to wait for a new page and the whole experience goes into a synchronous busy wait.

What makes Ajax so cool all of a sudden isn’t the idea underlying it strengths, these have been around for ages, it’s basically that Google maps uses it.  This allows a very crisp experience scrolling through maps that is just vastly superior to the tradition technique of “click the scroll left button and wait for a whole new synchronous new page to be give to you”. 

Technology never wins because it’s the best – it’s because it gets market and mind share.  Windows was a poor technology when it competed and won with superior operating systems like OS/2 and Mac because it had more and cheaper apps available on it.  VHS beat Betamax because the tapes were larger and could fit more stuff on them despite poorer picture quality.   What Ajax has going for it in this vein, is that no plugin is required in the browser -just Java Script meaning that anyone with even the most basic of web browsers can run an Ajax app without having to ensure the right client plugin level exists for their platform.

Ajax has the feel of being a big upstart in the client stage.  Rather like teenagers fretting over the fact that their peers are having more fun and wilder parties they clamour to get invited to, to those who haven’t done Ajax it has mystique and allure because Google use it. and they are cool  Big waves come from small tipping points.  Like technologies that win Ajax is simple, elegant, and a combination of old ideas and techniques packaged together with shiny paper and a cool reference account.  Will it become the client server bundling that wins over all of the myriad of alternatives flapping in the same weather system.  I think yes, and I think it is very important to back, not because in five years time I think the choice will be Ajax or Longhorn, but because Ajax makes client server work and offers a rich user interface experience.  It could yet be the holy grail of client server.

posted Thursday, 15 December 2005 3 PM EST

More Stories By Joe Winchester

Joe Winchester, Editor-in-Chief of Java Developer's Journal, was formerly JDJ's longtime Desktop Technologies Editor and is a software developer working on development tools for IBM in Hursley, UK.

Comments (6) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
SYS-CON Australia News Desk 06/27/06 01:43:41 PM EDT

The problem with the web has always been that despite anyone trying to convince you otherwise, it's a page based latency bound transaction model that is a dressed up graphical mainframe. Works well because the transport protocol is neutral and ubiquitous allowing heterogeneous end points where the client and server don't have to know all that much about each other, just how to establish an HTTP connection. Problem with web is that if all the logic occurs on the server back end app, then the client is relegated to being just a dumb renderer of HTML, which sort of belittles the fact that PCs are pre-emptive multi-tasking box with oodles of processing power.

SYS-CON Italy News Desk 06/27/06 01:15:54 PM EDT

The problem with the web has always been that despite anyone trying to convince you otherwise, it's a page based latency bound transaction model that is a dressed up graphical mainframe. Works well because the transport protocol is neutral and ubiquitous allowing heterogeneous end points where the client and server don't have to know all that much about each other, just how to establish an HTTP connection. Problem with web is that if all the logic occurs on the server back end app, then the client is relegated to being just a dumb renderer of HTML, which sort of belittles the fact that PCs are pre-emptive multi-tasking box with oodles of processing power.

AJAXWorld News Desk 06/27/06 12:52:27 PM EDT

The problem with the web has always been that despite anyone trying to convince you otherwise, it's a page based latency bound transaction model that is a dressed up graphical mainframe. Works well because the transport protocol is neutral and ubiquitous allowing heterogeneous end points where the client and server don't have to know all that much about each other, just how to establish an HTTP connection. Problem with web is that if all the logic occurs on the server back end app, then the client is relegated to being just a dumb renderer of HTML, which sort of belittles the fact that PCs are pre-emptive multi-tasking box with oodles of processing power.

SYS-CON India News Desk 04/11/06 04:15:40 PM EDT

The problem with the web has always been that despite anyone trying to convince you otherwise, it's a page based latency bound transaction model that is a dressed up graphical mainframe. Works well because the transport protocol is neutral and ubiquitous allowing heterogeneous end points where the client and server don't have to know all that much about each other, just how to establish an HTTP connection. Problem with web is that if all the logic occurs on the server back end app, then the client is relegated to being just a dumb renderer of HTML, which sort of belittles the fact that PCs are pre-emptive multi-tasking box with oodles of processing power.

AJAX News Desk 04/11/06 03:37:32 PM EDT

The problem with the web has always been that despite anyone trying to convince you otherwise, it's a page based latency bound transaction model that is a dressed up graphical mainframe. Works well because the transport protocol is neutral and ubiquitous allowing heterogeneous end points where the client and server don't have to know all that much about each other, just how to establish an HTTP connection. Problem with web is that if all the logic occurs on the server back end app, then the client is relegated to being just a dumb renderer of HTML, which sort of belittles the fact that PCs are pre-emptive multi-tasking box with oodles of processing power.

JDJ News Desk 12/15/05 03:33:43 PM EST

Joe Winchester's Java Blog: Rich Client, Poor Client, Cool Client, AJAX. The problem with the web has always been that despite anyone trying to convince you otherwise, it's a page based latency bound transaction model that is a dressed up graphical mainframe. Works well because the transport protocol is neutral and ubiquitous allowing heterogeneous end points where the client and server don't have to know all that much about each other, just how to establish an HTTP connection. Problem with web is that if all the logic occurs on the server back end app, then the client is relegated to being just a dumb renderer of HTML, which sort of belittles the fact that PCs are pre-emptive multi-tasking box with oodles of processing power.