Riassunto analitico
Il presente lavoro è frutto di un tirocinio, durato sei mesi, svolto presso l’azienda System Logistics s.p.a. con sede in Fiorano Modenese. L’azienda progetta e sviluppa impianti automatici di intralogistica gestiti tramite il software Systore, che viene personalizzato per ogni impianto in base alle esigenze del cliente. Obiettivo del tirocinio, svolto presso il reparto CSW (Customization SoftWare), è stato l'implementazione del layer di import/export del software Systore per la commessa chiamata Nestlé-DALLAS. Oggetto del tirocinio è stata la progettazione, l'implementazione e il testing di una web API RESTful e di un sistema di autenticazione e autorizzazione (A&A) che ne regolasse gli accessi secondo quanto previsto dal protocollo OAuth 2.0. Allo stesso tempo, per l’implementazione del componente software, mi è stato chiesto di valutare i più recenti framework di sviluppo .NET con il fine di rifattorizzare o sostituire la versione del layer di import/export presente nella codebase di Systore. Questa rifattorizzazione si inserisce in un progetto interno a lungo termine approvato di recente dal management aziendale che mira a modernizzare le tecnologie e l’architettura del software Systore in modo che l’azienda possa restare competitiva sul mercato e al passo con i tempi. L’attività di tirocinio è stata portata avanti come segue: • Studio del software aziendale Systore e del protocollo OAuth 2.0; • Comprensione delle necessità del cliente e risoluzione dei problemi legati alle incompletezze della specifica dei requisiti software; • Valutazione delle varie soluzioni tecnologiche allo stato dell’arte per implementare il sistema di A&A e la web API RESTful; • Individuazione dei punti di debolezza del layer di import/export presente nella codebase di Systore con il file di apportare dei miglioramenti nella nuova versione; • Progettazione e implementazione sia della web API RESTful che del sistema di autenticazione e autorizzazione; • Implementazione di test automatici funzionali finalizzati allo unit-testing con relativa risoluzione dei problemi riscontrati; • Testing end-to-end con i team di sviluppo del committente e risoluzione dei problemi relativi all’invalidità dei certificati digitali SSL/TLS;
L’elaborato è stato strutturato come segue: Nel capitolo 1 verrà presentata l’azienda System Logistics s.p.a e illustrato Systore, il software di gestione del magazzino realizzato dalla stessa. Verrà posta particolare attenzione sul layer software di import-export, su cui si è concentrato il mio lavoro. Nel capitolo 2 verrà esposto in modo approfondito il protocollo OAuth 2.0, che è stato necessario studiare e trattare allo scopo di implementare il layer di import-export. Nel capitolo 3 verrà presentato il caso di studio “Nestlé-DALLAS”, individuando gli obiettivi e discutendo le criticità riscontrate. Nel capitolo 4 sarà descritto lo stato dell’arte per l’implementazione di un sistema di A&A e di una web API con il framework .NET. In particolare, verranno esposte le varie tecnologie e soluzioni tenute in considerazione nello sviluppo del layer di import-export. Nel capitolo 5 saranno giustificate sia le scelte relative alle tecnologie impiegate, sia le scelte progettuali relative all’implementazione del sistema di A&A e della web API. Nel capitolo 6 verrà descritta l’implementazione delle due applicazioni facendo riferimento a del pseudo-codice. Nel capitolo 7, l’ultimo, sarà presentata l’intera fase di testing. Nello specifico, verranno presentati i test automatici implementati con due tecniche di black-box testing e verrà descritto come sono stati gestiti i vari problemi riscontrati durante i test.
|