Home
People
Research
Publications
Conferences & Seminars
Teaching (in Italian)

Ingegneria del Web - A.A. 2007/08

Modulo del primo anno del corso di Laurea Specialistica in Ingegneria Informatica

A.A. 2007/08 - Valeria Cardellini


Docente

Ing. Valeria Cardellini
E-mail: * (è necessario specificare [IW] nell'oggetto della mail)
Ufficio: D1-17, corpo D dell'edificio "Ingegneria dell'Informazione", primo piano.
Orario di ricevimento: in aula al termine della lezione e per appuntamento.


Avvisi

  • * 8 ottobre 2008 - Discussione del progetto ed orale martedì 14 ottobre alle 9:30 presso il mio studio.
  • 19 settembre 2008 - E' possibile richiedere, tramite invio di una e-mail per gruppo entro il 23 settembre,
    una proroga di due settimane per la consegna del progetto (consegna del progetto entro martedì 7 ottobre,
    discussione del progetto ed orale martedì 14 ottobre). Non saranno concesse ulteriori proroghe.
    Chi consegna il progetto entro il 23 settembre, sosterrà la discussione del progetto e l'orale il 30 settembre.
    Ricordo che questo è l'ultimo appello dell'A.A. 2007/08 e che il progetto assegnato vale solo per l'A.A. 2007/08.
  • 10 luglio 2008 - Fissate le date degli appelli di recupero di settembre (vedi Appelli).
  • 9 giugno 2008 - E' possibile richiedere, tramite invio di una e-mail, una proroga di una settimana per la consegna del progetto
    (consegna del progetto entro lunedì 23 giugno, discussione del progetto ed orale lunedì 30 giugno).
    Non saranno concesse ulteriori proroghe.
  • 16 maggio 2008 - Appello 23 giugno 2008 (vedi Appelli).
  • 4 marzo 2008 - Disponibili le tracce dei progetti (vedi Progetto).
  • 29 febbraio 2008 - La scadenza per la prenotazione al progetto è prorogata a mercoledì 12 marzo.
  • 15 febbraio 2008 - Disponibili articoli sui sistemi P2P e Web service (vedi Peer-to-peer e Web services).
  • 8 febbraio 2008 - Fissate le date per la prova orale (vedi Appelli).
  • 8 febbraio 2008 - Disponibili articoli sui sistemi Web, Web caching e Content Delivery Network (vedi Sistemi Web e Web caching e CDN).
  • 4 febbraio 2008 - Disponibili articoli sulle prestazione delle tecnologie per contenuti dinamici (vedi Tecnologie per contenuti Web dinamici).
  • 23 gennaio 2008 - Modificati i lucidi 32 e 33 nel gruppo di lucidi sull'interazione tra HTTP e TCP.
  • 17 gennaio 2008 - Aggiunti i lucidi da 64 ad 80 nel gruppo di lucidi sul protocollo HTTP.
  • 14 gennaio 2008 - Disponibili articoli sui server Web (vedi Server Web).
  • 14 gennaio 2008 - Disponibili gli esempi di programmazione con socket (vedi Esempi di programmazione con socket).
    Per decomprimere un file con estensione tgz: tar xzvf filename.tgz oppure gunzip -c filename.tgz | tar xvf -
  • 29 dicembre 2007 - Aggiunti i lucidi 29 e 30 sulle funzioni rientranti nel gruppo di lucidi socket_2.

Orario delle Lezioni

Orario valido dal 10/12/2007 al 15/2/2008 (secondo ciclo didattico)
  • Martedì dalle 9:30 alle 11:15, aula 2 edificio didattica
  • Mercoledì dalle 11:30 alle 13:15, aula 1 edificio didattica
  • Giovedì dalle 9:30 alle 11:15, aula 1 edificio didattica

Materiale Didattico

Testi consigliati

- Balachander Krishnamurthy, Jennifer Rexford, "Web Protocols and Practice: HTTP/1.1, Networking Protocols, Caching, and Traffic Measurement", Addison-Wesley Professional, 2001.
- George Coulouris, Jean Dollimore, Tim Kindberg, "Distributed Systems - Concepts and Design, 4th Edition", Addison-Wesley/Pearson Education, 2005.
- James F. Kurose, Keith W. Ross, "Reti di Calcolatori e Internet - Un Approccio Top-Down, Terza Edizione", Pearson Addison-Wesley, 2005.
- W. Richard Stevens, Stephen A. Rago, "Advanced Programming in the UNIX(R) Environment, 2nd Edition", Addison-Wesley Professional, 2005.
- W. Richard Stevens, Bill Fenner, Andrew M. Rudoff, "Unix Network Programming, Volume 1: The Sockets Networking API, 3rd Edition", Addison-Wesley Professional, 2003.

Lucidi delle lezioni

Il materiale elettronico è in formato pdf.
Per la visualizzazione e la stampa utilizzare Acrobat Reader (scaricabile gratuitamente dal sito di Adobe).

 
Giorno Argomento Lucidi Ultima modifica
11/12/2007 Organizzazione del corso
Introduzione ai socket
2pp, 4pp
2pp, 4pp
12/12/2007
12/12/2007
12/12/2007 Introduzione ai socket vedi lezione precedente
13/12/2007 Esempio daytime TCP, socket UDP, esempio daytime UDP, risoluzione dei nomi 2pp, 4pp 28/12/2007
18/12/2007 Opzioni dei socket, server iterativi 2pp, 4pp 28/12/2007
19/12/2007 Server ricorsivi e gestione dei segnali vedi lezione precedente
20/12/2007 Multiplexing dell'I/O 2pp, 4pp 28/12/2007
8/1/2008 Introduzione al Web 2pp, 4pp 8/1/2008
9/1/2008 Introduzione al Web, componenti del Web vedi lezione precedente
10/1/2008 Componenti del Web vedi lezione dell'8/1
15/1/2008 Protocollo HTTP: caratteristiche generali e versione 1.0 2pp, 4pp 17/1/2008
16/1/2008 Protocollo HTTP: versione 1.1 vedi lezione precedente
17/1/2008 Protocollo HTTP: supporto per il caching ed esempi vedi lezione del 15/1
22/1/2008 Interazione tra HTTP e TCP 2pp, 4pp 23/1/2008
23/1/2008 Interazione tra HTTP e TCP
Il server Web Apache
vedi lezione precedente
2pp, 4pp

23/1/2008
24/1/2008 Il server Web Apache
Tecnologie per la generazione di contenuti dinamici
vedi lezione precedente
2pp, 4pp

4/2/2008
29/1/2008 Tecnologie per la generazione di contenuti dinamici vedi lezione precedente
30/1/2008 Tecnologie per la generazione di contenuti dinamici vedi lezione del 24/1
31/1/2008 Sistemi Web distributi localmente 2pp, 4pp 8/2/2008
5/2/2008 Sistemi Web distributi localmente e geograficamente vedi lezione precedente
6/2/2008 Sistemi Web distributi geograficamente
Web caching
vedi lezione del 31/1
2pp, 4pp

10/2/2008
7/2/2008 Web caching e sistemi per Web content delivery vedi lezione precedente
12/2/2008 Sistemi per Web content delivery
Sistemi P2P
vedi lezione del 6/2
2pp, 4pp

15/2/2008
13/2/2008 Sistemi P2P
Presentazione dei progetti
vedi lezione precedente
2pp, 4pp

15/2/2008
14/2/2008 Introduzione ai Web service 2pp, 4pp 15/2/2008

Articoli

Server Web

- D.A. Menasce, "Web server software architectures", IEEE Internet Computing, Nov./Dec. 2003, Vol. 7, No. 6. (pdf)
- E. Nahum, "Web servers", Book chapter in Performance Tuning for Linux Servers, Prentice Hall, 2005. (pdf)
- V. S. Pai, P. Druschel, W. Zwaenepoel, "Flash: An efficient and portable Web server", Proc. of USENIX 1999 Annual Technical Conf., Monterey, CA, June 1999. (pdf)
- A. Saha, "Issues in concurrent server design on Linux systems - Part I", Linux Gazette, Aug. 2006. (html)

Tecnologie per contenuti Web dinamici

- E. Cecchet, A. Chanda, S. Elnikety, J. Marguerite, W. Zwaenepoel, "Performance Comparison of Middleware Architectures for Generating Dynamic Web Content", Proc. of 4th Middleware Conf., June 2003. (pdf)
- L. Titchkosky, M. F. Arlitt, C. L. Williamson, "A Performance Comparison of Dynamic Web Technologies", ACM Performance Evaluation Review, Vol. 31, No. 3, pp. 2-11, Dec. 2003. (pdf)

Sistemi Web

- L.A. Barroso, J. Dean, U. Hoelzle, "Web search for a planet: The Google cluster architecture", IEEE Micro, March 2003. (pdf)
- V. Cardellini, E. Casalicchio, M. Colajanni, P.S. Yu, "The state of the art in locally distributed Web-server systems", ACM Computing Surveys, Vol. 34, No. 2, pp. 263-311, June 2002. (pdf)
- S. Sivasubramanian, M. Szymaniak, G. Pierre, M. van Steen, "Replication for Web hosting systems", ACM Computing Surveys, Vol. 36, No. 3, Sept. 2004. (pdf)

Web caching e CDN

- B.D. Davison, "A Web caching primer", IEEE Internet Computing, Vol. 5, No 4, pp. 38-45, July/Aug. 2001. (pdf)
- A. Iyengar, E. Nahum, A. Shaikh, R. Tewari, "Web caching, consistency and content distribution", Book chapter in The Practical Handbook of Internet Computing, Chapman & Hall/CRC Press, 2005. (pdf)
- A. Iyengar, L. Ramaswamy, B. Schroeder, "Techniques for efficiently serving and caching dynamic Web content", Book chapter in Web Content Delivery, X. Tang, J. Xu, S. Chanson ed., Springer, 2005. (pdf)
- G. Pallis, A. Vakali, "Insight and perspectives for Content Delivery Networks", ACM Communications, Vol. 49, No. 1, pp. 101-106, Jan. 2006. (pdf)
- A.-M. K. Pathan, R. Buyya, "A taxonomy and survey of Content Delivery Networks", Technical Report GRIDS-TR-2007-4, Grid Computing and Distributed Systems Lab., Univ. of Melbourne, Feb. 2007. (pdf)
- G. Pierre, M. van Steen, M. Szymaniak, S. Sivasubramanian, "From Web servers to ubiquitous content delivery", Book chapter in Global Data Management, IOS Press, July 2006. (pdf)
- J. Wang, "A survey of Web caching schemes for the Internet", ACM Computer Communication Review, Vol. 29, No. 5, Oct. 1999. (ps)

Peer-to-peer

- S. Androutsellis-Theotokis, D. Spinellis, "A survey of peer-to-peer content distribution technologies", ACM Computing Surveys, Vol. 36, No. 4, pp. 335–371, Dec. 2004. (link)
- H. Balakrishnan, M.F. Kaashoek, D. Karger, R. Morris, I. Stoica, "Looking up data in P2P systems", Communications of ACM, Vol. 46, No. 2, pp. 43-48, Feb. 2003. (pdf)

Web services

- G. Alonso, F. Casati, H. Kuno, V. Machiraju, "Web Services: Concepts, Architecture and Applications", Springer, chapter 5, 2004. (pdf)
- B. Pernici, P. Plebani, "Introduzione ragionata al mondo dei Web Service", Mondo Digitale, Marzo 2004. (pdf)
- F. Curbera, M. Duftler, R. Khalaf, W. Nagy, N. Mukhi, S. Weerawarana, "Unraveling the Web Services Web: An Introduction to SOAP, WSDL, and UDDI", IEEE Internet Computing, Vol. 3, No. 4, March/April 2002. (html)

Link utili

- World Wide Web Consortium
- Motore di ricerca RFC
- Apache HTTP Server
- Apache Tomcat
- Squid Web Proxy Cache
- RFC 1945: Hypertext Transfer Protocol - HTTP/1.0
- RFC 2616: Hypertext Transfer Protocol - HTTP/1.1
- Editing della configurazione di Firefox (about:config) e suggerimenti per migliorarne le prestazioni

Programmazione di applicazioni di rete

Esempi di programmazione di applicazioni di rete

Argomento Codice Ultima modifica
Daytime TCP iterativo
(tratto da Stevens, "Network Programming Vol. 1")
daytime_clientTCP.c
daytime_serverTCP.c
14/1/2008
Daytime UDP
(tratto da Stevens, "Network Programming Vol. 1")
daytime_clientUDP.c
daytime_serverUDP.c
14/1/2008
Numero di contatti ad un server
(tratto da D.E. Comer, "Computer Networks and Internets")
count_clientTCP.c
count_serverTCP.c
14/1/2008
Risoluzione nomi
get_ip.c 14/1/2008
Echo ricorsivo
(tratto da Stevens, "Network Programming Vol. 1")
echo.tgz
14/1/2008
Echo con select
(tratto da Stevens, "Network Programming Vol. 1")
select.tgz
14/1/2008
Uso sockname
(tratto da Stevens, "Network Programming Vol. 1")
sockname.tgz 14/1/2008
Server con preforking (file locking)
(tratto da Stevens, "Network Programming Vol. 1")
prefork.tgz 14/1/2008

Link riguardanti la programmazione di applicazioni di rete

- Guida alla programmazione in Linux (Gapil) - Parte II Programmazione di rete: pdf (versione più aggiornata), HTML
- Beej's guide to network programming
- Sockets tutorial
- Unix Socket FAQ

Programma


Esami

Pre-requisiti

Per gli studenti iscritti al corso di laurea in Ingegneria Informatica: occorre aver superato Reti di calcolatori e Modellistica di impianti e sistemi 1.

Modalità di esame

E' previsto un progetto ed una prova orale sugli argomenti dell'intero corso.

Progetto

Per poter sostenere l'esame nell'A.A. 2007/08, entro il 12/3/2008 devono essere comunicate via e-mail a Valeria Cardellini le seguenti informazioni:
- nominativi ed indirizzi di e-mail dei componenti del gruppo;
- progetto scelto.
Eventuali modifiche relative al gruppo devono essere tempestivamente comunicate al docente e concordate con il docente.
Il progetto è valido solo per l’A.A. 2007/08: i progetti scadranno inderogabilmente con l’ultima sessione d’esame dell’A.A. 2007/08.

La consegna del progetto deve avvenire almeno dieci giorni prima della data stabilita per l'appello di Ingegneria del Web in cui si intende sostenere la discussione del progetto e la prova orale (se non già superata).
Ciascuno studente esporrà una presentazione individuale tramite lucidi di una parte del progetto (max 10 minuti).

Progetto A: Chat room P2P
Progetto B: Web switch QoS-aware
Progetto C: Sistema di prefetching client-side per traffico Web
Progetto D: SMS push services

Il progetto A è dimensionato per gruppi composti da 2 studenti (3 studenti svolgendo anche tutti i punti opzionali);
gli altri progetti sono dimensionati per gruppi composti da 3 studenti.
Per chiarimenti sulla traccia e sullo svolgimento del progetto D rivolgersi all'Ing. Stefano Salsano;
la consegna di tale progetto deve avvenire entro fine giugno 2008.

Appelli

- Prova orale: martedì 19 febbraio 2008, ore 11:30 presso il mio studio (stanza D1-17).
Per la prenotazione, inviarmi una e-mail entro domenica 17 febbraio, indicando nel subject [IW prenotazione orale 19 febbraio] e nel testo nome, cognome e numero di matricola.

- Prova orale: giovedì 28 febbraio 2008, ore 9:30 presso il mio studio (stanza D1-17).
Per la prenotazione, inviarmi una e-mail entro lunedì 25 febbraio, indicando nel subject [IW prenotazione orale 28 febbraio] e nel testo nome, cognome e numero di matricola.

- Discussione progetto e prova orale: lunedì 23 giugno 2008, ore 9:30 presso il mio studio (stanza D1-17).
Il progetto deve essermi consegnato (CD e copia cartacea) entro lunedì 16 giugno.
Per la prenotazione (individuale), inviarmi una e-mail entro mercoledì 18 giugno, indicando nel subject [IW prenotazione appello 23 giugno] e nel testo nome, cognome e numero di matricola.
E' possibile richiedere, tramite invio di una e-mail, una proroga di una settimana per la consegna del progetto
(consegna del progetto entro lunedì 23 giugno, discussione del progetto ed orale lunedì 30 giugno ore 9:30 presso il mio studio).
Non saranno concesse ulteriori proroghe.

- Discussione progetto e prova orale: lunedì 15 settembre 2008, ore 9:30 presso il mio studio (stanza D1-17).
Il progetto deve essermi consegnato (CD e copia cartacea) entro lunedì 8 settembre.
Per la prenotazione (individuale), inviarmi una e-mail entro mercoledì 10 settembre, indicando nel subject [IW prenotazione appello 15 settembre] e nel testo nome, cognome e numero di matricola.

- Discussione progetto e prova orale: martedì 30 settembre 2008, ore 9:30 presso il mio studio (stanza D1-17).
Il progetto deve essermi consegnato (CD e copia cartacea) entro martedì 23 settembre.
Per la prenotazione (individuale), inviarmi una e-mail entro giovedì 25 settembre, indicando nel subject [IW prenotazione appello 30 settembre] e nel testo nome, cognome e numero di matricola.
E' possibile richiedere, tramite invio di una e-mail per gruppo entro il 23 settembre, una proroga di due settimane per la consegna del progetto
(consegna del progetto entro martedì 7 ottobre, discussione del progetto ed orale martedì 14 ottobre ore 9:30 presso il mio studio).
Non saranno concesse ulteriori proroghe.
Chi consegna il progetto entro il 23 settembre, sosterrà la discussione del progetto e l'orale il 30 settembre.

 
Ultimo aggiornamento: 8 ottobre 2008.

Home
People
Research
Publications
Conferences & Seminars
Teaching (in Italian)