Il corso puo' essere inserito nei piani di studio di Ingegneria Informatica, Ingegneria delle Telecomunicazioni, e di Informatica di Scienze, etc.
Il docente effettua ogni anno degli aggiornamenti al corso e alle slide in modo da fornire una formazione professionale e aggiornata a chi segue il corso. Le slide aggiornate o comunque valide per il corso 2018-19 sono evidenziate di seguito conaltrimenti sono dell'anno precedente:
- Overview (parte 0): una vista generale al corso:
- Introduzione (parte 1): Cosa sono i sistemi distribuiti, Tecnologie dei sistemi distribuiti, Internet e sua Evoluzione, Intranet, Penetrazione di internet, Crescita, Sistemi Mobili, Condivisione delle risorse, Web Server, Caratteristiche: Eterogenei, aperti, sicuri, trasparenti, architetture, n-tier.
- additional with demo video
- Modelli Middleware, remote Call (parte 4) Evoluzione delle architetture Client Server, Comunicazione fra processi; evoluzione dei sistemi distribuiti; Progettazione di Sistemi Distribuiti; Middleware: il Middleware; RPC e RMI; Modello ad oggetti di sistemi distribuiti; Oggetti remoti ed interfacce; Comunicazione fra oggetti, clock e Corba
- VIDEO1 (from 1 to 20 slide), VIDEO2, VIDEO3, Video4, video5
- Clock e ordinamenti in sistemi ditribuiti;
- VideoCorba1, VideoCorba2
- XML..WSDL (parte 2): fondamenti di XML, uso avanzato dell'XML, XML e Web Services, esercitazioni;
- Espressioni regolari, javascript, JSON (parte 3).
- IOT, Internet of Things Solutions (Parte X): IOT concepts, High vs Low level protocols, IOT Middleware, IOT conceptual architecture, IOT communication patterns, IOT stack protocols, IOT Brokers, IOT development tool, IOT Applications, IBM NodeRED.
- 2024: https://www.snap4city.org/download/video/course/p3/Snap4City-p3-iot-app-proc-logic-v12-5.pdf
- video-iot1, video-iot2, video-iot3, video-iot4, video-iot5, video-iot6, video-iot7, video-iot8, video-iot9,
- video-iot10
- per questa parte del corso si segua il corso e le video lezioni Snap4City di UNIFI dalla pagina https://www.snap4city.org/drupal/node/577, per la parte 3, dove trovate slide e video
- C. Badii, P. Bellini, A. Difino, P. Nesi, "Smart City IoT Platform Respecting GDPR Privacy and Security Aspects", accepted for publication on IEEE Access, 2020. 10.1109/ACCESS.2020.2968741 https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8966344
- C. Badii, P. Bellini, A. Difino, P. Nesi, G. Pantaleo, M. Paolucci, MicroServices Suite for Smart City Applications, Sensors, MDPI, 2019. https://doi.org/10.3390/s19214798
- C. Badii, P. Bellini, A. Difino, P. Nesi, "Sii-Mobility: an IOT/IOE architecture to enhance smart city services of mobility and transportation", Sensors, MDPI, 2019. https://doi.org/10.3390/s19010001 https://www.mdpi.com/1424-8220/19/1/1/pd
- data ingestion 2024:
[2023 e precedenti]
- Sistemi P2P (Parte 5): aspetti generali, applicazioni P2P, evoluzione storica, tecnologiche, requisiti, architetture (distribuite, concentrare e ibride), propagazione/seeding, DHT/emule, download multisorgente, protocollo bitTorrent.
- Overview on Smart City (Parte 7): Smart City Concepts, Architecture of Smart City Infrastructures, Data ingestion and mining, Reasoning and Deduction, Data Acting processors; Data Mining e Problematiche smart City (DISIT Smart City Ontology, Km4City), Service Map and Linked Open Graph; Twitter Vigilance via Natural Language Processing.
- : per questa parte del corso si segua il corso e le video lezioni Snap4City di UNIFI dalla pagina https://www.snap4city.org/drupal/node/577, per le parti 1, 2, 4, dove trovate slide e video
- per approfondimenti: progetti SMART CITY: Sii-Mobility, RESOLUTE H2020, REPLICATE H2020, Veda Km4City.
- Programmazione IOT per data warehouse
- per questa parte del corso si segua il corso e le video lezioni Snap4City di UNIFI dalla pagina https://www.snap4city.org/drupal/node/577, per la parti 5 e 6, dove trovate slide e video
- Programmazione Web e Mobile App con soluzioni multipiattaforma. corso basato sul tool di sviluppo per web e mobile App si Sii-Mobility e Km4City http://www.disit.org/7044
- per questa parte del corso si il segua il corso e le video lezioni Snap4City di UNIFI dalla pagina https://www.snap4city.org/drupal/node/577, per la parte 7, dove trovate slide e video
- TC5.16- Exploiting Smart City API for developing Mobile and Web Apps
- Architetture Parallele, grid, big data, Hadoop, spark (Parte 6): architetture parallele, speed up, calcolo parallelo e distribuito, problemi del calcolo parallelo, Soluzioni GRID.
- FINE!
Complementi opzionali (questi complementi sono approfondimenti che lo studente puo' svolgere/sviluppare a scelta, alcuni complementi possono essere utili per colmare eventuali lacune):
- Programmazione ETL per DataWarehouse (Parte 8): from open data to triples, OD 2 RDF, OD and PD, static and Dynamic OD, Problemi architetturali, programmazione ETL, esempi concreti, massive data mining and crawling, quality improvement, geolocalization, triplification, reasoning and rendering, example of km4city data ingestion.
- Fondameti di Cloud Computing and Virtualization (Parte 9): motivation for cloud computing, PaaS, SaaS, IaaS; virtiual machine concepts, VM shapshots, virtual resources; cloud computing, cloud vs grid, goals of cloud computing; high availability; DRS; multi-tier architecture, vapp, NAS/SAN, performance analysis.
- Programmare in PHP fino ai CMS (parte 3): architetture web server, programmazione in PHP, strutture e costrutti, operatori, get/post, query, form, esempi ed esercitazioni;Content Management Systems, CMS; programmazione PHP per CMS, moduli, call back, ruoli, etc. HTML: strutture, formati, CSS, menu, espressioni regolari, cookie, sessioni. Javascript: ...., (con esercitazioni comprese)
- Reti Sociali, short overview on social network (Parte 19, ver:1.1) (da aggiornare versione 1.2) una breve vista sui problemi delle social network, modelli collaborativi, modellazione delle relazioni, metriche, distanze fra profili, confronto di reti sociali attuali come: youtube, flickr, etc.; Una versione piu' estesa del programma viene svolta nel Corso di Sistemi Collaborativi e di protezione della Laurea Magistrale.
- Laboratorio di Sistemi Distribuiti e Tecnologie Internet: dimostrazione di sistemi GRID, social network, P2P controllato, architetture multitier, cloud computing, e virtualizzazioni.
- solo 2010-2011 --- Sistemi Coperativi, CSCW, Computer Supported Cooperative Work (Parte 6, ver:3.2): (versione 3.3) Computer Supported Cooperative Work; tipologie e classificazione, tassonomie, sistemi sincroni e asincroni, tempo e spazio, Tecnologie e problemi; Granularità; Paradigmi per l’interazione, architetture; Proprietà per l’interazione, consistenza, convergenza, causalità, conservazione delle intenzioni; progettazione; Undo selettivo e non lineare; esempi vari, da MOODS e da IMAESTRO (MOODS sistema cooperativo per la condivisione e manipolazione di informazione musicale si veda questo articolo su MOODS; esempio di uso del CSCW DISIT, applicazioni varie: Video-Esempio-CSCW-DISIT.zip; Tools IMAESTRO per CSCW su MAX/MSP e non solo: imaestro-mpeg-smr-tools-max-msp-cooperative-work-setup-may-2007-v1-0.exe
- 2013-2014 Sistemi Mobili e loro progettazione (Parte 7a): sistemi mobili, da PDA a cellulari e altro, comunicazione; confronto; profiling, emulazione e sviluppo software per sistemi mobili, modello di programmazione per sistemi mobili iPhone/iPad, modello di programmazione Android, Windows Phone, aspetti di progettazione, confronto fra modelli di programmazione, notifiche in push, sistemi di sensori, soluzioni per la navigazione, navigazione inerziale, connessione e comunicazione diretta fra mobile; esempi di applicazioni.
- [opzionale 2013-2014] Sistemi mobili programmazione in Objective C (Parte 7b): costrutti del linguaggio, pattern, esertictazioni di programmazione.
- HTML: disit-lettere-html-v1-0.pdf
- Introduzione, database: disit-lettere-database-v1-0.pdf
- (non presentate nel 2011/12, in parte incluse nella parte del PHP) WEB services e REST (parte 2a, ver:1.2): (versione 1.3) remote invocation via Web Services and REST architectures, strumenti per i WEB services, verifica, SOAP.
- SQL: disit-lettere-sql-v1-0.pdf
- Sistemi a Componenti (Parte 7, ver:1.2): modelli a componenti, sistemi distribuiti a componenti, component ibnterface, type of composition, remoting, MPEG M3W Multimedia Middleware, resource management, fault management, integrity management, multimedia API, IPMP aspects, interfaces, examples, remote services, resource management;
- .NET Framework (Parte 8, ver:1.0): descrizione della piattaforma .NET e prerogative, Codici, IL, Common Language Runtime, Just in time Compiler, platform indepedence, comparison with J2EE, Assembly, Garbage Collection, MONO, etc.;
- Programmazione in C#, C Sharp (Parte 9, ver:1.0): programmazione in C#, aspetti avanzati del paradigma di programmazione, confronto con C++, reflection, etc.;
- .NET Remoting (Parte 10, ver:1.0): remoting, application domain, isolation, remoting with web services, HTTP, ftp, dcom.;
- Introduzione al Commercio Elettronico e Distribuzione di Contenuti Digitali (Parte 12, ver:1.5): modello dei contenuti digitali, manipolazione e distribuzione dei contenuti digitli, problematic, architetture, Intellectually Property Rights (IPR) , digital rights management (DRM), commercio elettronico, esempi come Windows Media DRM, Apple iTune, architetture multicanale, distirbuzione multicnale, convergenza dei media, interoperabilita' delle soluzioni DRMm MPEG-21 REL, OMA ODRL, AXMEDIS , etc.AXMEDIS Framework for all, an overview of AXMEDIS ;
- MPEG-21 introduzione allo standard (Parte 13, ver:1.2): MPEG serie di standard, Digital Item DID, Digital Item Description Language DIDL, Right Expression Language REL, rights data dictionary RDD, Intellectually Property Management Processor IPMP, DIBO, Digital Item Metods DIM, Digital Item Adaptation DIA;
- Esercitazioni di Sistemi Distribuiti AA 2005-2006: (slide con commenti e digrammi prodotti durante l'esercitazione) Caso di studio 1: Middleware dinamico per componenti, Caso di studio 2: Middleware Cooperativo, Caso di studio 3: Monitoraggio e controllo di segnali audio/video, Caso di studio 4: Gestione di cartelle cliniche condivise in modalita’ controllata;
- Esercitazioni di Sistemi Distribuiti AA 2006-2007: Caso di studio 1: gestione palestre tecnologiche; Caso di studio 2: produzione e gestione di informazioni in ambiente cooperativo; Caso di studio 3: distribuzione e condivisione di contenuti digitali su un modello P2P ;
- Sistemi Cooperativi 3D: esempi di Second Life, problemi di scalabilita', etc.