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.

Client<br />

Server<br />

Legend<br />

<strong>Single</strong>-<strong>page</strong> UI<br />

<strong>Ajax</strong> Engine<br />

Figure 2.7 Client-centric AJAX Interaction.<br />

UI component programming improves simplicity because developers can<br />

use reusable components to assemble a <strong>Web</strong> <strong>page</strong> either declaratively or programmatically.<br />

User interactivity is improved because the user can interact<br />

with the application on a component level, similar to desktop applications.<br />

In addition, testing component-<strong>based</strong> s<strong>of</strong>tware is inherently easier than testing<br />

traditional <strong>page</strong>-<strong>based</strong> web applications, which induces the property <strong>of</strong><br />

reliability.<br />

Frameworks adhering to this constraint are very adaptable in terms <strong>of</strong> code<br />

mobility since state changes in the three code types (2.5.2) can be propagated<br />

to the client.<br />

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

Constraining the <strong>Web</strong> elements to a set <strong>of</strong> st<strong>and</strong>ardized formats is one way<br />

<strong>of</strong> inducing portability on the <strong>Web</strong>. This constraint excludes approaches that<br />

need extra functionality (e.g., plug-ins, virtual machine) to run on the <strong>Web</strong><br />

browser, such as Flash <strong>and</strong> Java applets, <strong>and</strong> makes the client cross-browser<br />

compatible. This constraint limits the nature <strong>of</strong> the data elements to those that<br />

are supported by web browsers. Also using web st<strong>and</strong>ards, web browsers that<br />

abide by st<strong>and</strong>ards are easily supported <strong>and</strong> hence some degree <strong>of</strong> reliability<br />

is induced (Avizienis et al., 2004).<br />

2.7.6 Client-side Processing<br />

Client-side processing improves user interactivity <strong>and</strong> user-perceived latency<br />

through round-trip reduction. For instance, client-side form validation reduces<br />

unnecessary server-side error reports <strong>and</strong> reentry messages. Additionally,<br />

some server-side processing (e.g., sorting items) can be <strong>of</strong>f-loaded<br />

to clients using mobile code that will improve server performance <strong>and</strong> increase<br />

the availability to more simultaneous connections. As a trade<strong>of</strong>f, client<br />

performance can become an issue if many widgets need processing resources<br />

44 2.7. Architectural Constraints

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

Saved successfully!

Ooh no, something went wrong!