Page begin -
Logo DISCO
|
Go to the Highly accessible area
|
Go to the Content page
|
Go to the End of content
|
Go to the Main menu
|
Go to the Navigation Bar (location)
|
Go to the Navigation menu (tree)
|
Go to the Commands list
|
Go to the Further readings
|
Go to the Bottom Menu
|
Logo Ateneo
   
Education
Tecnologie ed applicazioni dei sistemi distribuiti

Codice Insegnamento: F1801Q047

Docente: Flavio De Paoli

Contenuti:
L’utilizzo del Web come infrastruttura per lo sviluppo di sistemi cooperativi distribuiti e la presenza di terminali diversi dal classico personal computer hanno determinato lo sviluppo di nuove tecnologie ed stimolato lo sviluppo di nuove applicazioni. Il corso studia i modelli e le architetture delle piattaforme software per il progetto e lo sviluppo di applicazioni Web dinamiche e di sistemi basati sul concetto di servizio come componente software indipendente. Analizza poi come i diversi paradigmi di interazione e comunicazione vengono supportati dalle tecnologie, con particolare riferimento alle applicazioni comunemente indicate come Web 2.0, Web 3.0 con interfacce a mash-up o dashboard.

Testi di riferimento:
Non è previsto un testo di riferimento, il materiale didattico verrà reso disponibile tramite il sistema di e-learning.

Per approfondimenti:
Web Services: Principles and Technology, Michael Papazoglou, Prentice Hall, 2008
Distributed Systems: Principles and Paradigms - 2nd edition, Andrew S. Tanenbaum and Maarten van Steen, Pearson - Prentice Hall, 2007.
Traduzione italiana: Sistemi Distribuiti - Seconda edizione, Pearson - Prentice Hall, 2007.
Programming the World Wide Web – sixth edition, Robert W. Sebesta, Pearson, 2011

Obiettivi formativi:
Lo scopo del corso è fornire allo studente gli elementi fondamentali per comprendere e progettare applicazioni Web cooperative. Al termine del corso lo studente conoscerà i principali modelli di sistemi distribuiti basati su tecnologia Web e le caratteristiche fondamentali dei linguaggi e degli strumenti per la loro realizzazione. Sarà quindi in grado di analizzare l’architettura di un sistema distribuito e comprenderne le caratteristiche tecnologiche. Con questo bagaglio di conoscenze sarà in grado di ideare e progettare sistemi per la creazione e la fruizione di informazioni e servizi.

Prerequisiti:
È auspicabile la conoscenza di base di reti di calcolatori e sistemi distribuiti, ma è comunque prevista una prima parte in cui i concetti fondamentali vengono definiti e spiegati.

Metodi didattici:
Lezioni frontali con esercitazioni in aula e in laboratorio.

Altre informazioni:
Programma esteso:

  1. Parte I: i concetti fondamentali. La rete Internet, il protocollo TCP/IP, e l’interfaccia a socket; definizione e proprietà dei sistemi distribuiti; il Web e il protocollo http; l’architettura delle applicazioni Web basate su servlet; il linguaggio XML.
  2. Parte II: i sistemi a servizi. Definizione di servizio, modello dei servizi, architettura dei sistemi orientati ai servizi. Web services: tipologie e caratteristiche (REST e SOAP), gestione dei servizi (pubblicazione, ricerca, utilizzo e composizione), gli standard e il loro ruolo. La scienza dei servizi: processi di business e strategie di progettazione. Cloud Computing: un cambio di paradigma per la progettazione dei sistemi.
  3. Parte III: lo scambio di informazioni. Formati di scambio dati nei sistemi distribuiti (RSS, JSON, XML); identificazione delle risorse con URI e definizione degli spazi dei nomi (linked data e RDF); descrizione dei servizi (sintattiche e semantiche): proprietà funzionali, non-funzionali e comportamentali; il problema del matchmaking per la ricerca e il confronto tra descrizioni.
  4. Parte IV: interazione e interfacce. Definizione di sistema Web 2.0 e Web 3.0. Architettura dei sistemi Web cooperativi (Blog, wiki, social networks). Creazione di applicazioni personalizzate con le tecniche di mashup e dashboard. Le tecnologie lato client per la creazione di interfacce attive: l’architettura Ajax.

Modalità di verifica dell'apprendimento:
Tipo esame:

Esame scritto con domande aperte e chiuse e colloquio obbligatorio. Possibilità di svolgere progetti in parziale o totale sostituzione dell’esame.

Tipo valutazione:
voto finale

 

 



Further readings
(C) Copyright 2016 - Dipartimento Informatica Sistemistica e Comunicazione - Viale Sarca, 336
20126 Milano - Edificio U14
redazioneweb@disco.unimib.it - last update of this page 11/10/2011