Web 2.0: AJAX implementation technologies
G. Taskasaplidis, Ch. Z. Patrikakis
Automation Depth, TEI Piraeus, Thivon 250, Aigaleo, Athens, Greece
E-mail: email@example.com, firstname.lastname@example.org
The transition from Web 1.0 to Web 2.0 and the introduction of new
technologies on the Web have created a field of dispute, consideration and
scepticism. Rich Internet applications (RIA) are promising more reactive user
interfaces, with enhanced interactivity and have recently become very
popular. The call for more Rich Internet Applications forced the creation of
new technologies and solutions on the Web. New technologies like AJAX
(Asynchronous Web Pages) and new APIs (Application Programming
Interfaces) are providing new rich experiences on the Web. One of the most
promising Web 2.0 and RIA technology is AJAX, known also as
Asynchronous Java XML.
There are two different schools that guide the evolution engines of Ajax
technology. Although they have a lot in common and are closely relates as
regards the supportive technologies, the two parties: Microsoft Ajax and Open
Ajax follow differed ways for the implementation of basically the same
technology. Different approaches, mentality and philosophy, resulted to a
variety of frameworks, tools and APIs for easier and more effective
development of AJAX enabled Web applications. A review of these
frameworks and an assessment of these implementations is attempted in this
The first version of web, which was based on plain text and numbers,
has been long outdated; we cannot compare the current or the future web
with the first web. Web 2.0 is the next generation web, which will try to
succeed and fulfil all the existing or possible new needs. The web is no longer
static, but dynamic and human involvement gives the impression that it is a
live organization with spiritual dimension. Web 2.0 consists with plenty of
technologies, which are promising a more interactive and “attractive” Internet.
An overview of Web 2.0, RIAs, is presented in the following
paragraphs. Additionally, a review and evaluation of Open Source Ajax and
Microsoft AJAX frameworks is additionally attempted.
2 Web 2.0 Overview
There are many similarities and differences among all web 2.0
definitions [5.3]. Trying to find a statement that summarizes the ideas behind
web 2.0 we could state that: “Web 2.0 is a network technology based on
services and not just on sharing of information, featuring a platform that will
provide and emphasize in online collaboration, interaction and communication
and trying to reduce the anarchy of information that Web 1.0 produced, while
it will provide the ability to collect and remix data from multiple sources and
web sites. It is promising to bring richer user experiences through Rich
Internet Applications (RIA) and transform most of desktop applications to web
applications, increased mobility and convergence of allocated personal
The following table indicates some of the differences of Web 1.0 and
WEB 1.0 WEB 2.0
Interaction Philosophy One to many Many to many
User Position Mostly pathetic Energetic
King of the System Web Site is the king Web user is the king
Information Anarchy of Information Structured Information
Way of life (entertainment,
Search of information,
Web Visiting Purposes leisure, live communication,
virtual communities etc)
TABLE 1: Web 1.0 & Web 2.0 Positions
2.2 Rich Internet Applications
RIA is the shortcut for Rich Internet Applications [5.3]. When we are
talking about Web 2.0, references to RIA are unavoidable. Rich is what RIAs
are mainly promising: rich experiences, graphics, media and capabilities in
general. RIAs are also promising more interactive environments,
customisation, personalization and easiness, at least for end users of the
web. The most important technologies of RIAs, are Ajax [5.3] and Adobe
Flash [5.3]. Ajax and Flash are not direct competitors since combination-
collaboration of Ajax with Flash techniques at the same webpage or website is
feasible, leading to enhanced user experience. RIAs in general belong to the
Web 2.0 generation and some times RIAs and Web 2.0 referenced as the
2.3 Asynchronous Java XML - AJAX
The term of AJAX [5.3] first appeared in 2005. James Garrett, founder
of information architect and Adaptive Path, used this abbreviation to describe
and represent this new technology to his clients. Elements of this technology
were used by Microsoft in remote scripting development, when it first
appeared in 1995. This technology of loading the contents of a web page
asynchronously, without full reload of a web page, was used later on Microsoft
Outlook [5.3] web access, supplied with the Microsoft Exchange Server 2000
[5.3] release. Techniques like IFrame (hidden frame [5.3]) and Layer element
[5.3] in Internet Explorer and Netscape 4 in correspondence was also AJAX
3 AJAX Functionality
Ajax is working asynchronously instead of other web applications that
work synchronously [5.3]. This means that Ajax is working on the background
of an application, while it has the ability for partial updating of a web page.
A traditional web page works synchronously; the user makes a request,
known as HttpRequest, from the client computer, then this request is
transferred through the http protocol to the web server. The web server
examines the request and perfroms all the appropriate actions to fulfill the
request. Once the data are collected, the server creates a new web page and
sends it back to client as a response to his request. When the new page
arrives to the client computer the new page replaces the old page totally. That
is why it is considered that transition from one page to another is
synchronous. The exchange of the old page from the new one from the
browser introduces a flicker and a sense of delay.
Ajax web pages are working differently. If the user makes a request for
Ajax virtual machine works between server and client’s browser (on the
client). This machine makes an XMLHttp request, which means that this
request is transferred thought http protocol to the server, with the difference
that a new web page is not requested in this case, but only data (probably
XML data or pain text) instead. The server collects the requested data before
transmitting it to the client, and the latterreceives data, instead of a whole web
pasted to the existing (on the client) web page and the page is rendered.
Partial update of the web page introduces less flickering, and gives the sense
of faster response.
4 AJAX Evaluation
The selection of the right AJAX framework is one of the main
considerations for a website development. There are many, different and
sometimes contradictory parameters that we have to overcame before the
selection. One thing is sure, that there is no absolute solution.
Sometimes is better to choose first between Open Source [5.3] and
Commercial frameworks. If this separation is done, then things are less
complicated. In this chapter we will search the criteria of selection between an
Open Source Ajax and Commercial Ajax. In fact we will try to compare Open
Source and Microsoft Ajax.NET. Because there are many Open Source
frameworks, it is necessary to make an overview of the most popular and
most powerful frameworks. Some of the criteria for finding the best Open Ajax
has to be loaded to the client computer, known as Ajax Footprint and of
course how cross platform and server agnostic the frameworks are.
4.2 Frameworks that represent Open Source Ajax and MS Ajax.
fully cross browser framework and disappears almost every cross browser
and libraries. Prototype combined with script.aculo.us [5.3], which provides a
teem for an Open Ajax website creation.
It is a cross browser and web server agnostic framework that works
with all the well known web servers and browsers. It has a small Ajax
Footprint (Ajax code volume) and a plethora of controls and widgets and a
large development community.Unfortunately, though it is very easy to use
Prototype has poor documentation and therefore extra effort needed from
they work. They also have to search around the web for information
Dojo Toolkit [5.3] Dojo is an Open Source DHTML toolkit written in
communication with web servers (Ajax). It has some bugs and cross browser
problems, but it offers a good functionality. Dojo also allows the creation of
cross browser vector graphics. It is easy of use. It consists of a cross browser
and web server agnostic framework that works with almost all the well known
web servers and browsers. It has medium Ajax Footprint. Dojo widgets have
been updated recently, with the new release Dojo 0.9 update and are very
promising. Additionally a lot of bugs fixes, new modules and code tuning have
been made up to now. There are enough controls and widgets to create fast
powerful Ajax applications.
Direct Web Remoting (DRW)
DWR [5.3] known as Direct Web Remoting is an open source java
It constitutes a framework for Ajax based websites creation. The interaction of
partial webpage update possible.
The general operation procedure of DWR relies on the following two
• A Java Servlet (a java mechanism) running on the server that accepts
requests from the client browser and responses back to the browser
(browser) that posts requests and takes responses from the server and
can dynamically partial update the webpage.
DWR has good documentation and instructions for an open source
framework. It is not as cross browser and web server agnostic, like other open
source frameworks, especially because web servers are needed to support
java servlets. It also introduces some extra effort and knowledge of java
(depending to the application) and has more server functionality and server
side programming (servlets).
Open Source comparison matrix
The following table presents a summery of Open Ajax features Matrix:
FeaturesFramework Dojo Prototype DWR
License BSD MIT BSD
Ease of use Good Excellent Medium
Widgets/Controls Many Few Few
Web Server with
Cross Platform Yes Yes
Community adoption Very Limited Very High Limited
Documentation Medium Insufficient Good
Popularity Medium High Medium
90Kb + 130 for Depending to the
Footprint 230Kb +
Client side Client side Client and Server
TABLE 2: Open Ajax comparison Matrix
The framework that is widely used is Prototype with script.aculo.us,
mostly because it is easy, popular and has high community adoption [5.3]. We
can now observe the features of Microsoft Ajax, to figure out what are the
differences, advantages and disadvantages of Open and Microsoft Ajax.
Microsoft Visual Studio and Ajax.NET Framework
The visual studio of Microsoft [5.3] is the vehicle, which integrates most
of the IDEs for Microsoft related programming languages that allow
developers to create desktop and network or web applications and services.
The visual environment, fast and easy development, trace and debagging,
good integrated documentation are some of the benefits that this studio offers.
MSDN known as well as Microsoft Developer Network provides
documentation, examples and online support for developers is accompanied
with the studio. The studio cooperates harmonically with Microsoft SQL
server, has a database explorer, visual development of a database (tables,
columns, rows, variables) and insert, preview of data for testing is possible.
Visual Studio has individual development IDEs for the following software
languages and implementations: ASP.NET, Visual Basic (.NET), Visual C++,
Visual C#, Visual J#.
The Microsoft Visual Studio Express is a free and lightweight edition
that is freely accessible to be downloaded. Especially Visual Web Developer
is related only with web development and mostly with ASP.NET applications
and services. Microsoft Ajax enabled WebPages can be developed with
Visual Web Developer Express Edition as long as the Ajax plug-in is installed
and embedded to the studio. Some of the features and capabilities of Visual
studio express are the following:
• Drag-and-drop user interface designer.
• Intelligence support for syntax and code correction, suggestions to
• Connection with database almost with no code (wizard).
• MSDN support for developers.
• Instant standalone web server, for website testing-debugging and
• Enhanced website debagging and tracing.
• Web Server Deployment tools (FTP, HTTP).
• Database explorer and visual database design.
Microsoft Ajax has low to medium java libraries code volume (footprint),
works harmonically with ASP WebPages and controls. It is less server and
client agnostic, it requires .NET 2.0 framework and IIS 6.0 or later web server.
4.3 Advantages and Disadvantages
The following table represents the Open Ajax and Ajax.Net Comparison
Matrix with widely accepted criteria.
Features / Category Open Ajax Ajax.NET
All in one solution, platform and framework - +
Framework-Platform Dependency + -
Server agnostic + -
Cross Browser + -
Easy Ajax migration - +
Ajax code volume – Footprint + -
Documentation - Examples & Videos - +
Development community + -
Visual environment – Less coding - +
Debugging – Tracing - +
Popularity + -
TABLE 3: Open Ajax & Ajax.NET features
All in one solution
Microsoft Ajax.Net offers a complete solution. A free Software
Development Kit (SDK), known as Visual Express Studio 2005, with all the
necessary tools for Web Development of ASP pages. Ajax.Net is something
like a plug-in to the SDK, which allows the creation of Ajax enabled web
pages, and this way all libraries, controls and Ajax functionalities are
available. Open Source Ajax development usually is independent from the
platform of the web application that is based on.
Commercial software and Microsoft Ajax, although is free of use, are
trying to lock in developers to their platform and frameworks. Open Source
software and Open Ajax can be used on multiple platforms and are more
Open source Ajax is server agnostic and compatible with almost all of
the web servers and operating systems. Ajax.NET is dependent to the .NET
framework and not all web servers or operating systems can support
Ajax.NET has some compatibility problems with some Web Browsers,
while only internet explorer and Mozzila Firefox [5.3] are compatible. In
contrary Open Ajax is windily compatible from almost all java enabled
With Ajax.NET, migration from non Ajax to Ajax powered pages and
sites is easier than Open Source Ajax. Microsoft AJAX update panel works
like an IFRAME, the only thing that developers have to do is to include inside
the panel the partial updated object. They don’t have to alter, set or create
any functions, parameters or variables and the only thing that they have to do
is to define the trigger events for Ajax. This makes Ajax code obvious and
clear, shows, which are Ajax enabled areas, and code separation can be
achieved (modular) easily, reducing complexity and increasing developer’s
control over the situation.
Ajax code volume
The code volume of AJAX libraries that has to be loaded - transferred
to the client (remote) computer, might be crucial, especially if the code
volume, is more than 1 MB. All the frameworks have acceptable code volume
(less that 1MB).
Microsoft MSDN libraries offer a very good documentation and not only
this. MSDN documentation is highly appreciated from the majority of
developers’ community. Additionally examples – tutorials and videos are free
for everyone and are easy to find. Documentation for Open Ajax is usually
incomplete, it is rather off-handed and it studded. It is very hard to find good,
detailed, mature and complete documentation for Open Ajax and Open
Source Software in general. But there are plenty of websites that allow
someone to collect information from multiple sources, examples, tutorials and
finally can assemble them and work with.
Open Source [5.3] and open Ajax are the leaders of software evolution
and testing, because they have the largest developing community. New ideas,
controls and solutions appear almost every day. Open source community
gives a sense of superiority that commercial software is not possible to deal
with. This community is the barometer of evolution, especially when new
technologies appear, the acceptance and the response of a technology to this
community will affect the whole market (internet).
Visual Development environment of Microsoft Visual Studio is one of
the most sophisticated development environments. There is no need to
remember exact classes, attributes and methods. With auto-completion and
auto suggestion techniques users get all possible suggestions alphabetically.
Visual environment offers additionally less coding, because drag and drop of
controls or chunks of software visually is possible. Through properties window
someone can configure controls without any coding. This way, code
complexity is reduced and development environment is easier to use, learn
and understand. Open Source software development platforms don’t use the
visual environment enhancements used by Microsoft products; coding is
always important and absolutely necessary. Open-Ajax frameworks are using
only essential and plain features; auto-completion techniques are rather a
Debugging – Tracing
Visual Studio 2005 offers many useful tools like software debugging
and tracing. Custom error pages can be easily displayed. Furthermore, it is
easy for someone to insert break lines and check software by peaces, like
common desktop development applications and get visual syndication were
errors have occurred. Statistics, web page responses time and many more
utilities are also available.
Open Ajax is far more popular than Ajax.NET. More developers and
web sites are using Open Ajax; popularity is an indication of success.
Figure 1: Ajax Platform and Framework Popularity [5.3]
5 Conclusions and selection
5.1 MS Ajax and ASP.NET
ASP.NET Ajax is offering a rich graphical user interface, plenty of high
sophisticated tools for easier development. It reduces complexity on
development and developers’ effort. MS Ajax inherits all the benefits and
drawbacks of .NET 2.0 and it is all in one solution for webpage development.
Open Source Ajax is more customisable and it has less user-friendly
environment for developers. Webpage development sometimes can be a
combination of more than one framework (prototype combined with
Script.aculo.us [5.3] and PHP gives excellent results). It has lower code
volume and low level complexity, but is more complicate and experience
demanding for developers than the Commercial software and MS Ajax.
5.2 Open source is advanced
Open source Ajax and generally open source web development is ideal
for professional developers and for enhanced websites with advanced
functionality and uniqueness. It is intended for some developers, which
require absolute control over the code, that every webpage must have its one
signature and for them intervention to the low level coding is essential and
crucial. On the other side Ajax.NET Ajax is mostly targeting to less
experienced, faster and “lazy” developers, for everyday websites (e.g.
personal sites), rather than professional-unique websites.
5.3 The Selection
Selecting between Open Ajax and ASP.NET Ajax is not an easy task;
in fact there is no absolute answer to the question: “which of the two?” or
“which framework is the best?” The decision of which framework is the best,
depends to the above comparison combined with other factors like legacy
systems, personnel skills, purpose of the website and how advanced or
pioneer the website will be. The answer is not absolute and it is depending to
the each individual occasion factors and parameters. All the above
considerations and observations are helpful and worth to be concerned,
before someone decides what is best for each occasion, developer(s) and
situation. So the decision is ours and failure sometimes is not only caused by
a wrong decision, but also of how faithful and supportive we are to our
1. Prototype: What is prototype?, URL: http://ajaxmatters.com/archive/2007/01/09/what-
is-prototype.aspx, last accessed on July 5, 2007.
3. DWR: “Easy AJAX for JAVA”, URL: http://getahead.org/dwr/overview/dwr, last
accessed June 22, 2007.
4. Ajax Web survey, URL: http://ajaxian.com/, last accessed on July 9, 2007.
June 12, 2007.
7. Explore Web Development with ASP.NET 2.0, URL:
http://www.microsoft.com/events/series/msdnwebdev.mspx, last accessed on June
8. Christian Wenz, "Programming Atlas", O'Reilly Media Inc. (September 2006), ISBN:
9. Wikipedia, online encyclopedia, URL: http://en.wikipedia.org/wiki/AJAX_
%28programming%29, Ajax (programming), last accessed on June 12, 2007.
10. Mozilla Firefox, URL: www.mozilla.com/firefox/, Web Browser, last accessed on
September 18, 2007.
11. HTML IFRAME TAG, URL: www.w3schools.com/tags/tag_iframe.asp, Definition and
Usage, last accessed on September 18, 2007.
12. Microsoft Outlook, URL: www.microsoft.com/outlook/, Microsoft Office Outlook, last
accessed on September 3, 2007.
13. Microsoft Exchange Server, URL: www.microsoft.com/exchange/default.mspx,
Product information, last accessed on September 5, 2007.
14. Layer Element, URL: http://webdesign.about.com/od/htmltags/p/bltags_layer.htm,
HTML Layer Tag, last accessed on September 1, 2007.
15. Wikipedia encyclopedia, URL: http://en.wikipedia.org/wiki/Macromedia_Flash, Adobe
Flash, HTML Layer Tag, last accessed on September 2, 2007.
16. Wikipedia encyclopedia, URL: http://en.wikipedia.org/wiki/Ajax_(programming), AJAX
Programming, last accessed on September 2, 2007.
17. Wikipedia encyclopedia, URL: http://en.wikipedia.org/wiki/Rich_Internet_application,
Rich Internet Application, last accessed on August 17, 2007.
18. Wikipedia encyclopedia, URL: http://en.wikipedia.org/wiki/WEB_2.0, Web 2.0, last
accessed on August 7, 2007.
19. Open Source, URL: www.jgroups.org/javagroupsnew/docs/papers/OpenSource.pdf, a
new paradigm for software development, last accessed on August 9, 2007.