I web server mantengono in un file di testo un "log" (un "diario") di tutte le richieste HTTP di pagine ricevute. Ad esempio, il seguente è un frammento di un web log:
host144-98.pool80117.interbusiness.it - - [01/Apr/2003:08:18:49 +0200] "GET /~coppola/didactics/twm/aa2002-2003 HTTP/1.1" 302 284 host144-98.pool80117.interbusiness.it - - [01/Apr/2003:08:18:50 +0200] "GET /~coppola/didactics/twm/aa2002-2003/index.html HTTP/1.1" 304 250 host144-98.pool80117.interbusiness.it - - [01/Apr/2003:08:18:53 +0200] "GET /~coppola/didactics/twm/aa2002-2003/sol/s10.3.html HTTP/1.1" 401 74 host144-98.pool80117.interbusiness.it - - [01/Apr/2003:08:19:04 +0200] "GET /~coppola/didactics/twm/aa2002-2003/sol/s10.3.html HTTP/1.1" 304 250 adsl-112-119.38-151.net24.it - - [01/Apr/2003:08:37:10 +0200] "GET /~mizzaro/teaching/Prog0203 HTTP/1.1" 302 276 adsl-112-119.38-151.net24.it - - [01/Apr/2003:08:37:10 +0200] "GET /~mizzaro/teaching/Prog0203/welcome.html HTTP/1.1" 200 2794 adsl-112-119.38-151.net24.it - - [01/Apr/2003:08:37:14 +0200] "GET /~mizzaro/teaching/Prog0203/programma-preliminare.html HTTP/1.1" 200 3323
Ogni riga corrisponde a una richiesta HTTP, e vengono mostrati, fra le altre cose, l'IP del client, la data/ora e la pagina richiesta.
Il progetto consiste nell'implementazione di un semplice programma in linguaggio Java per visualizzare il log di un web server. Il programma deve:
Non è invece necessario gestire file di log di lunghezza realistica (un file di log può arrivare a centinaia di MByte). Il programma deve funzionare con il file di log che trovate qui.
Il livello di complessità del programma prodotto può essere deciso liberamente dagli studenti; ovviamente, progetti più articolati e complessi otterranno una valutazione migliore di progetti più semplici, ma si consiglia di fare "poco e bene" piuttosto che "tanto e male": progetti semplici possono comunque ottenere il massimo punteggio, purché ben fatti. La durata prevista del lavoro, considerando un gruppo di 3 persone che lavorano a tempo pieno, è di una settimana al massimo.
Il progetto va realizzato in gruppi di 3 persone (a meno di accordi particolari con il docente), e tutti i componenti di un gruppo devono conoscere tutti i dettagli del progetto, come se l'avessero realizzato da soli.
Va preparata una breve relazione, preferibilmente (ma non necessariamente) in XHTML + CSS, sul lavoro effettuato. La relazione deve contenere:
Il progetto va consegnato inderogabilmente entro l'inizio della prova scritta dell'appello, ossia il 17 giugno 2003 ore 9:00, sia in forma cartacea (1 copia), sia via posta elettronica (2 copie, una per docente, indirizzi: coppola@dimi.uniud.it e mizzaro@dimi.uniud.it). Si richiede un unico messaggio:
NOTA Questo progetto è valido per chi intende sostenere l'esame nel primo appello della sessione estiva (17,26 giugno 2003), e va quindi consegnato entro la scadenza. Non si accetteranno ritardi per nessun motivo. Per gli appelli successivi saranno predisposti altri progetti.
Alla valutazione del progetto concorrono vari aspetti (rilevanza delle semplificazioni apportate, qualità della relazione, ecc.), ma è di prioritaria importanza la qualità del programma prodotto, soprattutto per quanto concerne le caratteristiche di leggibilità, modificabilità...Esempi di criteri per la valutazione:
Per eventuali dubbi rivolgersi ai docenti, o durante l'orario di ricevimento o per posta elettronica.