The Web is a massive, globally accessible and ever growing information repository. Just about any information you can think of can be discovered and retrieved via the Web. Until recently much of this content has been accessible through web sites and web applications that tightly coupled application data, business logic (a.k.a. services), and presentation into HTML pages. Since there were no external interfaces with which to access the information, the only way for third parties to get at the underlying services/data was to “screen scrape” HTML pages in order to extract salient content – a very fragile and time consuming task. This was the world of Web 1.0.
The truth is that AJAX is not a necessity for developing applications in a Web 2.0 world. There is nothing preventing server side technologies such as PHP, JSP, or ASP from being used to deliver content to the client in much the same way they have been doing up until now. They most certainly can be crafted to make necessary web services calls and to render retrieved content into HTML. But the reality is that building compelling browser based applications goes beyond simply presenting content to the user as HTML. Users have come to expect rich and dynamic user interfaces – something that traditional web applications have been unable to effectively provide. It is with AJAX (and DHTML – which really ought to be considered part of the moniker) that we are finally able to overcome common end user complaints about web based applications being thin, less capable, less interactive, less feature rich, and thus less usable than their desktop counterparts. Thanks to AJAX, features such as drag and drop, auto-completion, interactive UI components, as well as asynchronous network communications now become standard web application features.