polito.it
Politecnico di Torino (logo)

Estendibilità e testabilità di una piattaforma per la gestione di una supply chain = Extensibility and testability of a supply chain management platform

Riccardo Tedesco

Estendibilità e testabilità di una piattaforma per la gestione di una supply chain = Extensibility and testability of a supply chain management platform.

Rel. Giovanni Malnati, Fabio Forno. Politecnico di Torino, Corso di laurea magistrale in Ingegneria Informatica (Computer Engineering), 2022

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

Download (2MB) | Preview
Abstract:

Una catena di distribuzione (supply chain) è quel processo che permette di portare sul mercato un prodotto o un servizio. Tale processo, che coinvolge una moltitudine di persone, attività, informazioni e risorse, costituisce un’attività molto complessa che richiede, fra le altre cose, servizi di trasparenza e tracciabilità a livello di filiera produttiva. Con tali finalità è stata, quindi, realizzata iChain, una piattaforma basata sugli standard GS1, in particolare lo standard EPCIS che consente di rappresentare qualsiasi evento riguardante un flusso produttivo. Lo scopo di questa tesi è quello di estendere e testare la piattaforma iChain, una piattaforma che funziona in streaming, che ha uno stato complesso e distribuito e che utilizza diversi stream processors per effettuare analisi ed elaborazioni sugli eventi EPCIS. È stato perciò realizzato un ambiente di test in cui poter eseguire, anche in parallelo, una serie di test volti a verificare l’effettivo funzionamento della piattaforma, consentendo così di generare eventi EPCIS di prova o di replicare insiemi selezionati di eventi EPCIS, il tutto in modo isolato e temporaneo al fine di non corrompere, in alcun modo, né i dati non di prova memorizzati sui database della piattaforma medesima né lo stato degli stream processors. A tale scopo, l’architettura iniziale di iChain - costituita da MongoDB, Kafka e Faust (una libreria python per lo stream processing) - è stata integrata con un nuovo elemento: Debezium, grazie al quale è stato possibile ottenere un ambiente di test in cui eseguire in modo idempotente dei test, ciascuno dei quali contraddistinto da un particolare prefisso allo scopo di identificare univocamente la configurazione di test da usare (i.e. i nomi delle collezioni MongoDB, dei kafka topics e dei connectors). Avere un ambiente di test con le caratteristiche di cui sopra è importante al fine di poter introdurre, in modo incrementale, nuove tipologie di eventi ed estensioni. In questa tesi, sfruttando l’ambiente di test realizzato, si è infatti provveduto anche a migliorare la piattaforma iChain affinché fosse in grado di gestire sia un nuovo tipo di evento EPCIS, l’Association Event (che è stato definito a partire dalla versione 2.0 dello standard EPCIS), sia le estensioni di eventi EPCIS che permettono di rappresentare, in un evento EPCIS, anche degli attributi non direttamente codificati dallo standard EPCIS ma comunque necessari per un dato contesto di business. Come ultima cosa, in questa tesi è stato migliorato il meccanismo, fornito da iChain, delle regole di inoltro, attraverso cui le aziende registrate sulla piattaforma possono specificare quali dati trasmettere a terzi e a chi. Al meccanismo preesistente sono state apportate due importanti modifiche: come prima cosa, è stato introdotto il concetto di richiesta di collaborazione (partnership request) che impedisce a un’azienda di inoltrare i propri dati a terzi, sempre mediante regole di inoltro, senza che sia stata prima stabilita una reale collaborazione tra le parti interessate; come seconda cosa, è stata creata la figura di utente con privilegi di super amministratore, vale a dire un utente autorizzato a leggere i dati memorizzati sulla piattaforma senza la necessità che gli vengano inoltrati espressamente, ottenendo in tal modo un significativo risparmio di spazio sui database. Tale utente aiuta anche ad automatizzare la gestione dei test.

Relators: Giovanni Malnati, Fabio Forno
Academic year: 2021/22
Publication type: Electronic
Number of Pages: 93
Subjects:
Corso di laurea: Corso di laurea magistrale in Ingegneria Informatica (Computer Engineering)
Classe di laurea: New organization > Master science > LM-32 - COMPUTER SYSTEMS ENGINEERING
Aziende collaboratrici: FONDAZIONE LINKS
URI: http://webthesis.biblio.polito.it/id/eprint/22760
Modify record (reserved for operators) Modify record (reserved for operators)