Anno di corso: 1

Anno di corso: 2

Crediti: 6
Crediti: 6
Crediti: 6
Crediti: 6
Crediti: 6
Crediti: 6
Crediti: 12
Tipo: A scelta dello studente
Crediti: 3
Tipo: Lingua/Prova Finale
Crediti: 33
Tipo: Lingua/Prova Finale

TECNOLOGIE ED APPLICAZIONI DEI SISTEMI DISTRIBUITI

Scheda dell'insegnamento

Anno accademico di regolamento: 
2015/2016
Anno di corso: 
2
Anno accademico di erogazione: 
2016/2017
Tipo di attività: 
Obbligatorio a scelta
Crediti: 
6
Ciclo: 
Primo Semestre
Ore di attivita' didattica: 
52
Prerequisiti: 

E’ opportuno che lo studente possegga conoscenze di base di informatica e di funzionamento delle reti. La prima parte del corso è comunque dedicata allo studio dei concetti e dei modelli base per favorire chi non ha una formazione informatica.

Moduli

Metodi di valutazione

Tipo di esame: 
Orale
Modalita' di verifica dell'apprendimento: 

La verifica dell'apprendimento avviene con un questionario con domande a risposta aperta o chiusa e colloquio obbligatorio.
Possibilità di svolgere progetti di approfondimento.

Valutazione: 
Voto Finale

Obiettivi formativi

Lo scopo del corso è fornire allo studente gli elementi fondamentali per comprendere e progettare applicazioni Web collaborative e a servizi. 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. Con questo bagaglio di conoscenze sarà in grado di analizzare sistemi esistenti e partecipare alla progettazione di sistemi innovativi.

Contenuti

L’utilizzo del Web come infrastruttura per lo sviluppo di sistemi distribuiti e la presenza di terminali diversi dal classico personal computer hanno determinato lo sviluppo di nuove tecnologie e stimolato lo sviluppo di nuove applicazioni. Il corso studia i principi e i modelli delle tecnologie software per il progetto e lo sviluppo di applicazioni Web 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 desktop e mobili comunemente classificate come Cloud, Web 2.0, Web 3.0 con interfacce a mash-up o dashboard.

Programma esteso

1 Introduzione al corso: evoluzione di Internet e del Web. Richiami dei concetti fondamentali per il corso: principi di programmazione ad oggetti e di funzionamento della rete Internet e del Web. Il protocollo HTTP e le applicazioni Web (Servlet/JSP). Identificare le risorse in rete: uniform resource identifier (URI) e Domain Name Service (DNS).

2 Definizione di servizio, modelli organizzativi a servizi, architettura dei sistemi orientati ai servizi. Processi di business e servizi. Modelli e principi di cloud computing e loro impatto sui piano organizzativo e di architettura delle soluzioni.

3 Web services: tipologie e caratteristiche (WSDL/SOAP, RESTful, Semantic Web Services), gestione dei servizi (pubblicazione, ricerca, utilizzo e composizione), gli standard e il loro ruolo. Principi e concetti dei sistemi distribuiti interattivi basati sui servizi. Applicazioni Web leggere. Rich Internet Applications: tecnologie Ajax.

4 Scambio di informazioni. Formati di scambio dati nei sistemi distribuiti (RSS, JSON, XML); identificazione delle risorse e definizione degli spazi dei nomi (linked data e RDF); descrizione e annotazione dei servizi (sintattiche e semantiche): proprietà funzionali, non-funzionali e comportamentali; il problema del matchmaking per la ricerca e il confronto tra descrizioni (cenni).

5 Modelli e tecnologie emergenti: integrazione dei dati (mashup), social computing (Web 2.0), social networks e crowdsourcing, applicazioni mobili (mobile apps).

Bibliografia consigliata

Non c’è un unico testo di riferimento. Verranno indicati articoli e risorse sul sito di elearning.
Testi consigliati:
Web Services: Principles and Technology - Michael Papazoglou, Prentice Hall 2008, ISBN-10: 0321155556 - ISBN-13: 9780321155559
Semantic Web - Dai fondamenti alla realizzazione di un’applicazione - Emanuele Della Valle, Irene Celino, Dario Cerizza, Addison Wesley 2009, ISBN 9788871925783
Reti di calcolatori e internet – Un approccio top-down 4a Edizione, James F. Kurose, Keith W. Ross
Addison Wesley 2008, ISBN 9788871924557 - Primi 2 capitoli -

Metodi didattici

Il corso prevede lezioni ed esercitazioni in aula con attività di studio individuale supportate da materiali didattici in e-learning.