Analysis and Testing of Ajax-based Single-page Web Applications
Analysis and Testing of Ajax-based Single-page Web Applications
Analysis and Testing of Ajax-based Single-page Web Applications
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
client/server <strong>and</strong> network-<strong>based</strong> environments, can be <strong>of</strong> help in underst<strong>and</strong>ing<br />
the essential components <strong>and</strong> architectural properties <strong>of</strong> <strong>Ajax</strong>-<strong>based</strong> web<br />
applications. In such a context, a s<strong>of</strong>tware architecture is defined (Perry <strong>and</strong><br />
Wolf, 1992; Fielding, 2000) by a configuration <strong>of</strong> architectural elements – processing,<br />
connecting, <strong>and</strong> data – constrained in their relationships in order to<br />
achieve a desired set <strong>of</strong> architectural properties.<br />
Through such an underst<strong>and</strong>ing, we could gain a more abstract perspective<br />
on the actual differences between the classical web model <strong>and</strong> the modern<br />
<strong>Ajax</strong>-<strong>based</strong> settings. An abstract model would also enable us to anticipate the<br />
trade<strong>of</strong>fs between, e.g., interactivity <strong>and</strong> scalability, <strong>of</strong> adopting <strong>Ajax</strong> techniques.<br />
Thus, our first main research question can be formulated as follows:<br />
Research Question 1<br />
What are the fundamental architectural differences <strong>and</strong> trade<strong>of</strong>fs between<br />
designing a classical <strong>and</strong> an <strong>Ajax</strong>-<strong>based</strong> web application? Can current<br />
architectural styles describe <strong>Ajax</strong>? If not, can we propose an architectural<br />
style taylored for <strong>Ajax</strong>?<br />
An architectural style is defined by a coordinated set <strong>of</strong> architectural constraints<br />
that restricts the roles <strong>of</strong> architectural elements <strong>and</strong> the allowed relationships<br />
among those elements within any architecture that conforms to that<br />
style (Fielding, 2000). Our hypothesis is that <strong>Ajax</strong> changes the web interaction<br />
model so significantly that it cannot be fit into the existing architectural<br />
styles, <strong>and</strong> hence requires its own architectural style.<br />
1.3.2 Reengineering<br />
Once an abstract perspective on the target model is gained, we focus on ways<br />
classical web applications could be reengineered to <strong>Ajax</strong> settings.<br />
Many organizations are beginning to consider migration, also known as<br />
<strong>Ajax</strong>ification, possibilities <strong>of</strong> their web-<strong>based</strong> systems to this new paradigm.<br />
Usually, significant investments have been made for classical web-<strong>based</strong> systems<br />
<strong>and</strong> most organizations are not likely to throw these valuable assets away<br />
to adopt a new emerging technology.<br />
As a result, the well-known problems <strong>of</strong> s<strong>of</strong>tware legacy renovation<br />
(van Deursen et al., 1999) <strong>and</strong> migration (Brodie <strong>and</strong> Stonebraker, 1995) are<br />
becoming increasingly important for web applications. If until a few years<br />
ago, the problem revolved solely around migrating legacy desktop systems to<br />
web-<strong>based</strong> settings, today we have a new challenge <strong>of</strong> reengineering classic<br />
web applications to <strong>Ajax</strong> applications as well.<br />
Our assumption is that a multi-<strong>page</strong> web application already exists, <strong>and</strong><br />
our intention is to explore techniques to support its comprehension, analysis,<br />
<strong>and</strong> restructuring by recovering abstract models from the current implementation.<br />
Chapter 1. Introduction 15