Programma del corso - SisInf Lab

POLITECNICO DI BARI
I FACOLTA' DI INGEGNERIA
Corso di Laurea in Ingegneria Informatica
Corso di Laurea in Ingegneria delle Telecomunicazioni
Corso di Laurea in Ingegneria dell’Automazione
A.A. 2006-2007
Telematica II
Ing. Michele Ruta
Programma di insegnamento
Obiettivo del corso di Telematica II è presentare le problematiche relative al layer applicativo
dello stack TCP/IP e di fornire gli strumenti necessari alla progettazione e implementazione di
applicazioni di tipo client/server. Data la diffusione e la semplicità di utilizzo, il linguaggio di
programmazione adottato è Java(TM) 2.
Il corso è strutturato in tre parti fra loro complementari: la prima fornisce una panoramica del
linguaggio Java, la seconda è focalizzata sugli aspetti teorici relativi ai protocolli applicativi di uso
comune; la terza è incentrata sugli aspetti implementativi.
Conoscenze Propedeutiche:
•
Modelli ISO/OSI e TCP/IP
•
Principi della programmazione strutturata.
Argomenti del corso:
I Parte (6 ore)
•
Introduzione alla OOP, cenni di UML, concetti fondamentali sul linguaggio Java, tipi di
dati, operatori, istruzioni.
•
Metodi, array, gestione della memoria, stringhe e metodi per la loro manipolazione.
•
Creazione di un ADT in Java, composizione, ereditarietà, polimorfismo, package.
II Parte (14 ore)
•
Modello ISO/OSI, TCP/IP, modello client/server, socket, requisiti delle applicazioni.
•
il Web, HTML, URL, URI, URN, User Agents, Protocollo HTTP: request, response,
connessioni persistenti, metodi GET, POST, HEAD, PUT, DELETE, status codes, cookies,
autenticazione, proxy server, caching, AJAX, Apache Web server.
•
Protocollo FTP: connessioni dati e di controllo, rappresentazione dei dati, comandi, repliche,
gestione connessioni, server vsFTPd.
•
La posta elettronica: SMTP, POP3, IMAP.
•
Protocollo DNS: gerarchia dei nomi, risoluzione iterativa e ricorsiva, formato dei messaggi,
comandi nslookup, host, dig, whois, server BIND.
•
Voice over IP: protocolli SIP, SDP, RTP: principi di funzionamento, formato dei messaggi e
applicazioni.
•
Reti peer-to-peer; protocollo BitTorrent: principio di funzionamento, formato dei messaggi.
•
Sicurezza, crittografia.
III Parte (8 ore)
•
Gestione delle eccezioni, socket, server TCP.
•
Client TCP, uso dell'ereditarietà per creare i server, esempi di server: echo, time, mini-ftp.
•
Server UDP, multithreading, server multithreading (cenni)
Testi di riferimento principali:
•
Computer Networking A Top-Down Approach Featuring the Internet, J. Kurose and K.
Ross, Addison Wesley
•
Core Java 2, Volume 1-Fondamenti, C.Horstmann, G. Cornell – Pearson Edu.
•
Java Network Programming, E.Harold, O'Reilly
Ulteriori testi suggeriti:
•
TCP/IP Illustrated, Volume 1, The protocols, W. R. Stevens, Addison Wesley
•
Core Java 2, Volume 2 – Tecniche avanzate, C.Horstmann, G. Cornell – Pearson Edu.
•
Thinking in Java (II edizione), B.Eckel, Apogeo
•
Java J2SE 5 La guida completa, H.Schildt – McGraw Hill