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

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

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

Saved successfully!

Ooh no, something went wrong!