Smart Data Platform INQUADRAMENTO E FUNZIONALITÀ ...€¦ · Smart Data Platform Organization...

Post on 22-Aug-2020

4 views 0 download

Transcript of Smart Data Platform INQUADRAMENTO E FUNZIONALITÀ ...€¦ · Smart Data Platform Organization...

INQUADRAMENTO E FUNZIONALITÀMONITORAGGIO - PROGETTI

Smart Data Platform

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

Sensor data

Internet of Things

Information System

Public Data

Enteprise Data

Vertical Applications

Social Feeds

Smart Data

Platform

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

IntegrationMiddleware

Front-endUser Interface

Realtime & Batch Analytics

Data management & Storage

Configuration& Automation

Security

Cloud Development & Runtime Platform

Zigbee

IoT

Vertical

Application

IoT

Vertical

Application

Bluetooth LE

nfc

Smart Data Platform

DB

LogicLogic UIUI

Analytic

LogicLogic

D

B

Logi

c

Logi

c D

B

D

B

Gateway(optional)

DeviceSensing Network

ApplicationCloud

• Device Mgmt

• Stream Mgmt

• Stream Integration

• Data Ingestion

• Stream analysis

• Big Data Storage

• APIs development

• Access Stream &

Data via APIs

Connect Everythings

Smart Data Platform

ConnectedObjects

ConnectedSystems

ConnectedUsers

ConnectedApplications

Connect Organization

Organization 1

IoT

Application

Device, Stream,

Data

IoT

ApplicationApplication

Device, Stream,

DataDevice, Stream,

Data

Organization 2

IoT

Application

Device, Stream,

Data

IoT

ApplicationApplication

Device, Stream,

DataDevice, Stream,

Data

Organization 3

IoT

Application

Device, Stream,

Data

IoT

ApplicationApplication

Device, Stream,

DataDevice, Stream,

Data

Organization 4

IoT

Application

Device, Stream,

Data

IoT

ApplicationApplication

Device, Stream,

DataDevice, Stream,

Data

Smart Data PlatformOrganization context

Data/Stream Hub

Selective APIs Sharing

Stream & APIs Store

Metadata / Semantic Interoperability (*)

Architettura piattaforma e

documentazione

Architettura funzionale 1/3

DATA LAKE

DATA API

Architettura funzionale 2/3

DATA API

stream onlinestream real-time

servizi online

dati offlinedati offline

--------> INPUT> INPUT> INPUT> INPUT OUTPUT OUTPUT OUTPUT OUTPUT --------> > > >

Architettura funzionale 3/3

DATA API

Proprietario e gestore

dei sensori e dei dati

Pubblica nuovi stream e

nuovi datiFruitore flussi e dati

Realizza applicazioni

per gli utenti finali

Utenti finali

delle

applicazioni

sviluppate

Sviluppatore di

stream e event

processing

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

DATA LAKE

DATA API

Standard oData

Fruitore

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)

HTTP(s)

RTSP H264

HTTP M-JPEG

Stomp over

WebSocket

HTTP (S2S)

WebM

Disponibili nella versione DEV-0.9 o successive

FTP (dataset)

MQTT(s)

Yucca Platform

Rest API

ODATA

Download

File

Near Realtime

BinarioBatch

Online Alfanumerico

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-di-

interfaccia-ingresso-e-uscita-per-dati-alfanumerici/

Modello

Smart Object89f84a22-1e2e-5882-

bbf0-9c6efffb8ce7

StreamFORNISCE 1 ..N

ComponentsEventoContiene la misura

in un determinato

istante per uno

stream

INVIA 1..N

• longitudine

• latitudine

• altitudine

• temperatura

• umidità

• posizione

• Info meteo

CONTIENE 1 ..N

Esempi di implementazione

Smart Object89f84a22-1e2e-5882-

bbf0-9c6efffb8ce7All info

• longitudine

• latitudine

• altitudine

• temperatura

• umidità

Smart Object89f84a22-1e2e-5882-

bbf0-9c6efffb8ce7

position• longitudine

• latitudine

• altitudine

meteo • temperatura

• umidità

Smart Object1 position• longitudine

• latitudine

• altitudine

meteo • temperatura

• umiditàSmart Object1

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)

• SDP - Arduino Reference Implementation

• SDP - Complex Event Processing

• SDP - bulk dataset load

• SDP – Access data via APIs

DEMO

Demo

SDP - Arduino Reference

Implementation

Reference implementation con Arduino

Arduino(550e8400-e29b-

41d4-a716-

446655440000)

MQTTStomp over

WebSocket

Webapp su

public hosting

Invio e ricezione eventiYucca features:Protocol switching (MQTT � Stomp over WebSocket)

Broadcasting (1 source � N destination)

Monitoring

Yucca Platform

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://int-

userportal.smartdatanet.it/userportal/#/management/strea

ms/smartlab

• Monitoraggio

– http://int-

userportal.smartdatanet.it/userportal/#/dashboard/stream/

smartlab/550e8400-e29b-41d4-a716-

446655440000/temperature

• Reference Application:

– http://www.smartdatanet.it/area-

developer/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

Smartphones

HTTP

Stomp over

WebSocket

Webapp

su server

Composizione ed elaborazione streamYucca features:Aggregation

Filter

Pattern matching

Windowing

Elaborated

streams

Yucca Platform

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/

"long": "7.13042",

"lat": "46.033382",

"alt": "289.0",

"long": "7.13042",

"lat": "46.033382",

"alt": "289.0",

"long": "7.453042",

"lat": "45.0448082",

"alt": "289.0",

"long": "7.453042",

"lat": "45.0448082",

"alt": "289.0",

Elaborazioni online: Aggregation

"long": "7.453042",

"lat": "45.0448082",

"alt": "289.0",

"long": "7.13042",

"lat": "46.033382",

"alt": "289.0",

"long": "7.653042",

"lat": "45.038082",

"alt": "289.0",

"long": "7.653042",

"lat": "45.038082",

"alt": "289.0",

"long": "7.653042",

"lat": "45.038082",

"alt": "289.0",

"long": "7.453042",

"lat": "45.0448082",

"alt": "289.0",

"long": "7.453042",

"lat": "45.0448082",

"alt": "289.0",

"long": "7.453042",

"lat": "45.0448082",

"alt": "289.0",

"long": "7.13042",

"lat": "46.033382",

"alt": "289.0",

"long": "7.13042",

"lat": "46.033382",

"alt": "289.0",

"long": "7.453042",

"lat": "45.0448082",

"alt": "289.0",

"long": "7.453042",

"lat": "45.0448082",

"alt": "289.0",

Elaborazioni online: Enrichment

"long": "7.453042",

"lat": "45.0448082",

"alt": "289.0",

"long": "7.13042",

"lat": "46.033382",

"alt": "289.0",

"long": "7.653042",

"lat": "45.038082",

"alt": "289.0",

"long": "7.653042",

"lat": "45.038082",

"alt": "289.0",

"long": "7.653042",

"lat": "45.038082",

"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": "true",

"long": "7.653042",

"lat": "45.038082",

"alt": "289.0",

"inbound": "false",

+1

"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",

"long": "7.653042",

"lat": "45.038082",

"alt": "289.0",

"inbound": "true",

"long": "7.653042",

"lat": "45.038082",

"alt": "289.0",

"inbound": "false",

"long": "7.653042",

"lat": "45.038082",

"alt": "289.0",

"inbound": "true",

-1

Elaborazioni online: Windows

+1

-1

+1

+1

+1

-16 hours

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

Interrogazione e fruizione

oData API da prototipo

Web applicativo

oData API browsing

tramite client web open

source

oDataQueryBuilder

Interrogazione singolo

dataset da

oDataQueryBuilder

http://demosdp.esy.es/ODataQueryBuilder/http://demosdp.esy.es/ODataQueryBuilder/sdp/map001.html

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:

– l'utilizzo in Piattaforma sarà subordinato all'applicazione dei

vincoli conformi alla normativa;

– è in corso un analisi giuridico-normativa sui flussi critici.

non Open

personali

sensibili

Open

Dati di Contesto della PA

DA:

portale "www.dati.piemonte.it":

• Open Data Regione Piemonte

• Open Data Geoportale ARPA

• Open Data Geoportale Regione

Piemonte (coming soon)

DA:

patrimonio informativo Regione

Piemonte:

• elenco Basi Dati per il

funzionamento dell'Ente

Scaricabili liberamente e

importabili in piattaforma

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:

� La documentazione richiesta per entrambe le parti dovrà

essere anticipata alla casella PEC

finanziamenti.finpiemonte@legalmail.it

5 gg lavorativi prima di ogni incontro di monitoraggio

Monitoraggio

Tecnico

CSI Piemonte

Monitoraggio

Fisico, Finanziario e Procedurale

Finpiemonte

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 ricercaindustriale 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 progettoin 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:

smartdatanet@csi.it

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

Lunedì, 1 dicembre 2014

h. 10.00-12.00 progetto SEes@Wh. 15.00-17.00 progetto QUIES

Mercoledì, 3 dicembre 2014

h. 10.00-12.00 progetto IDEMh. 15.00-17.00 progetto ALL4ALL

Venerdì, 5 dicembre 2014

h. 10.00-12.00 progetto EDENh. 15.00-17.00 progetto SMARTWEAR

Mercoledì, 10 dicembre 2014

h. 10.00-12.00 progetto LEOh. 15.00-17.00 progetto O.N.D.E. - UWC

Venerdì, 12 dicembre 2014

h. 10.00-12.00 progetto IoTiBevoh. 15.00-17.00 progetto HealthCommons

Lunedì, 15 dicembre 2014

h. 10.00-12.00 progetto Pitagorah. 15.00-17.00 progetto ELISE

Mercoledì, 17 dicembre 2014

h. 10.00-12.00 progetto ESGPh. 15.00-17.00 progetto ComfortSense

CONFERMARE DATA PROPOSTA VIA MAIL A

smartdatanet@csi.it (entro 26/11)

� Primo incontro – proposta calendario

Integrazione con Smart Data Platform

� In parallelo al monitoraggio tecnico

�CSI Piemonte richiede alle aziende informazioni per il capacityplanning 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:

smartdatanet@csi.it

� 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:

finanziamenti@finpiemonte.it

oppure chiamare l’URP Finpiemonte: 011 5717777

dal lunedì al venerdì dalle ore 9:00 alle ore 12:00

Q & A

smartdatanet@csi.it

www.smartdatanet.it