SISTEMI ORIENTATI AD INTERNET
cod. 18305

Anno accademico 2022/23
2° anno di corso - Secondo semestre
Docente
- Daniele PORTA
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. In particolare verrà fornita allo studente la capacità di comprendere:
- i principi di funzionamento di Internet
- le principali tecnologie Web
- il linguaggio di programmazione JavaScript
- i principi e le tecnologie delle architetture orientate ai servizi
- i principi della progettazione e sviluppo di applicazioni ai Microservizi
- i principi della sicurezza informatica
- i principi alla base dei containers e della governance di applicazioni in cloud
Lo studente imparerà ad applicare tali 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 basilari offerti dal mondo cloud

Prerequisiti

- - -

Contenuti dell'insegnamento

1. Internet
2. Network e Transport layer
3. Application layer
4. Tecnologie web di base
5. Javascript
6. Web API SOA
7. Microservizi
6. Internet Security
7. Containers e orchestrazione in applicazioni cloud moderne

Programma esteso

1. Internet
- Cos'è Internet?
- Breve storia di internet
- Network edge
- Network core
- Ritardi, perdite, throughput
- Sicurezza
- Protocolli

2. Network e Transport layer
- Network layer:
Introduzione:
data plane e control plane
IP: Internet Protocol
formato datagram
addressing
network address translation
IPv6

- Transport Layer:
servizi del Transport-layer
Multiplexing e demultiplexing
Connectionless transport: UDP
Connection-oriented transport: TCP
Gestione della congestione
TLS Transport Layer Security
3. Application layer:
- DNS
- HTTP
- WS
- HTTP2
- HTTPS
- Proxy
- Reverse Proxy
- Virtual Hosting
- SSL-Offloading
- WAF

4. Tecnologie Web di base:
- HTML
- CSS
- JSON
- AJAX

5. Javascript
- Basi del linguaggio
- Asynchronocità
- Callback
- Javascript e il Web


6. Web API SOA:
- Paradigmi di comunicazione
- SOA
- XML
- SOAP

7. Internet Security:
- Le basi
- OWASP Top 10
- Tipi più comuni di attacco
- Threat modeling

8. Containers e orchestrazioni in modern cloud applications:
- Container
- Orchestrazione
- Auto scaling
- Load balancing
- Auto discovery
- Performance
- Readiness
- Web services liveness

Bibliografia

Jim Kurose, Keith Ross
Computer Networking: A Top Down Approach
8th Edition, Pearson, 2020

Larry L. Peterson, Bruce S. Davie
Computer Networks, A system Approach
5th Edition, Morgan Kaufmann 2012

David Gourley and Brian Totty
HTTP The Definitive Guide
O’Reilly Media, 2002

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

Keith J. Grant
CSS in Depth
1st Edition, Manning, 2018

Waseem Roshen
SOA-Based Enterprise Integration: A Step-by-Step Guide to Services-based Application
McGraw-Hill Education, 2009

Metodi didattici

Le attività si svolgeranno sia in telepresenza attraverso l’utilizzo della piattaforma Teams sia in presenza nella aule assegnate al corso. Inoltre le lezioni saranno registrate e il materiale (slides e regitrazioni) sarà caricato sulla pagina Elly del corso. Durante le lezioni, si alterneranno momenti di spiegazione a momenti interattivi con gli studenti durante i laboratori.

Modalità verifica apprendimento

Non sono previste prove in itinere.

E' previsto lo svolgimento di una progetto legato agli argomenti del corso.
Tale progetto comporta lo sviluppo di un'applicazione orientata ad Internet, la stesura di una relazione in formato PDF che illustri l'architettura scelta e una valutazione da parte della commissione della soluzione implementata.

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
http://elly2000.dia.unipr.it/