Title
Designing and developing portable large-scale
JavaScript web applications within the Experiment Dashboard framework
Abstract
Improvements in web browser performance and web standards compliance, as well as the availability of comprehensive
JavaScript libraries, provides an opportunity to develop functionally rich yet intuitive web applications that allow users to access, render and analyse data in novel ways. However, the development of such large-scale
JavaScript web applications presents new challenges, in particular with regard to code sustainability and team-based work.
We present an approach that meets the challenges of large-scale
JavaScript web application design and development, including client-side model-view-controller architecture, design patterns, and
JavaScript libraries. Furthermore, we show how the approach leads naturally to the encapsulation of the data source as a web API, allowing applications to be easily ported to new data sources.
The Experiment Dashboard framework is used for the development of applications for monitoring the distributed computing activities of virtual organisations on the Worldwide LHC Computing Grid. We demonstrate the benefits of the approach for large-scale
JavaScript web applications in this context by examining the design of several Experiment Dashboard applications for data processing, data transfer and site status monitoring, and by showing how they have been ported for different virtual organisations and technologies.
Summary
We present an approach to designing and developing large-scale
JavaScript web applications that achieves the goals of rich functionality, code sustainability, and data source portability. We provide examples of the benefits of the approach by examining several Experiment Dashboard applications for monitoring distributed computing activities on the Worldwide LHC Computing Grid.
Track
Software Engineering, Data Stores and Databases
Author
David Tuckett
Co-authors
Julia Andreeva, Ivan Dzhunov, Edward Karavakis, Lukasz Kokoszkiewicz, Michal Nowotka, Pablo Saiz
Presentation type
Parallel
--
DavidTuckett - 27-Sep-2011