I SISTEMI DIGITALI COMPLESSI


Questo percorso di formazione “on the job” è progettato per fornire ai partecipanti le competenze teoriche ma soprattutto pratiche necessarie per progettare, sviluppare e gestire sistemi digitali moderni, con un focus specifico su applicazioni Android in grado di comunicare in modo sicuro con piattaforme cloud.

Durante il training, i partecipanti impareranno a:

gestire protocolli di comunicazione e architetture di rete sicure,

sviluppare API REST e WebSocket per l’interazione tra app e server

integrare protocolli IoT come MQTT, Modbus e Connex

utilizzare database relazionali come MySQL e MariaDB per la gestione dei dati

progettare interfacce utente moderne e responsive

sfruttare l’intelligenza artificiale generativa (LLM) per ottimizzare i processi di sviluppo e prototipazione.

DURATA DEL CORSO: 20/20h
METODOLOGIA/E: Aula in presenza / Aula virtuale
CALENDARIO CORSI Finanziati (Codice inseribile nel campo "Cerca il corso": SIST-COMPL)
CALENDARIO CORSI a pagamento (Codice inseribile nel campo "Cerca il corso": SIST-COMPL)
DATI ORGANIZZATIVI:
Il setting formativo per questa formazione on the job prevede che i dipendenti utilizzino le proprie postazioni PC, un aspetto indispensabile poich è i programmi e i sistemi IT necessari sono già installati e configurati sui loro computer. Questo permette ai partecipanti di lavorare direttamente con gli strumenti che utilizzano quotidianamente, garantendo un apprendimento pratico e immediatamente applicabile. I corsisti svolgeranno la formazione all'interno del loro ambiente di lavoro abituale, condividendo l'ufficio con altri colleghi che non parteciperanno al corso e non saranno registrati come uditori. Questi colleghi continueranno a svolgere le loro normali attività senza interferire con la formazione, assicurando un contesto tranquillo e adeguato per l'apprendimento.

CONTENUTI:

Introduzione a Sistemi Digitali Distribuiti e App Android
Teoria
- Architettura client-server e sistemi distribuiti
- Panoramica su Android Studio, SDK, emulatori
- Ciclo di vita di un'app
Laboratorio
- Installazione ambiente Android
- Creazione di una app Android base (“Hello Secure World”)
Comunicazione Internet: API REST, HTTPS, WebSocket
Teoria
- RESTful API: metodi HTTP, JSON
- HTTPS e TLS
- WebSocket: differenze e casi d’uso
- Librerie Android: Retrofit, Volley
Laboratorio
- Connessione a endpoint sicuri (Firebase, mock API)
- Visualizzazione dati da API
Sicurezza e Protocolli IoT: Autenticazione, Crittografia, MQTT, Modbus, Connex
Teoria
- HTTPS, TLS, certificati
- OAuth2 e JWT
- Crittografia: AES, RSA, Keystore Android
- Protocolli IoT: MQTT, Modbus RTU/TCP, KNX/Connex
- Integrazione con sensori e sistemi esterni

Laboratorio
- Login utente con Firebase Auth o Auth0
- Lettura da broker MQTT (es. Mosquitto)
- Simulazione scambio dati con dispositivi Modbus

Backend, Database e Architetture Cloud
Teoria
- Introduzione a uno dei seguenti sistemi di backend
- Database relazionali: MySQL, MariaDB
- Logging, monitoraggio, strumenti

Laboratorio
- Backend cloud
- Connessione database remoto e interfacciamento API
- Inserimento e lettura dati
Front-end, AI Generativa, Test e Best Practice
Teoria
- Costruzione di interfacce front-end: Flutter o simili, HTML5 o Android XML
- Introduzione agli LLM (ChatGPT, GitHub Copilot) per generazione codice
- Testing automatico e manuale
- Basi su deployment su Google Play
- Sicurezza applicativa (OWASP Mobile)

Laboratorio finale
- Progetto: sistema completo Android + backend + dashboard frontend
- Utilizzo LLM per scrivere porzioni di codice (form, validazioni, UI)
- Discussione finale dei progetti


COMPETENZE:

Al termine del corso il partecipante: - Sa organizzare dati e informazioni in un ambiente strutturato (Attività presente in Atlante del lavoro e delle Qualificazioni, Agg.04/02/2025 - ADA.QE.01.01, Quadro Europeo DigComp 2.1- Ricerca e
gestione di informazioni, dati e contenuti digitali)
Micro competenze:
- Sa Lavorare le informazioni, i dati ed i contenuti per facilitarne l'organizzazione, l'archiviazione ed il recupero
- Organizzare in modo autonomo ed in base ai propri
fabbisogni le informazioni, i dati ed i contenuti in un ambiente strutturato