This work describes the development and experimentation of a prototype for database synchronization between a central server and multiple clients in scenarios characterized by intermittent connectivity. The case study, carried out during the internship at Terya S.p.A., concerns the integration of the prototype with the company database and with the main application used in the Retail and GDO sectors. The work highlights how constraints imposed by legacy systems and previous technical decisions influence design choices and the integration strategy. The objectives of the thesis are: to describe the company context and the problem addressed; to illustrate the technologies considered and the solution implemented; to document the system architecture and the test environment; to analyze the critical issues that emerged and evaluate the results. The solution was implemented using .NET/C# technologies and the Dotmim.Sync library, developed and tested in a laboratory environment based on Docker containers. The development and version control tools used include Visual Studio (Code/2022), SQL Server Management Studio (SSMS), Git and GitHub. The tests carried out show that modern synchronization tools can be adapted to manage legacy databases lacking modern design conventions and best practices, ensuring fast synchronizations in real-world contexts. The thesis concludes with the list of developments that the company intends to undertake to integrate the prototype into the company application suite, followed by a critical and retrospective reflection on the work performed.
Questo lavoro descrive lo sviluppo e la sperimentazione di un prototipo per la sincronizzazione di database tra un server centrale e più client in scenari caratterizzati da connettività intermittente. Il caso di studio, svolto durante il tirocinio presso Terya S.p.A., riguarda l’integrazione del prototipo con il database aziendale e con l’applicativo principale utilizzato nei settori Retail e GDO. Il lavoro mette in evidenza come vincoli imposti da sistemi legacy e decisioni tecniche pregresse influenzino le scelte progettuali e la strategia di integrazione. Gli obiettivi della tesi sono: descrivere il contesto aziendale e il problema affrontato; illustrare le tecnologie considerate e la soluzione implementata; documentare l’architettura del sistema e l’ambiente di test; analizzare le criticità emerse e valutare i risultati. La soluzione è stata realizzata con tecnologie .NET/C# e la libreria Dotmim.Sync, sviluppata e testata in un ambiente di laboratorio basato su container Docker. Gli strumenti di sviluppo e controllo versione utilizzati includono Visual Studio (Code/2022), SQL Server Management Studio (SSMS), Git e GitHub. I test svolti mostrano che strumenti moderni di sincronizzazione possono essere adattati per gestire database legacy privi di convenzioni progettuali moderne e best practice, garantendo sincronizzazioni veloci in contesti reali. La tesi si conclude con l’elenco degli sviluppi che l’azienda intende intraprendere per integrare il prototipo nel pacchetto applicativo aziendale, seguito da una riflessione critica e retrospettiva sull’attività svolta.
Prototipo per la sincronizzazione di database in scenari multi-client con .NET e Dotmim.Sync
PARISE, LUCA
2024/2025
Abstract
This work describes the development and experimentation of a prototype for database synchronization between a central server and multiple clients in scenarios characterized by intermittent connectivity. The case study, carried out during the internship at Terya S.p.A., concerns the integration of the prototype with the company database and with the main application used in the Retail and GDO sectors. The work highlights how constraints imposed by legacy systems and previous technical decisions influence design choices and the integration strategy. The objectives of the thesis are: to describe the company context and the problem addressed; to illustrate the technologies considered and the solution implemented; to document the system architecture and the test environment; to analyze the critical issues that emerged and evaluate the results. The solution was implemented using .NET/C# technologies and the Dotmim.Sync library, developed and tested in a laboratory environment based on Docker containers. The development and version control tools used include Visual Studio (Code/2022), SQL Server Management Studio (SSMS), Git and GitHub. The tests carried out show that modern synchronization tools can be adapted to manage legacy databases lacking modern design conventions and best practices, ensuring fast synchronizations in real-world contexts. The thesis concludes with the list of developments that the company intends to undertake to integrate the prototype into the company application suite, followed by a critical and retrospective reflection on the work performed.| File | Dimensione | Formato | |
|---|---|---|---|
|
Parise_Luca.pdf
Accesso riservato
Dimensione
3.68 MB
Formato
Adobe PDF
|
3.68 MB | Adobe PDF |
The text of this website © Università degli studi di Padova. Full Text are published under a non-exclusive license. Metadata are under a CC0 License
https://hdl.handle.net/20.500.12608/102066