Applicazioni Telematiche

Corso di Laurea Specialistica in Ingegneria Informatica

Corso di Laurea Specialistica in Ingegneria delle Telecomunicazioni

Prof. Roberto Canonico


A.A. 2005-06


Obiettivi formativi

Il corso si propone di fornire le nozioni teoriche e metodologiche di base per la progettazione e lo sviluppo di applicazioni telematiche, con particolare riferimento ai sistemi basati sul web ed alle applicazioni multimediali distribuite. Le applicazioni telematiche verranno studiate sia dal punto di vista dell’architettura software che dal punto di vista dei protocolli che definiscono le modalità di comunicazione.


Programma dettagliato delle lezioni svolte

Le slide delle lezioni verranno pubblicate in formato PDF dopo ciascuna lezione.

Lezione Data Slide / Riferimenti Argomenti
1 09/03/2006 Introduzione al Corso.
2 10/03/2006 Interazione Client-Server nel World Wide Web.
Protocollo HTTP: formato dei messaggi, meccanismi di autenticazione e di mantenimento di informazioni di sessione.
3 16/03/2006 Web Caching. Gestione della coerenza. Gerarchie di cache.
Content Delivery Networks. Infrastrutture e modelli di funzionamento di CDN.
4 17/03/2006 Web Server. Servizio di pagine statiche. Progetti open source per applicazioni web client e web server. Cenni all'architettura software ed alla configurazione di Apache web server. Configurazione dei meccanismi di autenticazione ed autorizzazione in Apache.
5 23/03/2006 Applicazioni web: programmazione client-side. JavaScript: caratteristiche del linguaggio ed esempi. Applet Java: ciclo di vita, ambiente di esecuzione, esempi.
6 24/03/2006 Applicazioni multimediali distribuite e requisiti di Qualità del Servizio.
Protocolli a supporto dello streaming di flussi audio/video. Il protocollo RTP.
Il protocollo RTSP per il controllo di sessioni.
7 30/03/2006 Programmazione server-side. Interfaccia CGI. Form HTML ed invio dati mediante i metodi GET e POST di HTTP. Esempi di programmi CGI in C ed in Tcl.
8 31/03/2006 Linguaggi di markup. Introduzione ad XML.
Sintassi XML. DTD e Schema. XSL.
9 06/04/2006 Parsing di documenti XML: DOM e SAX. Trasformazioni XSL. XSL processors. Elaborazione di documenti XML in Java.
10 07/04/2006 Java Servlet: ciclo di vita, modello di servizio, un esempio.
11 20/04/2006 Programmazione di applicazioni multimediali distribuite in Java mediante Java Media Framework (JMF). La API di JMF. Trasmissione, ricezione e presentazione di stream RTP con JMF. Esempi di programmi Java-JMF.
12 21/04/2006 Installazione e configurazione del Web Container Apache Tomcat. Sviluppo di Java Servlet con Eclipse.
13 27/04/2006 Metodi per la gestione di sessioni d’utente in un’applicazione Web. Introduzione alla tecnologia Java Server Pages (JSP). JSP: ciclo di vita. Esempi.
14 28/04/2006 Accesso a database da Java Servlet e Java Server Page. Esempi di applicazioni web con accesso a database mediante query SQL.
15 04/05/2006 Dalle applicazioni Web ai Web Services. Service Oriented Architectures (SOA). Lo stack protocollare dei WS. WSDL.
16 05/05/2006 Sviluppo e deployment di Web Services con Apache Tomcat ed Axis. Il Web Service Deployment Descriptor (WSDD). Deployment automatico di web service.
17 11/05/2006 Applicazioni peer-to-peer. Caratteristiche di un sistema p2p. Sistemi peer-to-peer non strutturati e strutturati. Gnutella: caratteristiche generali, protocollo e meccanismi di discovery. Meccanismi di discovery per sistemi peer-to-peer non strutturati: Query Caching, Expanding Ring, Query Routing, Random Walks. Sistemi peer-to-peer strutturati. Distributed Hash Table (DHT). Chord (cenni).
18 19/05/2006 Applicazioni di telefonia su IP. Protocolli per il VoIP (Voice over IP). Segnalazione tramite Session Initiation Protocol (SIP). Protocolli di NAT discovery.
19 25/05/2006 Applicazioni location-aware. Tecnologie, tecniche e metodi per la localizzazione. Localizzazione mediante GPS, GSM, WiFi, Bluetooth. Approcci client-based e server-based. Interfacce di programmazione per lo sviluppo di applicazioni location-aware. La API Java JSR-179.
20 26/05/2006 Composizione di servizi web. Orchestrazione e coreografia di web services. Descrizione del workflow di un processo di business. Linguaggi per la composizione e coreografia di web services. BPEL4WS. Un engine per la composizione di web-services: ActiveBPEL.
21 01/06/2006 Una piattaforma per applicazioni P2P: JXTA. Protocolli ed API JXTA. Discovery in JXTA.

Testi consigliati - relativamente al programma svolto finora...

Nota1: altri testi potranno essere consigliati durante il prosieguo del corso.

Nota2: i testi indicati sotto sono "consigliati". Purtroppo, nessuno dei testi indicati coprirà da solo l'intero programma svolto in questo corso. Altri sussidi didattici liberamente accessibili tramite il Web verranno indicati nelle note relative a ciascuna lezione.

  • Web Protocols and Practice: HTTP/1.1, Networking Protocols, Caching, and Traffic Measurement
    Balachander Krishnamurthy, Jennifer Rexford
    Addison-Wesley, 2001

Software necessario per sviluppare gli esercizi e gli elaborati proposti al corso

  • Apache Tomcat is the servlet container that is used in the official Reference Implementation for the Java Servlet and JavaServer Pages technologies.
  • Eclipse is an open source community whose projects are focused on providing an extensible development platform and application frameworks for building software.

roberto.canonico at unina.it

Ultimo aggiornamento: 26 maggio 2006