PERFORMANCE TESTING OF DATA DELIVERY TECHNIQUES FOR AJAX APPLICATIONS

Authors

  • ENGIN BOZDAG Software Engineering Research Group, Delft University of Technology Mekelweg 4, 2628CD Delft, The Netherlands
  • ALI MESHAH Software Engineering Research Group, Delft University of Technology Mekelweg 4, 2628CD Delft, The Netherlands
  • ARIE van DEURSEN Software Engineering Research Group, Delft University of Technology & CWI Mekelweg 4, 2628CD Delft, The Netherlands

Keywords:

Performance testing, Ajax, Web data delivery, Comet, Push/pull, Empirical study

Abstract

AJAX applications are designed to have high user interactivity and low user-perceived latency. Realtime 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.

 

Downloads

Download data is not yet available.

References

S. Acharya, M. Franklin, and S. Zdonik. Balancing push and pull for data broadcast. In SIGMOD

’97: Proceedings of the 1997 ACM SIGMOD international conference on Management of data,

pages 183–194. ACM Press, 1997.

S. Alager and S. Venkatsean. Hierarchy in testing distributed programs. In AADEBUG ’93:

Proceedings of the First International Workshop on Automated and Algorithmic Debugging,

pages 101–116, London, UK, 1993. Springer-Verlag.

M. Ammar, K. Almeroth, R. Clark, and Z. Fei. Multicast delivery of web pages or how to make

web servers pushy. Workshop on Internet Server Performance, 1998.

M. Bhide, P. Deolasee, A. Katkar, A. Panchbudhe, K. Ramamritham, and P. Shenoy. Adaptive

push-pull: Disseminating dynamic web data. IEEE Trans. Comput., 51(6):652–668, 2002.

E. Bozdag, A. Mesbah, and A. van Deursen. A comparison of push and pull techniques for Ajax.

In S. Uang and M. D. Penta, editors, Proc. of 9th IEEE International Symposium on Web Site

Evolution (WSE), pages 15–22, 2007.

L. C. Briand, S. Morasca, and V. R. Basili. An operational process for goal-driven definition of

measures. IEEE Trans. Softw. Eng., 28(12):1106–1125, 2002.

D. Campbell and J. Stanley. Experimental and Quasi-Experimental Designs for Research. Rand-

McNally, Chicago, 1963.

J. Chen, R. M. Hierons, and H. Ural. Overcoming observability problems in distributed test

architectures. Inf. Process. Lett., 98(5):177–182, 2006.

M. Consulting. Jetty webserver documentation - continuations. http://docs.codehaus.org/

display/JETTY/Continuations, 2007.

Direct Web Remoting. Reverse Ajax documentation. http://getahead.org/dwr/

reverse-ajax, 2007.

P. T. Eugster, P. A. Felber, R. Guerraoui, and A.-M. Kermarrec. The many faces of publish/

subscribe. ACM Comput. Surv., 35(2):114–131, 2003.

R. T. Fielding and R. N. Taylor. Principled design of the modern web architecture. ACM Trans.

Inter. Tech., 2(2):115–150, 2002.

M. Franklin and S. Zdonik. Data in your face: push technology in perspective. In SIGMOD

’98: Proceedings of the 1998 ACM SIGMOD international conference on Management of data,

pages 516–519. ACM Press, 1998.

J. Garrett. Ajax: A new approach to web applications. Adaptive Path: http://adaptivepath.

com/publications/essays/archives/000385.php, 2005.

M. Hauswirth and M. Jazayeri. A component and communication model for push systems. In

ESEC/FSE ’99, pages 20–38. Springer-Verlag, 1999.

K. Juvva and R. Rajkumar. A real-time push-pull communications model for distributed realtime

and multimedia systems. Technical Report CMU-CS-99-107, School of Computer Science,

Carnegie Mellon University, January 1999.

R. Khare. Beyond Ajax: Accelerating web applications with real-time event notification.

Knownow.com, white-paper.

R. Khare and R. N. Taylor. Extending the representational state transfer (REST) architectural

style for decentralized systems. In ICSE ’04: Proceedings of the 26th International Conference

on Software Engineering, pages 428–437. IEEE Computer Society, 2004.

J.-P. Martin-Flatin. Push vs. pull in web-based network management. http://arxiv.org/pdf/

cs/9811027, 1999.

A. Mesbah, E. Bozdag, and A. van Deursen. Crawling Ajax by inferring user interface state

changes. In Proceedings of the 8th International Conference on Web Engineering (ICWE’08),

pages 122–134. IEEE Computer Society, 2008.

A. Mesbah and A. van Deursen. An architectural style for Ajax. In Proc. of 6th Working

IEEE/IFIP Conference on Software Architecture (WICSA’07), pages 44–53, 2007.

A. Mesbah and A. van Deursen. Migrating multi-page web applications to single-page Ajax

interfaces. In Proc. of 11th European Conference on Software Maintenance and Reengineering

(CSMR’07), pages 181–190, 2007.

A. Mesbah and A. van Deursen. A component- and push-based architectural style for Ajax

applications. Journal of Systems and Software (JSS), 2008. To appear.

Netscape. An exploration of dynamic documents. http://wp.netscape.com/assist/net_

sites/pushpull.html, 1996.

A. Russell. Comet: Low latency data for the browser. http://alex.dojotoolkit.org/?p=

A. Russell, G. Wilkins, and D. Davis. Bayeux - a JSON protocol for publish/subscribe event

delivery protocol 1.0draft1. http://svn.xantus.org/shortbus/trunk/bayeux/bayeux.

html, 2007.

D. Schiemann. The forever-frame technique. http://cometdaily.com/2007/11/05/

the-forever-frame-technique, November 2007.

R. Srinivasan, C. Liang, and K. Ramamritham. Maintaining temporal coherency of virtual data

warehouses. In RTSS ’98: Proc. of IEEE Real-Time Systems Symposium, page 60, 1998.

Sun microsystems remote method invocation home. http://java.sun.com/javase/

technologies/core/basic/rmi/.

T.D.Cook and D.T.Campbell. Quasi-Experimentation - Design and Analysis Issues for Field

Settings. Houghton Mifflin Company, 1979.

V. Trecordi and G. Verticale. An architecture for effective push/pull web surfing. In 2000 IEEE

International Conference on Communications, volume 2, pages 1159–1163, 2000.

W3C. Chunked transfer coding. http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.

html#sec3.6.1.

M.Welsh, D. Culler, and E. Brewer. Seda: an architecture for well-conditioned, scalable internet

services. SIGOPS Oper. Syst. Rev., 35(5):230–243, 2001.

M. Welsh and D. E. Culler. Adaptive overload control for busy internet servers. In USENIX

Symposium on Internet Technologies and Systems, 2003.

C. Wohlin, P. Runeson, M. H¨ost, M. C. Ohlsson, B. Regnell, and A. Wessl´en. Experimentation

in software engineering: an introduction. Kluwer Academic Publishers, 2000.

Downloads

Published

2009-09-16

How to Cite

BOZDAG, E. ., MESHAH, A. ., & DEURSEN, A. van . (2009). PERFORMANCE TESTING OF DATA DELIVERY TECHNIQUES FOR AJAX APPLICATIONS. Journal of Web Engineering, 8(4), 287–315. Retrieved from https://journals.riverpublishers.com/index.php/JWE/article/view/4043

Issue

Section

Articles