Performance Testing of Data Delivery Techniques for AJAX Applications

AJAX applications are designed to have high user interactivity and low user-perceived latency. Real-time dynamic web data such as news headlines, stock tickers, and auction updates need to be propagated to the users as soon as possible. However, AJAX still suffers from the limitations of the Web's request/response architecture which prevents servers from pushing real-time dynamic web data. Such applications usually use a pull style to obtain the latest updates, where the client actively requests the changes based on a predefined interval. It is possible to overcome this limitation by adopting a push style of interaction where the server broadcasts data when a change occurs on the server side. Both these options have their own trade-offs. This paper first introduces the characteristics of both pull and push approaches. It then presents the design and implementation of our distributed test framework, called CHIRON, where different AJAX applications based on each approach can be automatically tested on. Finally, we present and discuss the results of our empirical study comparing different web-based data delivery approaches.

[1]  Arie van Deursen,et al.  An Architectural Style for Ajax , 2006, 2007 Working IEEE/IFIP Conference on Software Architecture (WICSA'07).

[2]  Arie van Deursen,et al.  Migrating Multi-page Web Applications to Single-page AJAX Interfaces , 2007, 11th European Conference on Software Maintenance and Reengineering (CSMR'07).

[3]  Vittorio Trecordi,et al.  An architecture for effective push/pull Web surfing , 2000, 2000 IEEE International Conference on Communications. ICC 2000. Global Convergence Through Communications. Conference Record.

[4]  Sandro Morasca,et al.  An Operational Process for Goal-Driven Definition of Measures , 2002, IEEE Trans. Software Eng..

[5]  Roy T. Fielding,et al.  Principled design of the modern Web architecture , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[6]  Jean-Philippe Martin-Flatin,et al.  Push vs. pull in Web-based network management , 1998, Integrated Network Management VI. Distributed Management for the Networked Millennium. Proceedings of the Sixth IFIP/IEEE International Symposium on Integrated Network Management. (Cat. No.99EX302).

[7]  Arie van Deursen,et al.  Crawling AJAX by Inferring User Interface State Changes , 2008, 2008 Eighth International Conference on Web Engineering.

[8]  Arie van Deursen,et al.  A Comparison of Push and Pull Techniques for AJAX , 2007, 2007 9th IEEE International Workshop on Web Site Evolution.

[9]  Stanley B. Zdonik,et al.  Balancing push and pull for data broadcast , 1997, SIGMOD '97.

[10]  T. Cook,et al.  Quasi-experimentation: Design & analysis issues for field settings , 1979 .

[11]  Claes Wohlin,et al.  Experimentation in software engineering: an introduction , 2000 .

[12]  Jesse James Garrett Ajax: A New Approach to Web Applications , 2007 .

[13]  Kevin C. Almeroth,et al.  Multicast delivery of web pages or how to make web servers pushy , 1998 .

[14]  Stanley B. Zdonik,et al.  “Data in your face”: push technology in perspective , 1998, SIGMOD '98.

[15]  David E. Culler,et al.  USENIX Association Proceedings of USITS ’ 03 : 4 th USENIX Symposium on Internet Technologies and Systems , 2003 .

[16]  Raj Rajkumar,et al.  A Real-Time Push-Pull Communications Model for Distributed Real-Time and Multimedia Systems , 1999 .

[17]  Robert M. Hierons,et al.  Overcoming observability problems in distributed test architectures , 2006, Inf. Process. Lett..

[18]  L. Delbeke Quasi-experimentation - design and analysis issues for field settings - cook,td, campbell,dt , 1980 .

[19]  Anne-Marie Kermarrec,et al.  The many faces of publish/subscribe , 2003, CSUR.

[20]  David E. Culler,et al.  SEDA: an architecture for well-conditioned, scalable internet services , 2001, SOSP.

[21]  Richard N. Taylor,et al.  Extending the Representational State Transfer (REST) architectural style for decentralized systems , 2004, Proceedings. 26th International Conference on Software Engineering.

[22]  Prashant J. Shenoy,et al.  Adaptive push-pull: disseminating dynamic web data , 2001, WWW '01.

[23]  Arie van Deursen,et al.  A component- and push-based architectural style for ajax applications , 2008, J. Syst. Softw..

[24]  Sridhar Alager,et al.  Hierarchy in Testing Distributed programs , 1993, AADEBUG.

[25]  Krithi Ramamritham,et al.  Maintaining temporal coherency of virtual data warehouses , 1998, Proceedings 19th IEEE Real-Time Systems Symposium (Cat. No.98CB36279).