Inizio della pagina -
Logo DISCO
|
Visita la Versione ad elevata leggibilità
|
Vai al Contenuto della pagina
|
Vai alla Fine dei contenuti
|
Vai al Menu Principale
|
Vai alla Barra di navigazione (sei in)
|
Vai al Menu di navigazione (albero)
|
Vai alla Lista dei comandi
|
Vai alla Lista degli approfondimenti
|
Vai al Menu inferiore
|
Logo Ateneo
   
Didattica
Tecnologie ed applicazioni dei sistemi distribuiti

Codice ins.

Insegnamento

CFU ins.

Tipo ins.

Anno

Sem.

SSD ins.

Responsabile insegnamento

F1801Q124

Tecnologie ed applicazioni dei sistemi distribuiti

6

OBS

2

1

INF/01

DE PAOLI Flavio

 

Distributed System Technologies and Applications

 

 

 

 

 

 

Contenuti:
L’utilizzo del Web come infrastruttura per lo sviluppo di sistemi collaborativi 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 d’interazione e comunicazione sono supportati dalle tecnologie, con particolare riferimento alle applicazioni comunemente indicate come Web 2.0, Web 3.0 con interfacce a mash-up o dashboard, al cloud computing e alle applicazioni mobili.

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.
Web Application architecture – principles, protocols, and practices – second edition, L. Shklar and R.Rosen, Wiley, 2009
Semantic Web - Dai fondamenti alla realizzazione di un’applicazione, E. Della Valle, I. Celino, D. Cerizza, Addison Wesley, 2009

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.

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

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

Programma esteso:

  • Parte I: richiami dei concetti di base. 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.
  • 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.
  • 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 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.
  • Parte IV: Modelli e tecnologie emergenti. Definizione di sistema Web 2.0 e Web 3.0. Architettura dei sistemi Web collaborativi (Blog, wiki, social networks, crowdsourcing);Applicazioni mobili (mobile apps).Creazione di applicazioni personalizzate con le tecniche di mashup e dashboard. Le tecnologie lato client per la creazione di interfacce attive: l’architettura Ajax.

Tipo esame:
Questionario con domande a risposta libera e colloquio obbligatorio.
Possibilità di progetto in alternativa.

Tipo  valutazione:
Voto finale

Contents:
The exploitation of the Web as infrastructure to build collaborative distributed systems and the use of devices different from traditional personal computer  have fostered the development of new technologies and new applications. This course studies models and architecture of software platforms to design and develop dynamic Web applications and systems based on the concept of service as independent software component. Analysis of different interaction and communication paradigms with respect to supporting technology is also conducted, with specific reference to the so-called 2.0 and 3.0 applications, cloud computing and mobile apps.

Textbook:
There isn’t a reference textbook. Learning material will be made available through the e-learning system.

Additional books:
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
Web Application architecture – principles, protocols, and practices – second edition, L. Shklar and R.Rosen, Wiley, 2009
Semantic Web - Dai fondamenti alla realizzazione di un’applicazione, E. Della Valle, I. Celino, D. Cerizza, Addison Wesley, 2009

Goals:

The goal of the course is to provide students with fundamental elements to understand and design collaborative and service-oriented Web applications. After the course, students will master the most important models for distributed systems based on Web technology, and the basic characteristics of languages and tools for their development. They will be able to analyze existing systems and be part of teams to design innovative systems.

Prerequisites:

It is desirable that students already know basic networking and distributed system principles, but in the first part of the course they will be defined and explained.

Teaching methods:
The course includes theoretical and exercises lectures integrated by individual study activities with e-learning support.

Program:

  • Part I: Basic concepts. Internet and TCP/IP protocol; the socket interface; definition and properties of distributed systems; the Web and its HTTP protocol; Web application architecture based on servlets; the XML language.
  • Part II: Service-oriented systems. Definition of service and service model; service oriented architecture (SOA); Web services: types and characteristics (WSDL/SOAP, REST); service management (publishing, discovery, composition and use); The role of standards; Service Science: business processed and design alternatives; Cloud computing: a paradigm shift to system design.
  • Part III: Information exchange. Data formats in distributed systems (RSS, JSON, XML); resourse identifiers (URI) and name spaces (Linked Data and RDF); service descriptions and annotations (syntactic and semantic); functional, non-functional and behavioral properties; matchmaking issues in research and comparison maong descriptions.
  • Part IV: Emerging models and technologies. Definition of Web 2.0 and 3.0 systems; architecture of collaborative Web applications (Blog, Wiki, social networks, croudsourcing); Mobile apps; customized applications with mashups and dashboards; Active client-side applications: the Ajax architecture.

Exam:
Written questioner with open questions with oral discussion

Evaluation:
Final mark

 

Approfondimenti

Google Translate
Translate to English Translate to French Translate to German Translate to Spanish Translate to Chinese Translate to Portuguese Translate to Arabic
Translate to Albanian Translate to Bulgarian Translate to Croatian Translate to Czech Translate to Danish Translate to Dutch Translate to Finnish Translate to Greek Translate to Hindi
Translate to Hungarian Translate to Irish Translate to Japanese Translate to Korean Translate to Norwegian Translate to Polish Translate to Romanian Translate to Russian Translate to Serbian
Translate to Slovenian Translate to Swedish Translate to Thai Translate to Turkish

(C) Copyright 2016 - Dipartimento Informatica Sistemistica e Comunicazione - Viale Sarca, 336
20126 Milano - Edificio U14
redazioneweb@disco.unimib.it - ultimo aggiornamento di questa pagina 27/09/2012