Docente: Dr. Francesca A. Lisi
Ricevimento studenti: mercoledì ore 10-12
email: lisi@di.uniba.it - tel. 080 544 2276
Fondamenti delle reti:
Reti di calcolatori ed Internet
Che cos'è Internet. Che cos'è un protocollo. La sezione di accesso
della rete. La sezione interna della rete. Reti di accesso e mezzi trasmissivi.
Ritardi e perdite nelle reti di commutazione di pacchetto. Strati protocollari
(pile). La rete dorsale di Internet, NAP e ISP. Breve storia dell'interconnessione
dei calcolatori e di Internet.
Lo strato di applicazione
Servizi e principi. Modello client/server. Il World Wide Web ed il
protocollo HTTP. Trasferimento di file ed il protocollo FTP. Posta elettronica
in Internet. DNS: il servizio directory di Internet. Programmazione dei
socket con TCP e con UDP. Costruzione di un semplice server Web con Java.
Lo strato di trasporto
Servizi e principi. Multiplexing e demultiplexing delle applicazioni.
Trasporto senza connessione: UDP. Principi di un trasferimento affidabile
dei dati. Trasporto orientato alla connessione: TCP. Principi di controllo
della congestione. Controllo della congestione del TCP.
Lo strato di rete
Servizi e principi. Principi di instradamento. Instradamento gerarchico.
Protocollo IP. Instradamento in Internet. Cenni ad IPv6.
Sicurezza nelle reti di calcolatori
Che cos'è la sicurezza di rete. Principi di crittografia. Autenticazione.
Integrità. Distribuzione della chiave e certificazione. Sicurezza dello
strato di applicazione: PGP. Sicurezza dello strato di trasporto: SSL,
SET. Sicurezza dello strato di rete: IPsec.
Programmazione:
Il linguaggio HTML
Origini ed evoluzione di HTML. Sintassi di base. Struttura standard
del documento HTML. Formattazione del testo di base. Le immagini. I collegamenti
ipertestuali. Gli elenchi. Le tabelle. I frame.
I fogli di stile a cascata
I livelli dei fogli di stile. I formati di specifica dello stile. Le
classi di stile. Le proprietà ed i valori di proprietà. Il colore.
Introduzione a XML
Sintassi di XML. La struttura del documento XML. Le definizioni dei
tipi di dati. I namespace. La visualizzazione di documenti XML grezzi e
con CSS. Le trasformazioni XML e i fogli di stile.
Nozioni di base di JavaScript
Panoramica su JavaScript. L'orientamento agli oggetti e JavaScript.
Le caratteristiche sintattiche generali. Primitive, operazioni ed espressioni.
Output su schermo. Le istruzioni di controllo. La creazione e modifica
di oggetti. Gli array. Le funzioni. I costruttori. Pattern matching.
Programmazione ad eventi con JavaScript
L'ambiente di esecuzione di JavaScript. Il Document Object Model (DOM).
Introduzione alla programmazione ad eventi. Eventi, attributi e tag. Utilizzo
degli eventi load e unload. Gli handler di evento per gli eventi dei pulsanti.
Il controllo dell'input del form. L'oggetto navigator. La propagazione
degli eventi.
HTML dinamico con JavaScript
Supporto dei browser ai documenti dinamici. Il posizionamento degli
elementi. Lo spostamento degli elementi. La visibilità degli elementi.
I colori ed i caratteri dinamici. Il contenuto dinamico. La sovrapposizione
degli elementi.
Le applet Java
Introduzione a Java. Le principali attività delle applet. il metodo
paint. Il tag <object>. I parametri dell'applet. Grafica semplice. Il
colore. Le applet interattive.
Programmazione concorrente in Java
Il concetto di thread. Stati e metodi di thread. Utilizzo dei thread
per implementare applet animate. Realizzazione di server Web multi-threaded.
Le servlet Java
Richiami alle caratteristiche generali dei server Web. Il concetto
di servlet. Dettagli per la realizzazione di servlet. La memorizzazione
delle informazioni sui client: i cookie e il tracking di sessione.
Testi adottati
Kurose & Ross, "Internet e Reti di Calcolatori",
McGraw-Hill, 2001: capp. 1, 2, 3 (tranne 3.4.2, 3.4.3, 3.4.4, 3.6.3, 3.7.3),
4 (tranne 4.6, 4.8), 7
Sebesta, "Programmare il World Wide Web", McGraw-Hill,
2003: capp. 1, 2, 3, 6, 7, 8, 9, 10, 11