Progettazione e sviluppo di un’applicazione web in un ecosistema serverless con gestione di transazioni distribuite tramite Saga Pattern di Matteo Segatori

Progettazione e sviluppo di un’applicazione web in un ecosistema serverless con gestione di transazioni distribuite tramite Saga Pattern

Tipologia:

Diploma di laurea

Anno accademico:

2022/2023

Relatore:
Fabrizio Montecchiani
Facoltà:

Ingegneria

Corso:

Ingegneria Informatica

Cattedra:

università degli studi di perugia

Lingua:
Italiano
Pagine:
156
Formato:
Pdf
Protezione:
DRM Adobe
Dimensione:
4.74 Mb

Descrizione Progettazione e sviluppo di un’applicazione web in un ecosistema serverless con gestione di transazioni distribuite tramite Saga Pattern

Il presente progetto di tesi è stato sviluppato con l’obiettivo di valutare i vantaggi e la complessità di sviluppo di un'applicazione web di e-commerce basata su un’architettura serverless distribuita tramite la piattaforma Amazon, AWS (Amazon Web Services). Il contributo della tesi è quello di implementare una proof of concept di un’applicazione web scalabile, distribuita e ad alta disponibilità, basata su un’architettura serverless FAAS. Per sviluppare un’applicazione in grado di soddisfare questi requisiti di scalabilità su scala geografica è necessario gestire alcuni aspetti particolari come la necessità di utilizzare un database distribuito e quindi di trovare una modellazione dei dati opportuna che consenta di interrogare facilmente i dati in ambiente distribuito e per fare questo si utilizza un pattern chiamato single-table design. Chiaramente la distribuzione dei dati consente una scalabilità orizzontale dell’applicazione però al tempo stesso introduce transazioni distribuite che possono presentare problemi nel rispettare le proprietà ACID. Queste proprietà non sono sempre indispensabili, però in un’applicazione e-commerce ci sono delle operazioni legate agli acquisti che invece devono essere gestite in maniera particolare. Entra in gioco in questo caso il Saga Pattern per la gestione delle transazioni distribuite. Il processo di sviluppo dell’applicazione segue un approccio di tipo query-first, tipico per lo sviluppo di applicazioni distribuite e in cui l’aspetto centrale è comprendere come vengono aggregati i dati per permettere un accesso a questi dati più efficiente possibile in forma distribuita. È presente nel progetto anche un client frontend che implementa una single page application tramite il framework react per creare una interfaccia elegante, flessibili e funzionale per gestire tutte le azioni interattive effettuate dall’utente in maniera veloce e fluida. I servizi aws utilizzate nell'applicazione sono i seguenti: - AWSlambda, - Amazon Dynamodb, - Amazon API Gateway, - Amazon Cognito, - Amazon IAM, - AWS SAM (Serverless Application Model), - AWS Cloudformation, - AWS Stepfunctions.

€ 16.00
Download immediato
servizio Prenota Ritiri su tesi Progettazione e sviluppo di un’applicazione web in un ecosistema serverless con gestione di transazioni distribuite tramite Saga Pattern
Prenota e ritira
Scegli il punto di consegna e ritira quando vuoi

Recensioni degli utenti

e condividi la tua opinione con gli altri utenti