elenco    
        corso    

Laboratorio di programmazione di rete B

Codice: AA018Crediti: 6Semestre: 1Sigla: LPR 
 
Settore disciplinare: INF/01 - Informatica

Docente

Marco Danelutto   marcod@di.unipi.it  Stanza 364  Tel. 0502212742

Prerequisiti

Laboratori del primo e secondo anno, conoscenza del linguaggio di programmazione Java.

Obiettivi di apprendimento

Il laboratorio si pone l'obiettivo di fornire le conoscenze di base necessarie per la progettazione e realizzazione realizzazione di (semplici) applicazioni di rete (applicazioni client-server applicazioni peer-to-peer). Il laboratorio pone una enfasi particolare nella sperimentazione di paradigmi per la programmazione di applicazioni di rete
Conoscenze. Lo studente al termine del laboratorio acquisirà le conoscenze delle tecniche di base per programmare applicazioni di rete sia tradizionali (client-server) che innovative (peer-to-peer) in termini di comunicazione via socket (socket TCP, socket UDP e Multicast) e programmazione con oggetti remoti.
Capacità. Lo studente al termine del laboratorio è in grado di utilizzare le gli strumenti e le tecnologie di base (socket e oggetti remoti) di supporto al progetto, realizzazione e testing di applicazioni di rete non banali.
Comportamenti. Lo studente al termine del laboratorio ha acquisito una livello di autonomia che permette di valutare le tipologie differenti di applicazioni di rete e le tecnologie necessarie per il loro progetto e realizzazione. Sarà inoltre cosciente delle problematiche inerenti al testing di applicazioni di rete in contesti operativi.

Descrizione

Il corso fornisce le conoscenze di base necessarie per lo sviluppo di (semplici) applicazioni di rete (WEB, trasferimento file, posta elettronica, chat, etc.).
In particolare, fornisce tutte le basi necessarie al corretto utilizzo di socket (indirizzi, socket TCP e UDP, modello orientato alla connessione e senza connessione, comunicazioni punto a punto e multicast/broadcast, modello client/server). Inoltre, verranno presentate le caratteristiche base di meccanismi a più alto livello (RMI/CORBA/RPC) e verranno svolti esercizi utilizzando il meccanismo RMI, primitivo in Java.

English Description

The course aims to provide the basic knonwledge necessary to develop (simple) network applications (WEB, file transfer, email, chat, etc.).
In particular, the knowledge necessary to use sockets (addresses, TCP and UDP sockets, connection-oriented and connectionless models, point to point and multicast/broadcast communications, client/server model) will be provided.
Furthermore, the basic features of higher level programming models (RMI/CORBA/RPC) will be discussed; exercises will be given that use the primitive RMI Java mechanism.

Indicazioni metodologiche

Per conseguire gli obiettivi indicati, è necessario:

Programma

Il corso si pone l’obiettivo di fornire le conoscenze necessarie per 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 più ad alto livello: RMI, CORBA ed RPC. In particolare, verranno svolti esercizi utilizzando Java RMI.

La durata delle varie parti del corso (comprensive di lezioni frontali per il richiamo dei concetti da utilizzare, preseumibilmente già visti nel corso di reti e per l'introduzione delle API Java da utilizzare  e delle relative esercitazioni e discussione delle soluzioni) sarà di circa 6 ore per la parte iniziale, 4 ore per l'assegnazione del progetto, 15 ore per la parte sui socket e 15 ore per la parte su RMI.

     

Bibliografia

Harold, JAVA Network Programming Third edition (O'Reilly). 2005
Hughes et al. JAVA Network Programming 2nd edition (Manning). 2001
Dispense e note didattiche distribuite dal docente (prevalentemente mediante pubblicazione sulla pagina WEB del corso).

Modalità di esame

Realizzazione e discussione di un progetto di programmazione. Il progetto di programmazione è un caso di studio derivato da casi di studio e/o applicazioni reali.

Ulteriore pagina web del corso: http://www.di.unipi.it/~marcod/Didattica/LabReti/index.html


home


email