The migration to a standardized architecture for developing systems on the Glance project
- 1. Universidade Federal do Rio de Janeiro
- 2. European Organization for Nuclear Research
Description
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.
Translated Descriptions
Translated Description (Arabic)
مشروع Glance مسؤول عن أكثر من 20 نظامًا عبر ثلاث تجارب في CERN: ALICE [1] و ATLAS [2] و LHCb [3]. يستخدم الطلاب والمهندسون والفيزيائيون والفنيون أنظمة تم تصميمها وإدارتها بواسطة Glance على أساس يومي لمدة 20 عامًا. من أجل إنتاج منتجات عالية الجودة باستمرار، وبالنظر إلى طلبات أصحاب المصلحة الداخليين المتطورة باستمرار، هناك حاجة إلى التوحيد القياسي. كان على اعتماد مثل هذا المعيار أن يأخذ في الاعتبار ليس فقط التطورات المستقبلية ولكن أيضًا الأنظمة القديمة للتجارب الثلاث. تم إنشاء هذه الأنظمة باستخدام إطار داخلي، ومع توسيع نطاقها، أصبح من الصعب صيانتها بسبب افتقار الإطار إلى التوثيق واستخدام التقنيات التي أصبحت قديمة. ويعني ترحيلهم إلى بنية جديدة تسريع عملية التطوير، وتجنب إعادة العمل ودمج أنظمة سيرن على نطاق واسع. نظرًا لأن الكثير من الوظائف الأساسية للأنظمة تتم مشاركتها فيما بينها، سواء على الواجهة الأمامية أو الخلفية، كان على البنية ضمان النمطية وقابلية إعادة الاستخدام. في هذه البنية، يتم اتباع المبادئ الكامنة وراء العمارة السداسية ويتم تقسيم قاعدة التعليمات البرمجية للأنظمة إلى تطبيقين: عميل جافا سكريبت وخادم الواجهة الخلفية للراحة. تم اختيار إطار العمل مفتوح المصدر Vue.js للواجهة الأمامية. جعلها تنوعها وسهولة التعامل معها ووثائقها الموسعة الأداة المثالية لإنشاء مكونات يعاد استخدامها في جميع تطبيقات Glance. تستخدم الواجهة الخلفية مكتبات PHP التي أنشأها الفريق لفضح المعلومات من خلال واجهات برمجة تطبيقات REST داخليًا، مما يتيح تكاملًا أسهل بين الأنظمة، وخارجيًا، ويقدم للمستخدمين خارج معلومات النظرة الخاطفة التي يديرها الفريق.Translated Description (French)
Le projet Glance est responsable de plus de 20 systèmes répartis sur trois expériences du CERN : ALICE [1], ATLAS [2] et LHCb [3]. Étudiants, ingénieurs, physiciens et techniciens utilisent des systèmes conçus et gérés quotidiennement par Glance depuis 20 ans. Afin de produire des produits de qualité en permanence, compte tenu des demandes en constante évolution des parties prenantes internes, il est nécessaire de normaliser. L'adoption d'une telle norme devait tenir compte non seulement des développements futurs, mais aussi des systèmes hérités des trois expériences. Ces systèmes ont été créés à l'aide d'un cadre construit en interne et, à mesure qu'ils évoluaient, ils sont devenus difficiles à maintenir en raison du manque de documentation du cadre et de l'utilisation de technologies qui devenaient obsolètes. Les migrer vers une nouvelle architecture signifierait accélérer le processus de développement, éviter de retravailler et intégrer largement les systèmes du CERN. Comme une grande partie des fonctionnalités de base des systèmes sont partagées entre eux, à la fois sur le frontend et sur le backend, l'architecture devait assurer modularité et réutilisabilité. Dans cette architecture, les principes de l'architecture hexagonale sont suivis et la base de code des systèmes est divisée en deux applications : un client JavaScript et un serveur backend REST. Le framework open-source Vue.js a été choisi pour le frontend. Sa polyvalence, son accessibilité et sa documentation étendue en ont fait l'outil idéal pour créer des composants qui sont réutilisés dans toutes les applications Glance. Le backend utilise des bibliothèques PHP créées par l'équipe pour exposer les informations via des API REST à la fois en interne, permettant une intégration plus facile entre les systèmes, et en externe, présentant aux utilisateurs extérieurs aux informations de Glance gérées par l'équipe.Translated Description (Spanish)
El proyecto Glance es responsable de más de 20 sistemas en tres experimentos del CERN: ALICE [1], ATLAS [2] y LHCb [3]. Estudiantes, ingenieros, físicos y técnicos han estado utilizando sistemas diseñados y administrados por Glance diariamente durante 20 años. Para producir productos de calidad continuamente, teniendo en cuenta las solicitudes en constante evolución de las partes interesadas internas, existe la necesidad de estandarización. La adopción de dicha norma tuvo que tener en cuenta no solo los desarrollos futuros, sino también los sistemas heredados de los tres experimentos. Estos sistemas se crearon utilizando un marco construido internamente y, a medida que se ampliaban, se hicieron difíciles de mantener debido a la falta de documentación del marco y al uso de tecnologías que se estaban volviendo obsoletas. Migrarlos a una nueva arquitectura significaría acelerar el proceso de desarrollo, evitar retrabajos e integrar ampliamente los sistemas del CERN. Dado que muchas de las funcionalidades centrales de los sistemas se comparten entre ellos, tanto en el frontend como en el backend, la arquitectura tenía que asegurar la modularidad y la reutilización. En esta arquitectura, se siguen los principios detrás de la Arquitectura Hexagonal y la base de código de los sistemas se divide en dos aplicaciones: un cliente JavaScript y un servidor backend REST. Se eligió el marco de código abierto Vue.js para el frontend. Su versatilidad, accesibilidad y documentación extendida lo convirtieron en la herramienta ideal para crear componentes que se reutilizan en todas las aplicaciones de Glance. El backend utiliza bibliotecas PHP creadas por el equipo para exponer información a través de API REST tanto internamente, lo que permite una integración más fácil entre los sistemas, como externamente, introduciendo a los usuarios fuera de Glance información administrada por el equipo.Files
epjconf_chep2024_05021.pdf.pdf
Files
(24 Bytes)
| Name | Size | Download all |
|---|---|---|
|
md5:7624dcbc096921e31a1da610e19a546e
|
24 Bytes | Preview Download |
Additional details
Additional titles
- Translated title (Arabic)
- الانتقال إلى بنية موحدة لتطوير الأنظمة في مشروع اللمحة العامة
- Translated title (French)
- La migration vers une architecture standardisée pour le développement de systèmes sur le projet Glance
- Translated title (Spanish)
- La migración a una arquitectura estandarizada para el desarrollo de sistemas en el proyecto Glance
Identifiers
- Other
- https://openalex.org/W4396681758
- DOI
- 10.1051/epjconf/202429505021