Wednesday, February 4

AJAX

Abstract:-:-

Web
application designing has by far evolved in a number of ways since the time of
its birth. To make web pages more interactive various techniques have been
devised both at the browser level and at the server level. The introduction of XMLHttpRequest
class in the Internet Explorer 5 by Microsoft paved the way for interacting
with the server using JavaScript, asynchronously. AJAX, a shorthand for Asynchronous
Java And XML, is a technique which uses this XML HttpRequest object of the
browser features plus the Document Object Model and DHTML and provides for
making highly interactive web applications in which the entire web page need
not be changed by a user action, only parts of the page are loaded dynamically
by exchanging information with the server. This approach has been able to
enhance the interactivity and speed of the web applications to a great extent.
Interactive applications such as Google Maps, Orkut, Instant Messengers are
making extensive use of this technique. This report presents an overview of the
basic concepts of AJAX and how it is used in making web applications.

Introduction

The
term Ajax is used to describe a set of technologies that allow browsers to
provide users with a more natural browsing experience. Before Ajax, Web sites
forced their users into the submit/wait/redisplay paradigm, where the users'
actions were always synchronized with the server's "think time." Ajax
provides the ability to communicate with the server asynchronously, thereby
freeing the user experience from the request/response cycle. With Ajax, when a
user clicks a button, you can use JavaScript and DHTML to immediately update
the UI, and spawn an asynchronous request to the server to perform an update or
query a database. When the request returns, you can then use JavaScript and CSS
to update your UI accordingly without refreshing the entire page. Most
importantly, users don't even know your code is communicating with the server:
the Web site feels like it's instantly responding.

How Does Ajax
Work?

The
kernel of Ajax is the XmlHttpRequest JavaScript object. This JavaScript object
was originally introduced in Internet Explorer 5, and it is the enabling
technology that allows asynchronous requests. In short, XmlHttpRequest lets you
use JavaScript to make a request to the server and process the response without
blocking the user.

By performing screen
updates on the client, you have a great amount of flexibility when it comes to
creating your Web site. Here are some ideas for what you can accomplish with
Ajax:

•Dynamically update the totals on your
shopping cart without forcing the user to click Update and wait for the server
to resend the entire page.

•Increase site performance by reducing the
amount of data downloaded from the server. For example, on Amazon's shopping
cart page, when I update the quantity of an item in my basket, the entire page
is reloaded, which forces 32K of data to be downloaded. If you use Ajax to
calculate the new total, the server can respond with just the new total value,
thereby reducing the required bandwidth 100 fold.

What is XML?

XML is a markup
language for documents containing structured information.

Structured
information contains both content (words, pictures, etc.) and some indication
of what role that content plays (for example, content in a section heading has
a different meaning from content in a footnote, which means something different
than content in a figure caption or content in a database table, etc.). Almost
all documents have some structure. A markup language is
a mechanism to identify structures in a document. The XML specification defines
a standard way to add markup to documents.

Ajax Framework

Ajax framework forms
part of Ajax; a technology to build dynamic web pages on the client side. Data
is read from the server or sent to the server by JavaScript requests. However,
some processing at the server side is required to handle requests, i.e.,
finding and storing the data. This is accomplished more easily with the use of
a framework dedicated to process Ajax requests. In the article that coined the
"Ajax" term, J.J. Garrett describes the technology as "an
intermediary...between the user and the server."This Ajax engine is
intended to suppress waiting for the user when the page attempts to access the
server. The goal of the framework is to provide this Ajax engine and associated
server and client-side functions.

Reverse Ajax

Shorthand for Reverse
Asynchronous JavaScript and XML, is a web development technique for creating
interactive web applications. The intent is to make web pages feel more
responsive by providing real time information in a web page. This is meant to
increase the web page's interactivity, speed, and usability.

Search Engine Optimization

Websites that use
Ajax to load data which should be indexed by search engines must be careful to
provide equivalent data at a public, linked URL and in a format that the search
engine can read, as search engines do not generally execute the JavaScript code
required for Ajax functionality. This problem is not specific to Ajax, as the
same issue occurs with sites that provide dynamic data as a full-page refresh
in response to, eg, a form submit (the general problem is sometimes called the
hidden web).