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.

Contents<br />

Preface<br />

List <strong>of</strong> Acronyms<br />

ix<br />

xi<br />

1 Introduction 1<br />

1.1 <strong>Web</strong> Evolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1<br />

1.1.1 Static Hypertext Documents . . . . . . . . . . . . . . . . 1<br />

1.1.2 Dynamically Generated Pages . . . . . . . . . . . . . . . 2<br />

1.1.3 <strong>Web</strong> Architecture . . . . . . . . . . . . . . . . . . . . . . . 4<br />

1.1.4 Rich Internet <strong>Applications</strong> . . . . . . . . . . . . . . . . . 4<br />

1.1.5 <strong>Web</strong> 2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5<br />

1.2 <strong>Ajax</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6<br />

1.2.1 JavaScript <strong>and</strong> the Document Object Model . . . . . . . 6<br />

1.2.2 Cascading Style Sheets . . . . . . . . . . . . . . . . . . . . 7<br />

1.2.3 The XMLHttpRequest Object . . . . . . . . . . . . . . . . 7<br />

1.2.4 A New Approach to <strong>Web</strong> <strong>Applications</strong> . . . . . . . . . . 7<br />

1.2.5 Multi-<strong>page</strong> versus <strong>Single</strong>-<strong>page</strong> <strong>Web</strong> <strong>Applications</strong> . . . . 10<br />

1.2.6 Reverse <strong>Ajax</strong>: Comet . . . . . . . . . . . . . . . . . . . . 10<br />

1.3 Challenges <strong>and</strong> Research Questions . . . . . . . . . . . . . . . . 12<br />

1.3.1 Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . 14<br />

1.3.2 Reengineering . . . . . . . . . . . . . . . . . . . . . . . . . 15<br />

1.3.3 <strong>Analysis</strong> <strong>and</strong> <strong>Testing</strong> . . . . . . . . . . . . . . . . . . . . . 16<br />

1.4 Research Method <strong>and</strong> Evaluation . . . . . . . . . . . . . . . . . . 18<br />

1.5 Thesis Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19<br />

1.6 Origin <strong>of</strong> Chapters . . . . . . . . . . . . . . . . . . . . . . . . . . 20<br />

2 A Component- <strong>and</strong> Push-<strong>based</strong> Architectural Style for <strong>Ajax</strong> 23<br />

2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23<br />

2.2 <strong>Ajax</strong> Frameworks . . . . . . . . . . . . . . . . . . . . . . . . . . . 25<br />

2.2.1 Echo2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26<br />

2.2.2 GWT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27<br />

2.2.3 Backbase . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27<br />

2.2.4 Dojo <strong>and</strong> Cometd . . . . . . . . . . . . . . . . . . . . . . . 28<br />

2.2.5 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29<br />

2.3 Architectural Styles . . . . . . . . . . . . . . . . . . . . . . . . . . 30<br />

2.3.1 Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . 30<br />

2.3.2 Existing Styles . . . . . . . . . . . . . . . . . . . . . . . . . 31<br />

2.3.3 A Style for <strong>Ajax</strong> . . . . . . . . . . . . . . . . . . . . . . . 32<br />

2.4 Architectural Properties . . . . . . . . . . . . . . . . . . . . . . . 32<br />

2.4.1 User Interactivity . . . . . . . . . . . . . . . . . . . . . . . 33

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

Saved successfully!

Ooh no, something went wrong!