Hitachi Operational Control Center: una proposta di sviluppo microfrontend
View/ Open
Author
Patrone, Paolo <1999>
Date
2023-10-04Data available
2023-10-12Abstract
L'evoluzione dalle applicazioni software monolitiche a quelle basate su microservizi e microfrontend rappresenta un significativo cambio di paradigma nella definizione delle architetture software e nelle metodologie di sviluppo. Questa evoluzione è stata guidata dalla necessità di realizzare sistemi più scalabili, flessibili, manutenibili e in grado di adattarsi al rapido cambiamento delle applicazioni e delle aziende.
Lo sviluppo basato su microfrontend estende i microservizi all’interfaccia delle applicazioni. Invece di realizzare un frontend monolitico, l’interfaccia viene scomposta in moduli (anche detti micro-app) che possono essere distribuiti in modo indipendente. Ogni micro-app è responsabile di una parte specifica dell'interfaccia utente e può utilizzare il proprio stack tecnologico.
Questa tesi magistrale introduce diversi framework per lo sviluppo microfronted (Bit, Single-SPA e QianKun) discutendone le caratteristiche principali. Dopo l'analisi dei framework e la definizione delle priorità dei requisiti funzionali, è stato selezionato il framework Single-SPA per lo sviluppo di un Proof-of-Concept dell'Operational Control Center di Hitachi.
Il documento discute i vantaggi della scelta dell'approccio microfronted e descrive alcune micro-app e la loro integrazione utilizzando un orchestratore. Il frontend del Proof-of-Concept è modulare e le sue pagine possono essere composte integrando in un layout scelto dallo sviluppatore le micro-app in catalogo. Questo lavoro fa parte di un progetto più ampio che include anche la visualizzazione su diversi schermi e il mirroring delle interazioni dell'utente su una mappa digitale delle linee ferroviarie.
Trattandosi di un progetto di grandi dimensioni, riteniamo che la suddivisione in micro-app per l'implementazione delle diverse funzionalità sia una strategia vincente che consente ai diversi team di concentrarsi sul proprio lavoro, integrandosi solo al termine dello sviluppo dei singoli moduli. The evolution from monolithic applications to microservices and microfrontend development has been a significant paradigm shift in software architecture and development methodologies. This evolution has been driven by the need for more scalable, flexible, and maintainable systems that can adapt to the rapidly changing demands of modern applications and businesses.
Microfrontend development is an extension of the microservices approach to the frontend of applications. Instead of a monolithic frontend, a microfrontend architecture involves breaking down the user interface into smaller, independently deployable modules, also called micro-apps. Each micro-app is responsible for a specific part of the user interface and can use its own technology stack.
In this Master’s thesis we introduce different frameworks for microfronted development, namely Bit, Single-SPA, and QianKun, discussing their main features. After the analysis of the frameworks and the prioritisation of the functional requirements, we selected Single-SPA as the most suitable framework for the development of a Proof-of-Concept of the Hitachi Operational Control Center.
This document discusses the advantages of choosing the microfronted approach and describes some micro-apps, developed in React, and their integration using an application orchestrator. The frontend of the Proof-of-Concept is modular and its pages can be composed by integrating the available micro-apps and choosing one among different layouts. This work is part of a larger project which includes also the visualisation on different screens and the mirroring of user interactions on a railway lines digital map.
Being this a large project, we think that the subdivision into micro-apps for the implementation of different tasks is a winning strategy which allows different teams to concentrate on their own job, and integrating only at the end of the individual modules development.
Type
info:eu-repo/semantics/masterThesisCollections
- Laurea Magistrale [4822]