Applicazioni web e cloud
A.A. 2018/2019
Obiettivi formativi
L'insegnamento ha come primo obiettivo l'analisi dei concetti fondamentali, dei principi di funzionamento, dei modelli di servizio, dei modelli di deployment e delle tecnologie alla base del cloud computing. L'insegnamento si focalizzerà successivamente sul modello di servizio SaaS analizzando i concetti fondamentali e alcune tecnologie alla base del design e dello sviluppo di applicazioni web.
Risultati apprendimento attesi
Non definiti
Periodo: Primo semestre
Modalità di valutazione: Esame
Giudizio di valutazione: voto verbalizzato in trentesimi
Corso singolo
Questo insegnamento non può essere seguito come corso singolo. Puoi trovare gli insegnamenti disponibili consultando il catalogo corsi singoli.
Programma e organizzazione didattica
Edizione unica
Responsabile
Periodo
Primo semestre
Programma
Nella prima parte dell'insegnamento verranno presentate le caratteristiche principali, i modelli di servizio e le tecnologie alla base del funzionamento del cloud computing.
1. Concetti di base delle reti di calcolatori. Tipi e architetture di reti private: LAN, MAN, WAN. Topologie di rete. ISO/OSI. Dispositivi di Interconnessione. IP. TCP. UDP. Paradigma Client-Server.
2. Tecnologie per la virtualizzazione. Tassonomia di virtualizzazione. Hypervisor. Costi della virtualizzazione. La suite VMware. Uno sguardo alla sicurezza. Docker.
3. Cloud Computing. Predecessori del Cloud computing. Requisiti e caratteristiche. Modelli di servizio. Modelli di deployment. Migrazione verso la cloud. Costi del cloud computing (Cloudonomics). Problematiche del cloud computing. Cloud cube model.
4. IaaS, PaaS, SaaS: Definizioni. Tecnologie. Casi di studio.
5. Software-Defined Networks (SDN).
6. Aspetti non funzionali della cloud.
Nella seconda parte dell'insegnamento verrà posto l'accento sul livello applicativo del cloud stack, analizzando in particolare i concetti fondamentali e alcune tecnologie alla base del design e dello sviluppo di applicazioni web e cloud.
1. Pre-concetti. URL, HTTP, HTML, CSS. Socket, RPC.
2. Applicazioni web e cloud (base). Tecnologie e concetti base. Javascript, HTML5, CSS3, servizi SOAP e REST.
3. Applicazioni web e cloud (avanzato).Panoramica di framework e linguaggi avanzati.
1. Concetti di base delle reti di calcolatori. Tipi e architetture di reti private: LAN, MAN, WAN. Topologie di rete. ISO/OSI. Dispositivi di Interconnessione. IP. TCP. UDP. Paradigma Client-Server.
2. Tecnologie per la virtualizzazione. Tassonomia di virtualizzazione. Hypervisor. Costi della virtualizzazione. La suite VMware. Uno sguardo alla sicurezza. Docker.
3. Cloud Computing. Predecessori del Cloud computing. Requisiti e caratteristiche. Modelli di servizio. Modelli di deployment. Migrazione verso la cloud. Costi del cloud computing (Cloudonomics). Problematiche del cloud computing. Cloud cube model.
4. IaaS, PaaS, SaaS: Definizioni. Tecnologie. Casi di studio.
5. Software-Defined Networks (SDN).
6. Aspetti non funzionali della cloud.
Nella seconda parte dell'insegnamento verrà posto l'accento sul livello applicativo del cloud stack, analizzando in particolare i concetti fondamentali e alcune tecnologie alla base del design e dello sviluppo di applicazioni web e cloud.
1. Pre-concetti. URL, HTTP, HTML, CSS. Socket, RPC.
2. Applicazioni web e cloud (base). Tecnologie e concetti base. Javascript, HTML5, CSS3, servizi SOAP e REST.
3. Applicazioni web e cloud (avanzato).Panoramica di framework e linguaggi avanzati.
Informazioni sul programma
L'insegnamento ha come primo obiettivo l'analisi dei concetti fondamentali, dei principi di funzionamento, dei modelli di servizio, dei modelli di deployment e delle tecnologie alla base del cloud computing. L'insegnamento si focalizzerà successivamente sul modello di servizio SaaS analizzando i concetti fondamentali e alcune tecnologie alla base del design e dello sviluppo di applicazioni web.
Propedeuticità
Nessuna
Prerequisiti
Conoscenza dei concetti base delle architetture dei calcolatori e fondamenti di programmazione.
L'esame consiste di una prova scritta, di un progetto e di una prova (discussione) orale, tutte obbligatorie. La prova scritta punta ad accertare le conoscenze dello studente su tutti gli argomenti trattati nel corso. Il progetto mira ad approfondire gli aspetti pratici di uno degli argomenti trattati nel corso. La discussione orale si concentra sugli argomenti affrontati nello sviluppo del progetto e mira a valutarne la qualità.
Ulteriori informazioni possono essere reperite sul sito personale del docente
- http://www.di.unimi.it/ardagna/
e sulla pagina del corso presso il portale https://ariel.unimi.it/
L'esame consiste di una prova scritta, di un progetto e di una prova (discussione) orale, tutte obbligatorie. La prova scritta punta ad accertare le conoscenze dello studente su tutti gli argomenti trattati nel corso. Il progetto mira ad approfondire gli aspetti pratici di uno degli argomenti trattati nel corso. La discussione orale si concentra sugli argomenti affrontati nello sviluppo del progetto e mira a valutarne la qualità.
Ulteriori informazioni possono essere reperite sul sito personale del docente
- http://www.di.unimi.it/ardagna/
e sulla pagina del corso presso il portale https://ariel.unimi.it/
Metodi didattici
Lezioni frontali
Materiale di riferimento
Dispense e slide disponibili alla pagina web dell'insegnamento (https://ariel.unimi.it)
HTML5 e CSS3
- G. Gigliotti, HTML5 e CSS3, Apogeo
- in alternativa HTML5 digital classroom, Osborn, Jeremy, 2011
CLOUD
- Cloud Cube Model - The Open Group, https://collaboration.opengroup.org/jericho/cloud_cube_model_v1.0.pdf
- L. Badger, T. Grance, R. Patt-Corne, J. Voas, Cloud Computing Synopsis and Recommendations, NIST, http://csrc.nist.gov/publications/nistpubs/800-146/sp800-146.pdf
- B. Sosinsky, Cloud Computing Bible, 2011
REST and SOAP services
- R.T. Fielding, Architectural Styles and the Design of Network-based Software Architectures, https://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm
- L. Richardson and S. Ruby, RESTful Web Services, http://www.crummy.com/writing/RESTful-Web-Services/
HTML5 e CSS3
- G. Gigliotti, HTML5 e CSS3, Apogeo
- in alternativa HTML5 digital classroom, Osborn, Jeremy, 2011
CLOUD
- Cloud Cube Model - The Open Group, https://collaboration.opengroup.org/jericho/cloud_cube_model_v1.0.pdf
- L. Badger, T. Grance, R. Patt-Corne, J. Voas, Cloud Computing Synopsis and Recommendations, NIST, http://csrc.nist.gov/publications/nistpubs/800-146/sp800-146.pdf
- B. Sosinsky, Cloud Computing Bible, 2011
REST and SOAP services
- R.T. Fielding, Architectural Styles and the Design of Network-based Software Architectures, https://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm
- L. Richardson and S. Ruby, RESTful Web Services, http://www.crummy.com/writing/RESTful-Web-Services/
Docente/i
Ricevimento:
Su appuntamento
Ufficio docente presso il Dipartimento di Informatica in Via Celoria 18, Milano (MI)