Obiettivi formativi
La finalità del corso è quella di definire e caratterizzare i sistemi orientati ad Internet nonché comprendere alcune dinamiche sui soft skills necessari al lavoro di sviluppo SW. Lo studente acquisirà le competenze per:
- sviluppare applicazioni Web interattive
- progettare e realizzare microservizi
- gestire le applicazioni in un environment isolato attraverso l'utilizzo dei container
- muoversi nell'ecosistema dei servizi di base e avanzato offerti dal mondo cloud
- muoversi nelle dinamiche di gruppo
- comunicazione, capacità di ascolto e raccolta feedback
Prerequisiti
- - -
Contenuti dell'insegnamento
Nell’affrontare i singoli argomenti del corso sono trattati i principi di funzionamento per lo sviluppo di applicazioni gestionali in ambito internet, con lo scopo di avere una ampia conoscenza di base di come si compone l’architettura di un Sistema Orientato ad Internet (SOI):
principi di sviluppo di moderne web app
deployment in container
sistemi cloud
architettura e governance delle applicazioni in cloud
low code – no code come complementi applicativi
l’analisi dei dati
I soft skills necessari allo sviluppo
Programma esteso
1. Principi di sviluppo di moderne web app
a. Protocolli internet
TCP/IP
http/https
SSL – certificati
b. Microservice
REST
JSON
SOAP
XML
Sicurezza
c. Tecnologie Web di base:
HTML
CSS
AJAX
WebSocket
Proxy e Reverse proxy
d. Javascript
Basi del linguaggio
Functional programming
Reactive programming
e. Single page application
Routing
Client side rendering
f. Progressive web app
g. Tools di sviluppo
2. Deployment in container
a. Immagini e registry
b. Isolamento e virtualizzazione
c. Scaling
d. Load balancing
e. Health check
f. Orchestrazione
3. Sistemi cloud
a. Identity access management
b. Virtual private network
c. DNS server
d. Virtual machine
e. Esempio AWS
f. Esempi altri provider
4. Architettura e governance delle applicazioni in cloud
a. Container images registry
b. Container cluster
c. Logs e Monitoring
d. Marketplace
e. Modello di business (economics)
5. low code – no code come complementi applicativi
a. I linguaggi low code no code
b. Esempi applicativi
c. La struttura e le logiche comuni
6. l’analisi dei dati
a. I sistemi di BI tradizionali e di nuova generazione
b. Il data discovery
c. Sistemi cloud di analisi del dato
7. I soft skills necessari allo sviluppo
a. La comunicazione e i suoi componenti
i. L’ascolto
ii. Il trasferimento del messaggio
iii. Il feedback
b. Il team working
c. La leadership
Bibliografia
Jim Kurose, Keith Ross
Computer Networking: A Top Down Approach
8th Edition, Pearson, 2020
Barry Pollard
HTTP2 In Action
Manning, 2019
Jennifer Robbins
Learning Web Design: A Beginner's Guide to HTML, CSS, JavaScript, and Web Graphics
5th Edition, O’Reilly Media, 2018
Waseem Roshen
SOA-Based Enterprise Integration: A Step-by-Step Guide to Services-based Application
McGraw-Hill Education, 2009
Larry L. Peterson, Bruce S. Davie
Computer Networks, A system Approach
5th Edition, Morgan Kaufmann 2012
Metodi didattici
Le lezioni saranno condotte in presenzia nelle aule assegnate al corso, e il materiale didattico, comprensivo di slide e compiti, verrà reso disponibile sulla pagina del corso su Elly. Durante le sessioni di insegnamento, ci sarà un'alternanza tra spiegazioni e interazioni con gli studenti durante le attività di laboratorio.
Modalità verifica apprendimento
Sono previste prove in itinere:
- prove pratico/tecniche che permetteranno agli studenti di verificare la comprensione degli sviluppi web del corso con la costruzione di un'applicazione orientata ad Internet,
- prova orale con attività DI GRUPPO e presentazione della costruzione di un contenuto che rispetti le regole di comunicazione spiegate nel corso.
Per tutti gli studenti che NON parteciperanno alle prove in itinere è previsto:
- lo svolgimento di una progetto legato agli argomenti del corso che comporterà lo sviluppo di un'applicazione orientata ad Internet e la stesura di una relazione in formato PDF che illustri la soluzione implementata.
- la creazione e presentazione di un elaborato per la prova orale (NON DI GRUPPO) e la prova orale dei contenuti estesi del corso
E' prevista una prova orale di verifica in merito agli argomenti del corso.
Altre informazioni
Il materiale didattico e di supporto alle lezioni è disponibile sul sito
https://elly2023.dia.unipr.it/
Obiettivi agenda 2030 per lo sviluppo sostenibile
- - -