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.

2.4.2 User-perceived Latency . . . . . . . . . . . . . . . . . . . 33<br />

2.4.3 Network Performance . . . . . . . . . . . . . . . . . . . . 34<br />

2.4.4 Simplicity . . . . . . . . . . . . . . . . . . . . . . . . . . . 34<br />

2.4.5 Scalability . . . . . . . . . . . . . . . . . . . . . . . . . . . 34<br />

2.4.6 Portability . . . . . . . . . . . . . . . . . . . . . . . . . . . 34<br />

2.4.7 Visibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34<br />

2.4.8 Reliability . . . . . . . . . . . . . . . . . . . . . . . . . . . 34<br />

2.4.9 Data Coherence . . . . . . . . . . . . . . . . . . . . . . . . 35<br />

2.4.10 Adaptability . . . . . . . . . . . . . . . . . . . . . . . . . . 35<br />

2.5 Spiar Architectural Elements . . . . . . . . . . . . . . . . . . . . 35<br />

2.5.1 Processing Elements . . . . . . . . . . . . . . . . . . . . . 36<br />

2.5.2 Data Elements . . . . . . . . . . . . . . . . . . . . . . . . . 37<br />

2.5.3 Connecting Elements . . . . . . . . . . . . . . . . . . . . . 39<br />

2.6 Architectural Views . . . . . . . . . . . . . . . . . . . . . . . . . . 39<br />

2.6.1 <strong>Ajax</strong> view . . . . . . . . . . . . . . . . . . . . . . . . . . . 39<br />

2.6.2 Comet view . . . . . . . . . . . . . . . . . . . . . . . . . . 40<br />

2.7 Architectural Constraints . . . . . . . . . . . . . . . . . . . . . . 42<br />

2.7.1 <strong>Single</strong> Page Interface . . . . . . . . . . . . . . . . . . . . . 42<br />

2.7.2 Asynchronous Interaction . . . . . . . . . . . . . . . . . . 42<br />

2.7.3 Delta-communication . . . . . . . . . . . . . . . . . . . . 43<br />

2.7.4 User Interface Component-<strong>based</strong> . . . . . . . . . . . . . . 43<br />

2.7.5 <strong>Web</strong> st<strong>and</strong>ards-<strong>based</strong> . . . . . . . . . . . . . . . . . . . . . 44<br />

2.7.6 Client-side Processing . . . . . . . . . . . . . . . . . . . . 44<br />

2.7.7 Stateful . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45<br />

2.7.8 Push-<strong>based</strong> Publish/Subscribe . . . . . . . . . . . . . . . 45<br />

2.8 Discussion <strong>and</strong> Evaluation . . . . . . . . . . . . . . . . . . . . . . 46<br />

2.8.1 Retr<strong>of</strong>itting Frameworks onto Spiar . . . . . . . . . . . . 46<br />

2.8.2 Typical <strong>Ajax</strong> Configurations . . . . . . . . . . . . . . . . 46<br />

2.8.3 Issues with push <strong>Ajax</strong> . . . . . . . . . . . . . . . . . . . . 48<br />

2.8.4 Resource-<strong>based</strong> versus Component-<strong>based</strong> . . . . . . . . 48<br />

2.8.5 Safe versus Unsafe Interactions . . . . . . . . . . . . . . . 49<br />

2.8.6 Client- or server-side processing . . . . . . . . . . . . . . 49<br />

2.8.7 Asynchronous Synchronization . . . . . . . . . . . . . . . 50<br />

2.8.8 Communication Protocol . . . . . . . . . . . . . . . . . . 50<br />

2.8.9 Design Models . . . . . . . . . . . . . . . . . . . . . . . . 51<br />

2.8.10 Scope <strong>of</strong> Spiar . . . . . . . . . . . . . . . . . . . . . . . . 51<br />

2.9 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51<br />

2.10 Concluding Remarks . . . . . . . . . . . . . . . . . . . . . . . . . 53<br />

3 Migrating Multi-<strong>page</strong> <strong>Web</strong> <strong>Applications</strong> to <strong>Ajax</strong> Interfaces 55<br />

3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55<br />

3.2 <strong>Single</strong>-<strong>page</strong> Meta-model . . . . . . . . . . . . . . . . . . . . . . . 56<br />

3.3 Migration Process . . . . . . . . . . . . . . . . . . . . . . . . . . . 56<br />

3.3.1 Retrieving Pages . . . . . . . . . . . . . . . . . . . . . . . 58<br />

3.3.2 Navigational Path Extraction . . . . . . . . . . . . . . . . 58<br />

3.3.3 UI Component Model Identification . . . . . . . . . . . . 59<br />

iv<br />

Contents

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

Saved successfully!

Ooh no, something went wrong!