03 Apr
Posted by jj as Web
The rise of the software-as-a-service paradigm has led to the development of a new breed of sophisticated, interactive applications often called Web 2.0. While web applications have become larger and more complex, web application developers today have little visibility into the end-to-end behavior of their systems.
This paper presents AjaxScope, a dynamic instrumentation platform that enables cross-user monitoring and just-in-time control of web application behavior on end-user desktops. AjaxScope is a proxy that performs on-the-fly parsing and instrumentation of JavaScript code as it is sent to users’ browsers. AjaxScope provides facilities for distributed and adaptive instrumentation in order to reduce the client-side overhead, while giving fine-grained visibility into the code-level behavior of web applications. We present a variety of policies demonstrating the power of AjaxScope, ranging from simple error reporting and performance profiling to more complex memory leak detection and optimization analyses. We also apply our prototype to analyze the behavior of over 90 Web 2.0 applications and sites that use large amounts of JavaScript.
In the last several years, there has been a sea change in the way software is developed, deployed, and maintained. Much of this has been the result of a rise of software-as-a-service paradigm as opposed to traditional shrink-wrap software. These changes have lead to an inherently more dynamic and fluid approach to software distribution, where users benefit from bug fixes and security updates instantly and without hassle. As our paper shows, this fluidity also creates opportunities for software monitoring. Indeed, additional monitoring code can be seamlessly injected into the running software without the users awareness.
Nowhere has this change in the software deployment model been more prominent than in a new generation of interactive and powerful web applications. Sometimes referred to as Web 2.0, applications such as Yahoo! Mail and Google Maps have enjoyed wide adoption and are highly visible success stories. In contrast to traditional web applications that perform the majority of their computation on the server, Web 2.0 applications include a significant client-side JavaScript component. Widely-used applications consist of over 50,000 lines of JavaScript code executing in the user’s browser. Based on AJAX (Asynchronous JavaScript and XML), these web applications use dynamically downloaded JavaScript programs to combine a rich client-side experience with the storage capacity, computational power, and reliability of sophisticated data centers.
Download pdf AjaxScope: A Platform for Remotely Monitoring the Client-Side Behavior of Web 2.0 Applications
Related Searches: memory leak detection, web application developers, instrumentation platform, dynamic instrumentation, fluid approach
RSS feed for comments on this post · TrackBack URI
Leave a reply