QAT Logo
 Home > Past Issues> AJAX – Cleaning up in IT

AJAX – Cleaning up in IT

Defining AJAX
AJAX isn’t a technology. It’s really several technologies coming together in powerful new ways. AJAX, the name is short for Asynchronous JavaScript and XML, and it represents a fundamental shift in what’s possible on the Web. AJAX incorporates:

  • standards-based presentation using XHTML and CSS;
  • dynamic display and interaction using the Document Object Model;
  • data interchange and manipulation using XML and XSLT;
  • asynchronous data retrieval using XMLHttpRequest;
  • and JavaScript binding everything together.

The classic web application model works like this: Most user actions in the interface trigger an HTTP request back to a web server. The server does some processing — retrieving data, crunching numbers, talking to various legacy systems — and then returns an HTML page to the client. It’s a model adapted from the Web’s original use as a hypertext medium, but what makes the Web good for hypertext doesn’t necessarily make it good for software applications. This approach makes a lot of technical sense, but it doesn’t make for a great user experience. While the server is doing its thing, what’s the user doing? Waiting — and I do mean waiting. And at every step in a task, the user waits some more. If we were designing the Web from scratch for applications, we wouldn’t make users wait around. Once an interface is loaded, why should the user interaction come to a halt every time the application needs something from the server?

How AJAX is Different
An AJAX application eliminates the start-stop-start-stop nature of interaction on the Web by introducing an intermediary — an AJAX engine — between the user and the server. Instead of loading a webpage, at the start of the session, the browser loads an AJAX engine — written in JavaScript and usually placed in a hidden frame or JavaScript library. This engine is responsible for both rendering the user interface and communicating with the server on the user’s behalf. The AJAX engine allows the user’s interaction with the application to happen asynchronously — independent of communication with the server. So the user is never staring at a blank browser window and an hourglass icon, waiting around for the server to do something. Every user action that normally would generate an HTTP request takes the form of a JavaScript call to the AJAX engine instead. Any response to a user action that doesn’t require a trip back to the server — such as simple data validation, editing data in memory, and even some navigation — the engine handles on its own. If the engine needs something from the server in order to respond — if it’s submitting data for processing, loading additional interface code, or retrieving new data — the engine makes those requests asynchronously, usually using SOAP/XML, without halting a user’s interaction with the application.

Who’s Using AJAX
Google is making a huge investment in developing the AJAX approach and it can be seen in some of their latest applications such as Google Suggest, Google Maps and GMail. These projects demonstrate that AJAX is not only technically sound, but also practical for real-world applications.

At Q.A. Technologies (QAT) we’ve been doing work with AJAX over the past year, and we have only begun to scratch the surface of the rich interaction and responsiveness that AJAX applications can provide our customers. For example, at a large state government agency, we are using QAT’s WebDaptive product (AJAX Framework for developing Rich Web-UIs) and fusing it with an AllFusion® Gen .Net (C#)-based Service-Oriented Architecture (SOA) to give the client the Rich Web-UI they desire while giving them the flexibility, re-usability and scalability the State demands on all Enterprise Class applications. For further information, please contact us and let us show you how QAT can help with your AJAX and SOA initiatives.

For more information, please visit http://www.qat.com/ajax.asp.

  Newsletter Feedback | Privacy | Terms | Copyright                           Subscribe to our newsletters and alerts.