inquadramento e funzionalità monitoraggio

Smart Data Platform
INQUADRAMENTO E FUNZIONALITÀ
MONITORAGGIO - PROGETTI
Agenda
•
•
•
•
•
•
Smart Data Platform Overview
Architettura piattaforma e documentazione
Technical Session & Demo
Dati condivisi
Linee guida al monitoraggio
Q&A
Smart Data Platform Overview
Smart Data Scenario
Social Feeds
Information System
Public Data
Enteprise Data
Smart Data
Platform
Internet of Things
Sensor data
Vertical Applications
Smart Data Platform: delivery models
• Cloud: hosting CSI-Piemonte
– http://userportal.smartdatanet.it/userportal
• Open Source: Downlodable sources
– https://github.com/csipiemonte
Yucca Platform
Smart Data Platform Open Technologies
Front-end
User Interface
Integration
Middleware
Realtime &
Batch
Analytics
Data
management
& Storage
Security
Configuration
& Automation
Cloud Development & Runtime Platform
•
•
•
•
•
•
•
•
Device Mgmt
Stream Mgmt
Stream Integration
Data Ingestion
Stream analysis
Big Data Storage
APIs development
Access Stream &
Data via APIs
Device
Sensing Network
Gateway
(optional)
Cloud
IoT
Vertical
Application
Bluetooth LE
nfc
Zigbee
Logi
c
D
B
Application
Smart Data Platform
Logic
Analytic
Logic
DB
UI
D
B
Connect Everythings
Connected
Objects
Connected
Systems
Connected
Users
Smart Data Platform
Connected
Applications
Connect Organization
Organization 1
IoT
IoT
Application
Application
Application
Device, Stream,
Device,
DataStream,
Device,
DataStream,
Data
Organization 2
IoT
IoT
Application
Application
Application
Organization 3
IoT
IoT
Application
Application
Application
Organization 4
IoT
IoT
Application
Application
Application
Device, Stream,
Device,
DataStream,
Device,
DataStream,
Data
Device, Stream,
Device,
DataStream,
Device,
DataStream,
Data
Device, Stream,
Device,
DataStream,
Device,
DataStream,
Data
Smart Data Platform
Organization context
Data/Stream Hub
Selective APIs Sharing
Stream & APIs Store
Metadata / Semantic Interoperability (*)
Architettura piattaforma e
documentazione
Architettura funzionale 1/3
DATA API
DATA LAKE
Architettura funzionale 2/3
-->
--> INPUT
stream online
OUTPUT -->
-->
stream real-time
DATA API
servizi online
dati offline
dati offline
Architettura funzionale 3/3
Proprietario e gestore
dei sensori e dei dati
Pubblica nuovi stream e
nuovi dati
Sviluppatore di
stream e event
processing
Fruitore flussi e dati
Realizza applicazioni
per gli utenti finali
DATA API
Utenti finali
delle
applicazioni
sviluppate
User Portal – funzionalità
Sviluppo e composizione Stream
Developer
Salvataggio e accesso ai dati su SDP
• Gli stream provenienti da smart object potranno
essere salvati su storage e, dalla release di fine
Novembre, sarà anche possibile tramite User
Portal:
– Creare un nuovo dataset definendone la struttura e
popolare il nuovo dataset tramite upload di file (p.e.
CSV)
– Accedere ai dati sia tramite API standard oData, sia
tramite download di file CSV
Creazione nuovo dataset
Accesso ai dati del dataset
Fruizione Api di esposizione dati
Fruitore
DATA API
DATA LAKE
Standard oData
Developer center
• Raggiungibile dal portale pubblico
• Destinato a chi sviluppa soluzioni usando Yucca
• Contiene linee guida, getting started, reference, docs
Protocolli e modello stream
Protocolli
MQTT(s)
MQTT(s)
HTTP(s)
Stomp over
WebSocket
RTSP H264
HTTP M-JPEG
HTTP (S2S)
Yucca Platform
WebM
FTP (dataset)
Rest API
ODATA
Near Realtime
Online
Alfanumerico
Batch
Binario
Disponibili nella versione DEV-0.9 o successive
Download
File
Link
• LINEE GUIDA
– Formato
– Protocolli
http://www.smartdatanet.it/area-developer/linee-guida/
• SPECIFICHE DI INTEGRAZIONE
– Nomenclatura endpoint
– Nomenclatura topic
http://www.smartdatanet.it/area-developer/docs/specifiche-diinterfaccia-ingresso-e-uscita-per-dati-alfanumerici/
Modello
Smart Object
89f84a22-1e2e-5882bbf0-9c6efffb8ce7
INVIA 1..N
Evento
Contiene la misura
in un determinato
istante per uno
stream
FORNISCE 1 ..N
Stream
•
posizione
•
Info meteo
CONTIENE 1 ..N
Components
•
•
•
longitudine
latitudine
altitudine
•
•
temperatura
umidità
Esempi di implementazione
Smart Object
89f84a22-1e2e-5882bbf0-9c6efffb8ce7
Smart Object
89f84a22-1e2e-5882bbf0-9c6efffb8ce7
All info
position
meteo
Smart Object1
position
Smart Object1
meteo
•
•
•
•
•
longitudine
latitudine
altitudine
temperatura
umidità
•
•
•
longitudine
latitudine
altitudine
•
•
temperatura
umidità
•
•
•
longitudine
latitudine
altitudine
•
•
temperatura
umidità
Formato di un evento (alfanumerico)
{
"stream": "position",
"sensor": "cc1bfe50-491c-560d-a235-0e4134bbdc23",
"values": [ {
"time": "2014-10-10T12:36:18+0200",
"components": {
"longitude": "7.685676",
"latitude": "45.070984",
"altitude": "0.0"
}
}]
}
Strumenti per la fruizione
Strumenti utili
(http://www.smartdatanet.it/area-developer/tools/)
MQTT:
– Linux Library C for SDP(GITHUB)
– Arduino reference implementations(GITHUB)
Stomp over Websocket:
– Stomp-websocket(GITHUB)
– WebSocket Singleton Reconnecting Library(GITHUB)
Reference SDP:
– Server Reference implementation(GITHUB)
DEMO
•
•
•
•
SDP - Arduino Reference Implementation
SDP - Complex Event Processing
SDP - bulk dataset load
SDP – Access data via APIs
Demo
SDP - Arduino Reference
Implementation
Reference implementation con Arduino
Stomp over
WebSocket
MQTT
Yucca Platform
Arduino
(550e8400-e29b41d4-a716446655440000)
Invio e ricezione eventi
Yucca features:
Protocol switching (MQTT Stomp over WebSocket)
Broadcasting (1 source N destination)
Monitoring
Webapp su
public hosting
Reference implementation con Arduino
• Informazioni
– Tenant: SMARTLAB
– Smart object: 550e8400-e29b-41d4-a716-446655440000
– Stream: temperature
• Componente: c0 (float)
• Formato Messaggio
{
"stream": "temperature",
"sensor": "550e8400-e29b-41d4-a716-446655440000",
"values": [ {
"time": "2014-10-10T12:36:18+0200",
"components": { "c0": "22.8 "
}
}]
}
Reference implementation con Arduino
• Censimento su platform
– http://intuserportal.smartdatanet.it/userportal/#/management/strea
ms/smartlab
• Monitoraggio
– http://intuserportal.smartdatanet.it/userportal/#/dashboard/stream/
smartlab/550e8400-e29b-41d4-a716446655440000/temperature
• Reference Application:
– http://www.smartdatanet.it/areadeveloper/platform/getting-started
Inside
$('#connect_form').submit(function() {
var url = $("#connect_url").val();
var login = $("#connect_login").val();
var passcode = $("#connect_passcode").val();
destination = $("#destination").val();
// client = Stomp.client(url);
client = WebSocketService(url);
// the client is notified when it is connected to the server.
client.connect(login, passcode, function(frame) {
client.subscribe(destination, function(message) {
var json = message.body;
obj = JSON.parse(json);
…..
Demo
SDP - Complex Event
Processing
Elaborazioni online
Stomp over
WebSocket
HTTP
Smartphones
Yucca Platform
Elaborated
streams
Composizione ed elaborazione stream
Yucca features:
Aggregation
Filter
Pattern matching
Windowing
Webapp
su server
Elaborazioni online
• Informazioni
– Tenant: SMARTLAB
– Smart object(s): cc1bfe50-491c-560d-a235-0e4134bbdc23/
5391c45d-7350-5f9b-b971-f711e2766123/……
– Flusso: position (longitude, latitude, altitude, speed)
{
• Componente: longitude, latitude, altitude, speed
"stream": "position",
"sensor": "cc1bfe50-491c-560d-a235-0e4134bbdc23",
"values": [ {
"time": "2014-10-10T12:36:18+0200",
"components": {
"longitude": "7.685676",
"latitude": "45.070984",
"altitude": "0.0"
"speed": "0.0"
}
}]
}
• Software per smartphone
• http://demosdp.esy.es/release/SmartTrekSensor/
• Applicazione verticale fruitrice
• http://demosdp.esy.es/release/SmartTrekViewer/
Elaborazioni online: Aggregation
"long": "7.653042",
"long": "7.653042",
"7.653042",
"lat":"long":
"45.038082",
"lat": "45.038082",
"45.038082",
"alt":"lat":
"289.0",
"alt": "289.0",
"alt": "289.0",
"long": "7.453042",
"long":
"7.453042",
"lat":
"45.0448082",
"long":
"7.453042",
"lat":
"45.0448082",
"alt":"lat":
"289.0",
"45.0448082",
"alt": "289.0",
"alt": "289.0",
"long": "7.13042",
"long":
"7.13042",
"lat":
"46.033382",
"long":
"7.13042",
"lat":"289.0",
"46.033382",
"alt":
"lat":
"46.033382",
"alt":
"289.0",
"alt": "289.0",
Elaborazioni online: Enrichment
"long": "7.653042",
"long": "7.653042",
"7.653042",
"lat":"long":
"45.038082",
"lat": "45.038082",
"45.038082",
"alt":"lat":
"289.0",
"alt": "289.0",
"alt": "289.0",
"long": "7.453042",
"long":
"7.453042",
"lat":
"45.0448082",
"long":
"7.453042",
"lat":
"45.0448082",
"alt":"lat":
"289.0",
"45.0448082",
"alt": "289.0",
"alt": "289.0",
"long": "7.13042",
"long":
"7.13042",
"lat":
"46.033382",
"long":
"7.13042",
"lat":"289.0",
"46.033382",
"alt":
"lat":
"46.033382",
"alt":
"289.0",
"alt": "289.0",
"long": "7.13042",
"lat": "46.033382",
"alt": "289.0",
"Inbound":true
Elaborazioni online: Enrichment
• Informazioni
– Tenant: SMARTLAB
– Smart object(s): internal
– Flusso: allgpsfiltergeo (longitude, latitude, altitude, speed)
• Componente: longitude, latitude, altitude, speed
{
}
"stream": "allgpsfiltergeo",
"sensor": "cc1bfe50-491c-560d-a235-0e4134bbdc23",
"values": [ {
"time": "2014-10-10T12:36:18+0200",
"components": {
"longitude": "7.685676",
"latitude": "45.070984",
"altitude": "0.0",
"speed": "0.0 ",
"inbound": " true"
}
}]
Elaborazioni online: Pattern
"long": "7.653042",
"lat": "45.038082",
"alt": "289.0",
"inbound": "false",
"long": "7.653042",
"lat": "45.038082",
"alt": "289.0",
"inbound": "false",
"long": "7.653042",
"lat": "45.038082",
"alt": "289.0",
"inbound": "true",
"long": "7.653042",
"lat": "45.038082",
"alt": "289.0",
"inbound": "true",
"long": "7.653042",
"lat": "45.038082",
"alt": "289.0",
"inbound": "true",
"long": "7.653042",
"lat": "45.038082",
"alt": "289.0",
"inbound": "true",
"long": "7.653042",
"lat": "45.038082",
"alt": "289.0",
"inbound": "true",
"long": "7.653042",
"lat": "45.038082",
"alt": "289.0",
"inbound": "false",
+1
-1
Elaborazioni online: Windows
-1
+1
+1
+1
-1
6 hours
+1
2
Elaborazioni online: Pattern + Windows
• Informazioni
– Tenant: SMARTLAB
– Smart object(s): internal
– Flusso: gpscounter (counter)
• Componente: longitude, latitude, altitude, speed
{
}
"stream": "gpscounter",
"sensor": "-",
"values": [ {
"time": "2014-10-10T12:36:18+0200",
"components": {
"counter": "2"
}
}]
Elaborazioni online: altro scenario
Applicazione online delle regole di data quality utilizzate
nel Tropical Atmosphere Ocean project del National
Oceanic and Atmospheric Administration.
Misura: Sea Surface Temperature
Primo livello (FILTRO):
Dato non valido se SST < -9°C o SST > +33°C
Secondo livello (FILTRO e WINDOW)
Dato non valido se |SST-SSTgiorno precedente|> 5°C
Demo
SDP - bulk dataset load
DEMO caricamento dataset e accesso ai dati
• Il big data storage della Smart Data Platform consente di
salvare sia le misure provenienti dagli stream IoT sia i
dati di contesto caricati in modalità offiline in modalità
bulk
• La DEMO ha l’obiettivo di mostrare la creazione di un
nuovo dataset e il caricamento dei dati tramite file CSV
DEMO – creazione dataset e download dati
Creazione nuovo dataset
Invio CSV per preview
struttura dati contenuti
Definizione struttura di
dettaglio attributi dataset
Upload file CSV per
caricamento dati
Accesso alla scheda
dettaglio dataset
Url e informazioni per
l’accesso
Demo
SDP – Access data via APIs
(oData Service API)
Browsing e accesso ai dati via oData API
• La Smart Data Platform espone l’accesso ai dati
provenienti dagli stream e/o da importazioni bulk
tramite servizi REST secondo lo standard oData v2.
“The Open Data Protocol (OData) enables the creation
and consumption of REST APIs, which allow resources,
identified using URLs and defined in a data model, to be
published and edited by Web clients using simple HTTP
messages”
• Questo abilita l’integrazione di tool e applicazioni in
differenti linguaggi aderenti allo standard oData.
DEMO – accesso ai dati tramite oData API
http://demosdp.esy.es/ODataQueryBuilder/
http://demosdp.esy.es/ODataQueryBuilder/sdp/map001.html
oData API browsing
tramite client web open
source
oDataQueryBuilder
Interrogazione singolo
dataset da
oDataQueryBuilder
Interrogazione e fruizione
oData API da prototipo
Web applicativo
Dati Condivisi
Dati disponibili nella SDP
• Dati di «Business»
– Originati dalle aziende che utilizzano la Smart Data Platform
• Dati acquisiti dai sensori
• Dati conferiti alla piattaforma a livello applicativo
• Dati aggregati o elaborazioni rese disponibili in fruizione
• Dati di Contesto della PA
– Permettono di arricchire e contestualizzare i dati di business
• Hanno origine nei sistemi informativi della PA
• Comprendono i dati della PA (Public Sector information)
• Vengono inseriti in piattaforma per poterli aggregare ai dati di
business
Dati di Business
• Dati conferiti alla piattaforma (in conformità alle linee
guida), il fornitore:
– ha piena ed esclusiva disponibilità del dato o ha acquisito tutte
le eventuali autorizzazioni e consensi da soggetti terzi
– è l’unico soggetto che risponderà di eventuali contestazioni o
richieste di risarcimento
– ha responsabilità della definizione della licenza di eventuale
fruizione sulla SDP
• Dati fruiti dalla piattaforma:
– il fruitore sarà l'unico soggetto che risponderà di eventuali
utilizzi non conformi alla licenza associata ai dati fruiti
Dati di Business (2)
• In caso di dati:
Open
non Open
personali
sensibili
– l'utilizzo in Piattaforma sarà subordinato all'applicazione dei
vincoli conformi alla normativa;
– è in corso un analisi giuridico-normativa sui flussi critici.
Dati di Contesto della PA
DA:
DA:
portale "www.dati.piemonte.it":
patrimonio informativo Regione
Piemonte:
• Open Data Regione Piemonte
• Open Data Geoportale ARPA
• Open Data Geoportale Regione
Piemonte (coming soon)
Scaricabili liberamente e
importabili in piattaforma
• elenco Basi Dati per il
funzionamento dell'Ente
Se open (tutti o in parte): LIBERATI
e pubblicati su www.dati.piemonte
Se non open: richiesta di fruizione
in modalità riservata
Linee guida al monitoraggio
Linee Guida al Monitoraggio
Il monitoraggio del Bando si compone di due parti:
Monitoraggio
Tecnico
Monitoraggio
Fisico, Finanziario e Procedurale
CSI Piemonte
Finpiemonte
La documentazione richiesta per entrambe le parti dovrà
essere anticipata alla casella PEC
[email protected]
5 gg lavorativi prima di ogni incontro di monitoraggio
Monitoraggio Tecnico
Monitoraggio Tecnico
Curato dal CSI Piemonte, (DD n. 151 del 30 maggio 2014) avrà
per scopo la verifica dello stato di avanzamento del progetto
in riferimento ai risultati raggiunti dalle attività di ricerca
industriale e/o di sviluppo sperimentale in coerenza con i
deliverable previsti
Le informazioni sullo stato del progetto saranno riportate
nella Relazione Tecnica:
descrizione delle attività realizzate o avviate;
risultati ottenuti in riferimento ai piani di progetto;
le prime valutazioni sugli effetti prodotti;
avanzamento attività.
Monitoraggio Tecnico
Avanzamento attività
Monitoraggio Tecnico
Lo svolgimento dell’attività di monitoraggio comporterà
l’accesso da parte di CSI Piemonte ai deliverable di progetto
in formato documentale e/o applicativo
CSI Piemonte assicura la segretezza e la confidenzialità dei
dati, delle informazioni e del know-how commerciale di cui
verrà a conoscenza nell'ambito del monitoraggio
Per eventuali richieste di chiarimento relative alla
predisposizione della Relazione Tecnica di monitoraggio
occorrerà fare riferimento alla casella di posta:
[email protected]
Monitoraggio Tecnico
Sono previsti 3 incontri di monitoraggio tecnico
Primo Incontro
entro il prossimo mese di dicembre presso la sede del CSI Piemonte
con ogni Capofila progettuale (ed eventuali altri partner a sua
discrezione)
verrà richiesta la prima Relazione Tecnica di monitoraggio in cui dovrà
essere presentato il cronoprogramma aggiornato del progetto,
riportando la data di kick off di avvio attività
Monitoraggio Tecnico
Secondo Incontro
si svolgerà entro aprile 2015
verrà richiesta la Relazione Tecnica di monitoraggio intermedio con
possibili verifiche tecniche e documentali dei deliverable previsti a
piano
Terzo Incontro
si svolgerà entro la fine di settembre 2015
verrà richiesta la Relazione Tecnica di avanzamento finale del progetto,
che sarà utilizzata per la valutazione conclusiva
la verifica dovrà comprendere una dimostrazione funzionale dei
deliverable di progetto
Monitoraggio Tecnico
Primo incontro – proposta calendario
Lunedì, 1 dicembre 2014
h. 10.00-12.00 progetto SEes@W
h. 15.00-17.00 progetto QUIES
Venerdì, 12 dicembre 2014
h. 10.00-12.00 progetto IoTiBevo
h. 15.00-17.00 progetto HealthCommons
Mercoledì, 3 dicembre 2014
h. 10.00-12.00 progetto IDEM
h. 15.00-17.00 progetto ALL4ALL
Lunedì, 15 dicembre 2014
h. 10.00-12.00 progetto Pitagora
h. 15.00-17.00 progetto ELISE
Venerdì, 5 dicembre 2014
h. 10.00-12.00 progetto EDEN
h. 15.00-17.00 progetto SMARTWEAR
Mercoledì, 17 dicembre 2014
h. 10.00-12.00 progetto ESGP
h. 15.00-17.00 progetto ComfortSense
Mercoledì, 10 dicembre 2014
CONFERMARE DATA PROPOSTA VIA MAIL A
h. 10.00-12.00 progetto LEO
[email protected] (entro 26/11)
h. 15.00-17.00 progetto O.N.D.E. - UWC
Integrazione con Smart Data Platform
In parallelo al monitoraggio tecnico
CSI Piemonte richiede alle aziende informazioni per il capacity
planning della Piattaforma (es. frequenza invio stream,
dimensioni dataset, necessità di fruizione). Si richiede alle
aziende di compilare il capacity planning entro il mese di
dicembre 2014
CSI Piemonte è disponibile per approfondimenti
sull'interfacciamento con la Smart Data Platform Yucca:
Mediante Developer center e contatti continuativi
Con incontri de visu contestuali agli incontri di monitoraggio
(segnalandone prima l’esigenza)
Monitoraggio Fisico
Finanziario e Procedurale
Monitoraggio Fisico Finanziario Procedurale
Curato da FINPIEMONTE, segue temporalmente le scadenze
previste dal monitoraggio tecnico
I
beneficiari,
contemporaneamente
all’invio
della
documentazione tecnica, inoltrano anche lo stato di avanzamento
della spesa (= fatture quietanzate), da compilarsi su supporto
excel messo a disposizione da Finpiemonte
NB: prima dell’incontro 1, Finpiemonte fornisce al capofila del
progetto il file excel di partenza, con già compilato il piano di
spesa approvato dal Comitato
Monitoraggio Fisico Finanziario Procedurale
Nel file sono presenti opportuni campi note, in cui il capofila
riporta le motivazioni degli scostamenti che possono
eventualmente emergere
La documentazione viene analizzata prima degli incontri fissati
per il monitoraggio tecnico per evidenziare eventuali
problematiche. Finpiemonte potrà chiedere opportuni
chiarimenti ed informazioni, anche in occasione degli incontri
previsti dal monitoraggio tecnico
Contatti
Per eventuali richieste di chiarimento, si prega di utilizzare i
seguenti riferimenti:
per la predisposizione della Relazione Tecnica di monitoraggio, fare
riferimento alla casella di posta elettronica:
[email protected]
per la predisposizione del Piano di Spesa, e chiarimenti relativi al
monitoraggio fisico, finanziario e procedurale così come definiti nel
Bando, fare riferimento alla casella di posta elettronica:
[email protected]
oppure chiamare l’URP Finpiemonte: 011 5717777
dal lunedì al venerdì dalle ore 9:00 alle ore 12:00
Q&A
[email protected]
www.smartdatanet.it