Strumenti Utente

Strumenti Sito


lpr-b:start

Questa è una vecchia versione del documento!


Laboratorio di Programmazione di Rete - corso B

Prerequisiti

  • Laboratori dei primi due anni.
  • Conoscenza del linguaggio Java, versione 1.5 o superiore, incluso packages, streams ed eccezioni.

Programma del corso

Il corso si pone l’obiettivo di fornire le conoscenze necessarie per la scrittura di applicazioni di rete tramite l'utilizzo di socket (indirizzi, URL, socket TCP e UDP, modelli connection- oriented e connectionless, comunicazioni punto a punto, multicast e broadcast, modello client/server). Saranno inoltre presentate le caratteristiche base di modelli di programmazione distribuita più ad alto livello, come RMI, CORBA ed RPC. In particolare, verranno svolti esercizi utilizzando Java RMI.

  • Parte prima: multithreading e socket
    • Programmazione concorrente in Java con thread.
    • Modello client/server, server seriali e concorrenti.
    • Socket (lato cliente e lato servente) con TCP con indirizzi visti come coppie (nomehost, numeroporta).
      • Accesso a servizi standard.
      • Realizzazione di semplici server concorrenti e non.
    • Indirizzi Inet.
    • UDP.
      • Accesso a servizi standard.
      • Port scanning.
      • Utilizzo di multicast.
      • Implementazione di livelli diversi di affidabilità sopra UDP.
  • Parte seconda: RMI.
    • RMI.
    • Relazioni con CORBA/RPC.
    • Utilizzo di RMI per la realizzazione di semplici servizi di rete.
  • Parte terza: Progetto.
  • Assegnazione e discussione in aula del progetto conclusivo del corso.

Orario di lezione

Giorno Orario Aula
Lunedì 9–13 H esercitazione (due gruppi)
Mercoledì 11–13 H lezione

Orario di ricevimento

Giorno Orario Luogo
Lunedì 15–18 Studio Corradini (Dipartimento di Informatica)

Esami

  • Modalità di esame: Progetto finale + orale.
  • La traccia del progetto sarà disponibile entro le vacanze natalizie.
  • La data di consegna verrà comunicata successivamente.
  • Vanno consegnati sorgenti e relazione.
  • L'orale consiste nella discussione del progetto e in domande sugli argomenti trattati nelle lezioni teoriche (soprattutto quelli non coperti dal progetto).

Materiale didattico

Il libro di testo consigliato è Harold, Java Network Programming Third Edition: October 2004 ISBN 10: 0-596-00721-3 ISBN 13: 9780596007218 Pages: 760, http://oreilly.com/catalog/9780596007218/. Questo libro è da intendersi come un manuale da consultare mentre si realizzano gli esercizi ed il progetto del corso. Non è un libro di reti. Assumeremo durante il corso che le nozioni necessarie siano fornite dal corso di Reti di Calcolatori, parallelo al corso di LPR.

E’ fondamentale la consultazione della documentazione on line di Java.

Esercizi

La pagina degli esercizi verrà regolarmente aggiornata con gli esercizi proposti nelle esercitazioni in aula H. Su questa pagina verranno anche pubblicate (appena discusse a lezione) le soluzioni proposte per gli stessi esercizi.

Note

Infine, sulla pagina delle note verranno pubblicate tutte le note di supporto al corso.

Ambiente di sviluppo

Ai fini del corso la versione di Java da utilizzare è la 1.5. Si può ovviamente utilizzare la più recente 1.6, senza però utilizzare caratteristiche “nuove”, salvo nei casi indicati esplicitamente dal docente.

L’ambiente di programmazione consigliato è Eclipse ma al fine del superamento dell’esame è fondamentale conoscere anche il funzionamento dell’ambiente standard Java da riga di comando.

Lezioni

Il registro delle lezioni è disponibile sulla a questo link.

lpr-b/start.1222018582.txt.gz · Ultima modifica: 21/09/2008 alle 17:36 (16 anni fa) da Andrea Corradini