SISTEMI ORIENTATI AD INTERNET
cod. 18305

Anno accademico 2023/24
2° anno di corso - Primo semestre
Docente
- Paola POMI
Settore scientifico disciplinare
Sistemi di elaborazione delle informazioni (ING-INF/05)
Field
Ingegneria informatica
Tipologia attività formativa
Caratterizzante
48 ore
di attività frontali
6 crediti
sede: PARMA
insegnamento
in ITALIANO

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/