Programma Preliminare Programmazione in rete + Laboratorio (Corso A) a.a.2002/2003 Docente: Lanubile Filippo Obiettivi 1. Introdurre i concetti fondamentali delle reti di calcolatori 2. Comprendere i meccanismi di indirizzamento, instradamento e trasporto in Internet 3. Conoscere i servizi e protocolli per applicazioni di rete 4. Applicare i linguaggi di markup e di scripting per costruire applicazioni web Contenuti · Fondamenti di reti di calcolatori - Introduzione alle reti di calcolatori. Definizioni base. Collegamenti diretti e indiretti. Strategie di multiplazione. Commutazione di circuito e di pacchetto. Caratterizzazione delle reti in base alla dimensione. Interconnessione di reti. Misure di prestazione. - Architetture a livelli Stratificazione. Tipi e primitive di servizio. Protocolli di rete. Famiglie e pile di protocolli. Messaggi in una pila di protocolli. Modello di riferimento ISO/OSI. Architettura di Internet. · Interconnessione delle reti - Instradamento in Internet Obiettivo. La funzione di instradamento (routing). Costruzione della tabella di routing. Algoritmi di routing adattivi: distance vector routing e link-state routing. Routing gerarchico. - Indirizzamento in Internet IP datagram. Classi di indirizzi IP. Notazione decimale a punti. Indirizzi speciali e privati. Assegnazione degli indirizzi IP. Inoltro dei datagrammi IP. - Trasporto in Internet Il servizio di trasporto in Internet. UDP. Numeri di porta. TCP. Meccanismo di ritrasmissione. Controllo del flusso. Apertura e chiusura di una connessione. Controllo di congestione. · Servizi e protocolli per applicazioni di rete - Introduzione alle applicazioni di rete Definizioni base. Infrastruttura delle applicazioni di rete. Decisioni di progetto. Modello client-server. Scelta del tipo di connessione. Servizi multipli su un computer. Concorrenza nei server. Identificazione di un servizio. Connessioni e server concorrenti. Modello peer-to-peer. - DNS Nomi simbolici. Gerarchia dei nomi. Gerarchia dei server DNS. Risoluzione dei nomi. Caching e abbreviazioni. Descrittori di risorsa. - Web Introduzione. Caratteristiche fondamentali. Identificatori di risorsa: URI, URN e URL. Architettura di un browser. Architettura di un server. HTTP: formato di una richiesta e di una risposta, metodi. MIME. Trasmissione di un form. Informazioni di stato: cookies. · Laboratorio: Docente Dott. Danilo Caivano (Email: caivano@di.uniba.it - Tel.:080 544 2283) Linguaggi di markup e di scripting per applicazioni web - HTML e XHTML Introduzione. Elementi e attributi. Header. Linking. Immagini. Liste. Tabelle. Form. Frame. Validazione. - CSS Introduzione. L’attributo style. L’elemento style. Fogli di stile esterni. Propagazione delle proprietà di stile. - JavaScript Introduzione allo scripting. Strutture di controllo. Funzioni. Array. Oggetti. Eventi. - Web Servers IIS, PWS, Apache. - VBScript Introduzione. Operatori. Tipi di dati e strutture di controllo. Funzioni. Array. Manipolazione di stringhe. - Active Server Pages Funzionamento di ASP. Uso di IIS e PWS. Oggetti ASP. Componenti server- side. File System Objects. Sessione. - XML Strutturazione dei dati. Parser msxml e documenti well-formed. DTD e documenti validi. Document Object Model. Metodi DOM. XSLT. Esame L’esame consiste in una prova di laboratorio seguita da una prova scritta. La prova di laboratorio richiede di svolgere uno o più esercizi di programmazione di applicazione web. La prova di laboratorio determina l’ammissione alla prova scritta. La prova scritta richiede di rispondere a una serie di domande a risposta chiusa e/o aperta. Le date degli appelli corrispondono alla prova scritta (è necessario prenotarsi almeno tre giorni prima). Le date della prova di laboratorio saranno concordate con il docente di laboratorio. Libri adottati · Comer, Internet e reti di calcolatori, Addison Wesley Longman Italia, 2000 Laboratorio · Deitel, Internet & World Wide Web How to Program, 2/e, Prentice Hall. 2002 Dispense del docente e informazioni aggiuntive sono disponibili sul sito web del corso http://www.di.uniba.it/~reti/prog