Dettaglio insegnamento

PROGETTAZIONE E IMPLEMENTAZIONE DI SISTEMI SOFTWARE IN RETE

MF0243

Insegnamento
PROGETTAZIONE E IMPLEMENTAZIONE DI SISTEMI SOFTWARE IN RETE
Codice
MF0243
Anno Accademico
2023/2024
Anno regolamento
2021/2022
Corso di studio
INFORMATICA
Curriculum
000 - CORSO GENERICO
Responsabile didattico
-
CFU
9
Ore di lezione
72
Settore Scientifico Disciplinare (SSD)
INF/01 - INFORMATICA
Tipo di insegnamento
Attività formativa monodisciplinare
Fruizione insegnamento
OBB - Obbligatoria
Anno
3
Periodo
Annuale
Sede
ALESSANDRIA
Lingua insegnamento
Italiano
Contenuti
- Architettura delle reti informatiche locali. - Architettura e progettazione delle applicazione di rete di tipo Event-Driven. - Fog-computing. Internet of Things - Sviluppo in laboratorio di una applicazione di rete Event-Driven.
Testi di riferimento
Autori: James F. Kurose, Keith W. Ross Titolo: RETI DI CALCOLATORI E INTERNET - Un approccio top-down Casa editrice: Addison Wesley (2005), ISBN 88-7192-225-5. Autori Chris Richardson Titolo: MICROSERVICES PATTERS, wth examples in Java. Casa editrice: Manning, Shelter Island.
Obiettivi formativi
Insegnare agli studenti a progettare un'applicazione di rete concepita secondo i moderni cirteri di progettazione: API-rest, micro-servizi, architettura event-driven.
Prerequisiti
Lo studente deve avere acquisito le nozioni base relative alle reti informatiche (corso di Reti -I), la progettazione del software (Ingegneria del Software e Programmazione ad oggetti) e della programmazione WEB.
Metodi didattici
l corso si avvale di: - Lezioni frontali (per un totale di 48 ore). - Fasi di lavoro guidato in laboratorio (per un totale di 24 ore). - Fasi di lavoro individuali
Modalità di verifica dell'apprendimento
La verifica dell'apprendimento di conoscenze e competenze si articola in due fasi:
- Un esame scritto sulla parte del programma di teoria con domande ed esercizi.
- Dimostrazione del funzionamento del progetto sviluppato con colloquio di gruppo che include la verifica delle competenze acquisite a livello individuale.
Il voto finale viene tiene conto del risultato raggiunto in ciascuna fase di verifica. E’ necessario raggiungere la sufficienza su entrambi gli aspetti: teoria e progetto.
Programma esteso
Il programma si ariticola in due moduli corredati di una fase di sviluppo guidato in laboratorio. Modulo 1: Datalink, Ethernet, ARP, switch. Introduzione alle reti wireless: trasmissione dei segnali via radio, wi-fi, bluetooth, ... Trasmissione multimediale su rete Internet. Applicazioni distribuite: comunicazione attraverso reti private e pubbliche. Message brokers. Mosquitto, RabbitMQ. API Rest: principi generali, scoperta degli URI, gestione delle versioni. Sicurezza e autenticazione: a. Autenticazione e sicurezza in Mosquitto. b. Autenticazione e sicurezza in RabbitMQ. OAuth 2.0: autenticazione, token, utilizzo del token. Modulo 2: Architetture a Microservices: server stateless. approccio RPC, approccio Event-driven. Architetture IoT+Microservices. Tecniche di progettazione: a. Domain driven Design, b. Event Sourcing Design. Accesso ai Servizi tramite Gateway REST. Laboratorio: Illustrazione progetti. Progettazione di Un gateway. Progettazione di un microservizio (DDD). Laboratorio: sviluppo di una applicazione distribuita seguendo lo schema proposto negli esempi forniti dal docente.
Risultati di apprendimento attesi
Ci si attende che lo studente acquisisca la capacità di progettare e realizzare una applicazione di rete Event-Driven distribuita.
Ultimo aggiornamento:09-09-2026 00:14:31