Kura: un gateway Java per l’Internet of Things

Eurotech condivide con la community Eclipse l’open standard application framework per i gateway destinati ai servizi M2M

Eurotech ha reso noto il proprio ruolo e il relativo contributo nel progetto Eclipse Kura, un incubatore open source che punta a realizzare un contenitore OSGi (Open Service Gateway initiative) per applicazioni M2M su gateway di servizi.

TI PIACE QUESTO ARTICOLO?

Iscriviti alla nostra newsletter per essere sempre aggiornato.

Implementare e configurare un dispositivo che funga da nodo sulla Internet of Things (IoT) è relativamente semplice. Risulta più complesso farlo per centinaia o migliaia di dispositivi che supportano parecchie applicazioni locali. E’ proprio in questo contesto che si inserisce il nuovo progetto Kura di Eclipse. Kura offre una piattaforma che si colloca al confine fra la rete privata del dispositivo e la rete locale, la rete Internet pubblica o la rete di telefonia cellulare, mettendo a disposizione un gateway gestibile e intelligente in grado di eseguire applicazioni che possono raccogliere informazioni localmente e fornirle in maniera affidabile al cloud.

Eurotech è un membro fondatore dell’IoT Working Group (ex M2M Working Group) all’interno della Eclipse Foundation e ha contribuito al progetto Kura sviluppando la tecnologia originale per tutti i tipi di dispositivi, da quelli generici ai computer portatili rugged, dai dispositivi indossabili ai gateway di servizi, dalle console per veicoli fino al Raspberry Pi. Come piattaforma Java, Kura può essere installato su dispositivi Linux e fornisce un sistema gestibile da remoto, completo di tutti i servizi principali di cui le applicazioni hanno bisogno e di un livello di astrazione dal dispositivo per accedere all’hardware del gateway stesso.

Attraverso il progetto Kura, Eurotech fornirà un pacchetto di servizi per gli sviluppatori Java che creano applicazioni M2M, con accesso I/O, servizi dati, configurazione di rete e gestione remota. “Continuiamo a collaborare e investire per semplificare la realizzazione di progetti M2M da parte delle aziende; condividere le nostre competenze nella community di standard aperti Eclipse fa parte di questa strategia,” ha dichiarato Marco Carrer, Vice President Software Engineering, Eurotech. “Il progetto Kura potrà attingere alla nostra esperienza pluriennale nello sviluppo della Everyware Software Framework e metterla a disposizione di tutti coloro che partecipano alla Eclipse Foundation.”

La tecnologia Kura Project è utilizzata attualmente nella Everyware Software Framework (ESF) di Eurotech, che insieme a una piattaforma per lo sviluppo di applicazioni (Application Enablement Platform), come Everyware Cloud della stessa Eurotech, consente di connettere velocemente sensori, dispositivi e asset allo scopo di analizzare dati in tempo reale, per realizzare applicazioni M2M affidabili e indipendenti dai dispositivi. Il contributo iniziale sarà un ampio subset dell’attuale Eurotech Everyware Software Framework, che comprende: codice sorgente Kura e sistema di compilazione (build system), una guida per gli sviluppatori di applicazioni M2M di Kura con un esempio di applicazione, documentazione sul protocollo applicativo Kura per la gestione di risorse e l’amministrazione di applicazioni M2M da remoto, e un build di Kura per una piattaforma hardware aperta come Raspberry Pi.

Eurotech ha recentemente proposto una demo live di applicazioni Internet of Things (IoT) in qualità di IoT Day Sponsor a EclipseCon 2014 a San Francisco. Insieme ad Actuate – The BIRT Company™ ed Eclipse Foundation, l’azienda italiana ha mostrato come acquisire dati grezzi da diversi sensori e dispositivi utilizzando una tecnologica open-source basata su standard, per poi trasmetterli e analizzarli fornendo informazioni approfondite e report.

Caratteristiche principali per gli sviluppatori

Lavorando con Kura, gli sviluppatori scopriranno che, come avviene in un contenitore OSGi (Open Service Gateway initiative), lavoreranno con un’infrastruttura standard per la gestione di eventi, che comprende il codice e una serie di servizi standard. Un’applicazione in Kura viene fornita come modulo OSGi ed eseguita all’interno del contenitore unitamente agli altri componenti di Kura. Utilizzando la libreria Eclipse Paho MQTT, Kura fornisce un servizio di “stoccaggio e inoltro” per tutte quelle applicazioni che prendono le informazioni raccolte da dispositivi collegati localmente o in rete (NAS) e inoltrano i dati a broker MQTT e altri servizi cloud.

Le applicazioni possono essere implementate da remoto come pacchetti OSGi e la loro configurazione può essere importata (o esportata) tramite un servizio snapshot. Lo stesso servizio di configurazione può essere utilizzato per impostare altri servizi Kura compatibili con OSGi (DHCP, DNS, firewall, routing e WiFi), che consentono di gestire l’impostazione in rete di un gateway e di mettere a disposizione reti LAN e WLAN private. Il pacchetto può comprendere altri servizi: position, un servizio GPS per geolocalizzare i propri gateway; click, che garantisce una buona sincronizzazione temporale; db, un servizio di database per lo stoccaggio locale che utilizza un database SQL embedded e servizi di processo e watchdog per garantire che tutto funzioni correttamente.

Per dialogare con i dispositivi collegati alla rete, le applicazioni possono sfruttare le funzionalità di networking di Java (o protocolli di campo opzionali come Modbus e CAN Bus) per collegarsi all’infrastruttura dei dispositivi esistente. Mediante l’astrazione dell’hardware con i servizi OSGi per comunicazioni seriali, USB e Bluetooth, Kura offre agli sviluppatori di applicazioni l’accesso mobile a un’ampia gamma di dispositivi comuni, pur potendo continuare a utilizzare le API di comunicazione di Java laddove opportuno. Un’interfaccia API per dispositivi collegati tramite GPIO, I2C, PWM o SPI consente all’integratore di sistemi di incorporare hardware standard nel proprio gateway.

Il pacchetto Kura è completo di un front end web che consente allo sviluppatore o all’amministratore di accedere da remoto e configurare tutti i bundle OSGi e che può essere utilizzato dallo sviluppatore per mettere a disposizione un’interfaccia sul lato web per le esigenze di configurazione della sua stessa applicazione. Gli sviluppatori scopriranno come gli strumenti OSGi di Eclipse IDE agevolino il percorso dalla concezione del codice all’installazione su Kura.

Unendo un contenitore OSGi, messaggistica MQTT, un’ampia gamma di connessioni di rete e locali, controllo remoto via web e da riga di comando e il supporto degli strumenti Eclipse, Kura si propone come scelta di riferimento per gli sviluppatori Java di applicazioni enterprise e IoT/M2M.