System Integration
Descrizione
Il corso fornisce le conoscenze per costruire applicazioni che consentano di far dialogare software e dispositivi, con l’obiettivo di incrementare le opportunità di acquisizione di informazioni dal campo anche in contesti dove non sia richiesta l’implementazione di progetti complessi e costosi.
Il corso sarà costituito da una parte teorica ed una pratica. Illustreremo tecniche e strumenti necessari per l’integrazione e manutenzione tra sistemi eterogenei.
Target
Architetti del Software e Back End Developers
Prerequisiti
Basi di programmazione e conoscenza dei principali pattern architetturali
Programma Corso
Modulo 1
- Le tecnologie abilitanti.
 - Piattaforme ICT: client/server, web, mobile, cloud.
 - Integrazione fra sistemi per la centralizzazione del dato.
 - Informazioni strutturate e non strutturate.
 - Metodi per digitalizzare un processo.
 
Modulo 2
- L’interpretazione dei dati: Business Intelligence, Machine Learning, KPI.
 - Dispositivi hardware connessi in rete (IoT).
 - Cenni sul linguaggio SQL e sui database relazionali.
 
Modulo 3
- caratterizzazione di un sistema distribuito, design, obiettivi, tipi di sistemi distribuiti, middleware e sistemi distribuiti.
 - Stili, organizzazione del middleware, organizzazione dei sistemi.
 - RPC, comunicazioni orientate ai messaggi, multicast.
 
Modulo 4
- Sincronizzazione, mutua esclusione, elezione, sistemi di localizzazione, event match distribuito, coordinazione basata su gossip.
 - Coerenza e replicazione: modelli incentrati sui dati e sui clienti, gestione delle repliche, protocolli di coerenza.
 
Modulo 5
- Tolleranza ai guasti: introduzione, resilienza, comunicazioni affidabili, commit distribuito, recupero.
 - Sicurezza:introduzione, canali sicuri, controllo degli accessi, gestione.