EPJ Web of Conferences (Jan 2024)

The migration to a standardized architecture for developing systems on the Glance project

  • Ferreira Brito Filho Carlos Henrique,
  • Souza e Silva Gabriel Jose,
  • Corti Gloria,
  • Closier Joel

DOI
https://doi.org/10.1051/epjconf/202429505021
Journal volume & issue
Vol. 295
p. 05021

Abstract

Read online

The Glance project is responsible for over 20 systems across three CERN experiments: ALICE [1], ATLAS [2] and LHCb [3]. Students, engineers, physicists and technicians have been using systems designed and managed by Glance on a daily basis for 20 years. In order to produce quality products continuously, considering internal stakeholder’s ever-evolving requests, there is a need for standardization. The adoption of such a standard had to take into account not only future developments but also legacy systems of the three experiments. These systems were created using an in-house built framework, and, as they scaled, became difficult to maintain due to the framework’s lack of documentation and use of technologies that were becoming obsolete. Migrating them to a new architecture would mean speeding up the development process, avoiding rework and integrating CERN systems widely. Since a lot of the core functionalities of the systems are shared between them, both on the frontend and on the backend, the architecture had to assure modularity and reusability. In this architecture, the principles behind Hexagonal Architecture are followed and the systems’ codebase is split into two applications: a JavaScript client and a REST backend server. The open-source framework Vue.js was chosen for the frontend. Its versatility, approachability and extended documentation made it the ideal tool for creating components that are reused throughout Glance applications. The backend uses PHP libraries created by the team to expose information through REST APIs both internally, allowing easier integration between the systems, and externally, introducing to users outside Glance information managed by the team.