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.
Conclusion<br />
ith the advent <strong>of</strong> <strong>Ajax</strong> technologies, a new paradigm for developing interactive<br />
web applications has emerged. This dissertation has focused<br />
W<br />
on better underst<strong>and</strong>ing this shifting web paradigm, <strong>and</strong> the consequences<br />
<strong>of</strong> moving from the classical multi-<strong>page</strong> model to an <strong>Ajax</strong>-<strong>based</strong> single-<strong>page</strong><br />
style. Specifically to that end, this work has examined this new class <strong>of</strong> s<strong>of</strong>tware<br />
from three main s<strong>of</strong>tware engineering perspectives:<br />
S<strong>of</strong>tware Architecture to gain an abstract underst<strong>and</strong>ing <strong>of</strong> the key architectural<br />
properties <strong>of</strong> <strong>Ajax</strong> applications;<br />
S<strong>of</strong>tware Reengineering to underst<strong>and</strong> the implications <strong>of</strong> a migration from<br />
classical 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 />
7.1 Contributions<br />
The main contributions <strong>of</strong> the thesis can be summarized as follows:<br />
• A new component- <strong>and</strong> push-<strong>based</strong> architectural style, called Spiar, for<br />
single-<strong>page</strong> <strong>Ajax</strong> web applications. The style results from a study <strong>of</strong> different<br />
major <strong>Ajax</strong> frameworks, investigating their salient architectural<br />
properties, key elements, <strong>and</strong> constraints on those elements required to<br />
achieve the desired properties. We provide a detailed comparison <strong>of</strong><br />
what the classical web architecture, called Rest, provides, <strong>and</strong> what the<br />
modern <strong>Ajax</strong> systems require. Our style captures the essence <strong>of</strong> <strong>Ajax</strong><br />
frameworks <strong>and</strong> can be seen as an abstract model <strong>of</strong> different architectural<br />
implementations. As such, Spiar allows to evaluate the trade<strong>of</strong>fs<br />
between different architectural properties <strong>of</strong> <strong>Ajax</strong> systems.<br />
• A process for migrating multi-<strong>page</strong> web systems to single-<strong>page</strong> <strong>Ajax</strong><strong>based</strong><br />
interfaces through reverse <strong>and</strong> model-driven engineering. The<br />
reverse engineering steps <strong>of</strong> the process have been implemented in a<br />
tool called Retjax. Retjax is capable <strong>of</strong> inferring a navigational model<br />
<strong>of</strong> the web interface by conducting a meta-model clustering technique<br />
for web <strong>page</strong> classification, which we call schema-<strong>based</strong> clustering. We<br />
have shown that schema-<strong>based</strong> clustering is more accurate <strong>and</strong> reliable<br />
in grouping web <strong>page</strong>s with structural similarity than approaches which<br />
are <strong>based</strong> on the HTML syntax trees. Additionally, Retjax is capable <strong>of</strong><br />
producing a list <strong>of</strong> c<strong>and</strong>idate UI components for migration, through a<br />
simplification process <strong>of</strong> clusters along the navigational paths.<br />
Chapter<br />
7