polito.it
Politecnico di Torino (logo)

Exploring Software Architectural Transitions: From Monolithic Applications to Microfrontends enhanced by Webpack library and Cypress Testing

Maria Akl

Exploring Software Architectural Transitions: From Monolithic Applications to Microfrontends enhanced by Webpack library and Cypress Testing.

Rel. Fulvio Corno. Politecnico di Torino, Corso di laurea magistrale in Ingegneria Informatica (Computer Engineering), 2024

[img]
Preview
PDF (Tesi_di_laurea) - Tesi
Licenza: Creative Commons Attribution Non-commercial No Derivatives.

Download (6MB) | Preview
[img] Archive (ZIP) (Documenti_allegati) - Altro
Licenza: Creative Commons Attribution Non-commercial No Derivatives.

Download (6MB)
Abstract:

This thesis delves into the software architecture's dynamic evolution, with a particular focus on the paradigm shift from monolithic applications to the world of microservices and, subsequently, microfrontends. It analyses into the root causes driving the migration away from monolithic architectures, particularly examining the challenges and rewards associated with this transition. This analysis sheds light on the transformative power of microservices in providing agility, scalability, and resilience that are crucial qualities for building successful software in today's dynamic world. Building upon this foundation, the thesis invesitgates the evolution journey from microservices to microfrontends. It explores the strategic advantages of decoupling user interfaces from backend services. This architectural shift empowers independent development, deployment, and scalability that are critical factors in optimizing the modern front-end experience. Notably, the thesis examines the instrumental role played by the Webpack library in facilitating the implementation of microfrontends. Its capabilities in module bundling, code splitting, and dynamic loading are explored in detail, providing valuable insights into this modern technology. Furthermore, the thesis recognizes the importance of testing in the context of microfrontends, discussing the unique challenges and considerations involved in ensuring the quality and reliability of these front-end components. The Cypress testing framework is presented as a powerful tool to confront these challenges, and its functionalities are explored to shed light on effective testing strategies. To solidify these theoretical concepts, the thesis culminates in a comprehensive analysis of a real-world case study. This practical application offers invaluable insights and practical guidance for software architects, developers, and organizations grappling with the complexities of software architecture evolution. By fostering a deeper understanding of the principles and techniques underpinning the transition from monolithic applications to microservices and microfrontends, stakeholders gain the power to leverage these modern architectural paradigms.This helps them to build robust, resilient, and maintainable software systems capable of thriving in the ever-growing demands of the digital age.

Relatori: Fulvio Corno
Anno accademico: 2023/24
Tipo di pubblicazione: Elettronica
Numero di pagine: 76
Soggetti:
Corso di laurea: Corso di laurea magistrale in Ingegneria Informatica (Computer Engineering)
Classe di laurea: Nuovo ordinamento > Laurea magistrale > LM-32 - INGEGNERIA INFORMATICA
Aziende collaboratrici: Wave Informatica srl
URI: http://webthesis.biblio.polito.it/id/eprint/31828
Modifica (riservato agli operatori) Modifica (riservato agli operatori)