TOWARD IOT AND BIG DATA! - THE RISE OF ISTSOS3 - FOSS4G-IT 2018
←
→
Trascrizione del contenuto della pagina
Se il tuo browser non visualizza correttamente la pagina, ti preghiamo di leggere il contenuto della pagina quaggiù
Locarno: gestione delle esondazioni Piogge intense a confronto della capacità di deflusso (2,000 m3/s) Bacino idrologico esteso (6’386 km2) ed area del lago limitata (213 km2)
Architettura aperta Sulla base dei principi SOA (Service Oriented Architecture) e le specifiche dell’Open Geospatial Consortium Sensor Web Enablement (OGC - SWE) initiative Dati Comprensione Azione WEB WEB SENSOR FEATURE COVERAGES OBSERVATION SERVICE ERVICE SERVICE WEB NOTIFICATION INTERVENTION SERVICE WEB MAPPING POLICY MAKING SERVICE & DSS Analisi WEB PROCESSING SERVICE
MIARIA – Adaptive Hydrogeological Monitoring in support of the Alpine Iintegrated Risk plan Dynamically identify impacts of impending scenarios and rise alerts
DACD / IST / ISTSOS in support of ENORASIS for optimizing irrigation ENORASIS The project ENORASIS is a FP7-ENV project (Grant Agreement 282.949). The project duration is three years (January 2012 – December 2014). Objective Develop an integrated decision support system for environmentally optimized and thus sustainable irrigation management for farmers and water management organizations based on advanced technologies and models.
Analysis of 4 times Open Non-conventional system for Sensing the Environment Empower environmental monitoring in developing countries using non- conventional and fully open solution
open source water resource management platform
Caso in produzione: Canton Ticino HydroMet
istSOS service for Canton Ticino HydroMet CONFIGURAZIONE 549 registered sensors 15 observed properties (air-temperature, air-rainfall, water-height, water-height, air-humidity, water-discharge, water-height, air-pressure, air-radiation, water-conductivity, water-temperature, water-temperature, battery-tension, water-tension, air- relative_humidity) 47 years of data (1970-2017) 114 Mio registered observations 73 GB of database
Alcune statistiche di un anno(8.2016/8.2017) TRAFFICO 122 GB of data served 75 Mio served requests in 1Y 1 Internal server error response (500) UPTIME 99.902% Availability 9 hours Downtime
istSOS2 loading test to identifies bottlenecks PAPER UNDER REVIEW • 3 different cases • 2 different WGSI server solution • 2 different user types • 5 different concurrent users scenarios (100, 200, 500, 1’000, 2’000)
Perché istSOS3 Era tempo di code refactoring… Ma dopo una prima analisi abbiamo deciso di riscrivere tutto da zero. Python2 è morto viva Python3 • Python 2 andrà in pensione il 12 Aprile 2020 • Introduzione di nuove interessanti tecnologie con Python 3 (p.es. Async) IoT e Big Data: • Necessità di migliorare le performance – Big-Data vs Multi-Utenza – Caching in tempo reale • Interfaccia di comunicazione espandibile per la comunicazione con il mondo IoT
Requisiti richiesti per istSOS v3 (1st release by summer 2018) • Python 3.X • Asynchronous programming • Database independent • SOS v2 • INSPIRE compliant • Container independent (Servizi Web, Applicazioni desktop, Sviluppo di Plug-in in ambienti Python: QGIS per esempio, Scripting) • Big-Data support • Architettura modulare (espandibile con plug-in) ….. ed ovviamente veloce :-D
istSOS3: architettura modulare In istSOS3 ogni singolo processo è eseguito da un azione (Action) ed il dato è rappresentato da un’entità (Entities) caricato da database specifici tramite Action specializzati chiamati Retrievers. Seguendo il concetto del Chain of Responsibility Pattern, ogni azione può essere concatenata ad altre azioni permettendo così di creare azioni più complesse (Composite Action). Questo approccio permette un notevole riutilizzo del codice e quindi ne facilita l’espansione per la creazione di nuove azioni (istSOS-Plug-in).
Possibile architettura d’insieme come servizio Web Python 3 Tornado Web REST API istSOS3 API NGINX istSOS3-Plug-in OGC SOS 2 PostgreSQL ??? ??? + PostGIS
Interfacce di istSOS3 : JavaScript Packages (ECMAScript2016) In parallelo alle API sono in sviluppo anche dei pacchetti JavaScript riutilizzabili nella creazione di applicazioni web: istsos3-core: • Una libreria JavaScript che permette la comunicazione con le REST API di istSOS3. istsos3-web: • Interfaccia web per gli amministratori (simile a quella istSOS2) per la gestione dei sensori ed espandibile con nuovi plug-in. Attualmente integra un plug-in per la visualizzazione dei dati su grafici interattivi (istsos3-viewer).
Architettura interfacce istsos-web istsos-core istSOS 3 API REST istsos-viewer API
I primi test sulle REST API promettono bene PC sviluppo vs Server istSOS SUPSI 1 Thread x 1 Connessione 1 Sensore x (1 osservazione / 10min) • P7D / 1 settimana: 1’008 righe • P1M / 1 mese: 4’320 righe • P2M / 2 mesi: 8’640 righe • P6M / 6 mesi: 25’920 righe • P1Y / 1 anno: 51’840 righe
28 Restate sintonizzati… @istsos www.istsos.org FOSS4G (NA-WORLD-ASIA-EU) … ne vedrete delle belle :-D
Puoi anche leggere