Designing and developing portable large-scale JavaScript web applications within the Experiment Dashboard framework


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.


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.


Software Engineering, Data Stores and Databases


David Tuckett


Julia Andreeva, Ivan Dzhunov, Edward Karavakis, Lukasz Kokoszkiewicz, Michal Nowotka, Pablo Saiz

Presentation type


-- DavidTuckett - 27-Sep-2011

Edit | Attach | Watch | Print version | History: r3 < r2 < r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r3 - 2011-10-14 - DavidTuckett
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    LCG All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2023 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback