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.