25.07.2014 Views

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

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

system. <strong>Web</strong> applications <strong>based</strong> on the classical model <strong>of</strong> the web <strong>and</strong> the<br />

technologies available in the early nineties, have aged <strong>and</strong> become out-dated.<br />

Over the course <strong>of</strong> the past 15 years, many web technologies (e.g., browsers,<br />

servers, web st<strong>and</strong>ards) have evolved. These technological advancements have<br />

made it possible to develop web systems that meet up with current user expectations,<br />

i.e., a satisfactory degree <strong>of</strong> responsiveness <strong>and</strong> interactivity similar<br />

to desktop applications. However, what we witness is that web applications<br />

built with the new models <strong>and</strong> technologies have issues with existing tools<br />

(e.g., web crawlers) <strong>and</strong> techniques (e.g., web testing) that are still focused on<br />

the old models (multi-<strong>page</strong>).<br />

This leads developers to a dilemma: on the one h<strong>and</strong>, sticking to the classical<br />

web model means missing on the advantages <strong>of</strong> the technological innovations<br />

<strong>and</strong> failing to meet today’s expectations. On the other h<strong>and</strong>, adopting<br />

the new model means renovating the system to meet expectations <strong>and</strong>, at<br />

the same time, facing many challenges the new model has with existing web<br />

technologies. The challenges are mainly due to the fact that <strong>Ajax</strong> shatters the<br />

metaphor <strong>of</strong> a web ‘<strong>page</strong>’ (i.e., a sequence <strong>of</strong> web <strong>page</strong>s connected through<br />

hyperlinks) upon which many web technologies are <strong>based</strong>. Hence, the <strong>Ajax</strong><strong>based</strong><br />

web model will only be widely adopted with success, if the supporting<br />

technologies also evolve <strong>and</strong> support the new model.<br />

Figure 1.9 shows our s<strong>of</strong>tware engineering research viewpoints on modern<br />

<strong>Ajax</strong> web application. Our focus in this work has been on three main research<br />

themes:<br />

S<strong>of</strong>tware Architecture to gain an abstract underst<strong>and</strong>ing <strong>of</strong> the new <strong>Ajax</strong><strong>based</strong><br />

web model;<br />

S<strong>of</strong>tware Reengineering to underst<strong>and</strong> the implications <strong>of</strong> reengineering classical<br />

multi-<strong>page</strong> web systems to single-<strong>page</strong> <strong>Ajax</strong> variants;<br />

S<strong>of</strong>tware <strong>Analysis</strong> <strong>and</strong> <strong>Testing</strong> to explore strategies for analyzing <strong>and</strong> testing<br />

this new breed <strong>of</strong> web application.<br />

Below, we discuss these viewpoints <strong>and</strong> formulate the research questions<br />

that drive the work presented in this thesis.<br />

1.3.1 Architecture<br />

After the neologism <strong>Ajax</strong> was introduced in 2005, numerous frameworks <strong>and</strong><br />

libraries appeared, <strong>and</strong> many web developers started adopting one or more<br />

<strong>of</strong> the ideas underpinning <strong>Ajax</strong>. However, despite all the attention <strong>Ajax</strong> has<br />

been receiving from the web community, the field is characterized by a lack<br />

<strong>of</strong> coherent <strong>and</strong> precisely defined architectural descriptions.<br />

<strong>Ajax</strong> provides us with a set <strong>of</strong> techniques to design a new style <strong>of</strong> web<br />

client/server interaction that was not possible in classical web systems. An<br />

interesting question is whether concepts <strong>and</strong> principles as developed in the<br />

s<strong>of</strong>tware architecture research community, <strong>and</strong> specifically those related to<br />

14 1.3. Challenges <strong>and</strong> Research Questions

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!