Welcome!

Machine Learning Authors: Zakia Bouachraoui, Pat Romanski, Yeshim Deniz, Elizabeth White, Liz McMillan

Related Topics: Machine Learning

Machine Learning : 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)

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.


CloudEXPO Stories
Jim leads Wasabi's product management, sales engineering, and customer support efforts. As a veteran of multiple startups and large enterprise organizations, Jim has deep experience in developing, delivering, and supporting products and services that provide security, scalability, and reliability to customers and partners. Prior to Wasabi, Jim served in product management and sales/support engineering roles at Oracle (via Acme Packet and Covergence), Ciena (via WaveSmith Networks), Lucent Technologies (via Ascend Communications and Cascade Communications) and GTE. Jim holds a BSEE from Northeastern University and a MBA from Babson College.
When building large, cloud-based applications that operate at a high scale, it’s important to maintain a high availability and resilience to failures. In order to do that, you must be tolerant of failures, even in light of failures in other areas of your application. “Fly two mistakes high” is an old adage in the radio control airplane hobby. It means, fly high enough so that if you make a mistake, you can continue flying with room to still make mistakes. In his session at 18th Cloud Expo, Lee Atchison, Principal Cloud Architect and Advocate at New Relic, will discuss how this same philosophy can be applied to highly scaled applications, and can dramatically increase your resilience to failure.
Despite being the market leader, we recognized the need to transform and reinvent our business at Dynatrace, before someone else disrupted the market. Over the course of three years, we changed everything - our technology, our culture and our brand image. In this session we'll discuss how we navigated through our own innovator's dilemma, and share takeaways from our experience that you can apply to your own organization.
Founded in 2002 and headquartered in Chicago, Nexum® takes a comprehensive approach to security. Nexum approaches business with one simple statement: “Do what’s right for the customer and success will follow.” Nexum helps you mitigate risks, protect your data, increase business continuity and meet your unique business objectives by: Detecting and preventing network threats, intrusions and disruptions Equipping you with the information, tools, training and resources you need to effectively manage IT risk Nexum, Latin for an arrangement by which one pledged one’s very liberty as security, Nexum is committed to ensuring your security. At Nexum, We Mean Security®.
The Transparent Cloud-computing Consortium (T-Cloud) is a neutral organization for researching new computing models and business opportunities in IoT era. In his session, Ikuo Nakagawa, Co-Founder and Board Member at Transparent Cloud Computing Consortium, will introduce the big change toward the "connected-economy" in the digital age. He'll introduce and describe some leading-edge business cases from his original points of view, and discuss models & strategies in the connected-economy. Nowadays, "digital innovation" is a big wave of business transformation based on digital technologies. IoT, Big Data, AI, FinTech and various leading-edge technologies are key components of such business drivers.