Sviluppo di un generatore di codice per librerie ORM SQL basato su schemi GraphQL

Perazzini, Ivan (2021) Sviluppo di un generatore di codice per librerie ORM SQL basato su schemi GraphQL. [Laurea], Università di Bologna, Corso di Studio in Ingegneria e scienze informatiche [L-DM270] - Cesena
Documenti full-text disponibili:
[img] Documento PDF (Thesis)
Disponibile con Licenza: Creative Commons: Attribuzione - Non commerciale - Condividi allo stesso modo 4.0 (CC BY-NC-SA 4.0)

Download (796kB)

Abstract

Gli ultimi anni hanno visto una maturazione dello standard GraphQL e la sua adozione da parte di numerose aziende. Caratteristica fondamentale di GraphQL è la possibilità di definire uno schema che permette di modellare il formato delle query esposte e quello delle entità sulle quali operare con esse, di modo che il client possa effettuare richieste personalizzate ad un singolo endpoint ricevendo in risposta dati già tipizzati. Le entità sono definite da campi tipizzati e relazioni con altre entità, la struttura del dominio delle interrogazioni gestibili dal server è strutturata come un grafo. Le possibilità offerte dallo standard però non si limitano alla comunicazione fra client e server: essendo i campi delle entità tipizzati, ed avendo lo standard un concetto di introspection, è possibile usare schemi GraphQL anche per definire lo strato del model. Questa possibilità rende lo standard adatto per lo sviluppo Model Driven, potendo generare in modo automatizzato il codice applicativo che si occuperà di interfacciarsi con le strutture definite nello schema GraphQL. Twinlogix S.r.l, azienda di Santarcangelo di Romagna, ha seguito con interesse la maturazione dello standard GraphQL e in questo momento sta ponendo fra gli obiettivi interni il passaggio completo da API Rest a GraphQL e quello di aggiornare le tecnologie di generazione di codice sviluppate in passato. Prestandosi facilmente alla descrizione di modelli da generare automaticamente, GraphQL risulta anche un ottimo strumento per la scrittura del nuovo generatore di codice. Twinlogix ha quindi deciso di sfruttare questa potenzialità per realizzare un generatore di codice che, basandosi sullo schema, costruisca definizioni di modelli per database e oggeti DAO per gestire le modifiche su questi. Lo scopo di questa tesi è quello di potenziare gli strumenti di generazione del codice in modo che possano generare anche modelli e DAO per database SQL.

Abstract
Tipologia del documento
Tesi di laurea (Laurea)
Autore della tesi
Perazzini, Ivan
Relatore della tesi
Scuola
Corso di studio
Ordinamento Cds
DM270
Parole chiave
GraphQL,ORM,Sequelize,TypeScript,Model Driven Programming
Data di discussione della Tesi
26 Marzo 2021
URI

Altri metadati

Statistica sui download

Gestione del documento: Visualizza il documento

^