Background Image
Table of Contents Table of Contents
Previous Page  69 / 86 Next Page
Information
Show Menu
Previous Page 69 / 86 Next Page
Page Background

69

IoT |

SOFTWARE

EMBEDDED

55 • FEBBRAIO • 2015

in cloud, è possibile

riadattare dinami-

camente la capacità

e la potenza di ela-

borazione senza in-

fluenzare i singoli

dispositivi collegati.

Inoltre, la perdita

occasionale di con-

nessione su un dispo-

sitivo non influisce

s igni f i cat ivamente

sulle altre parti del

sistema. Resta co-

munque il requisito

della disponibilità,

ma solo per il cloud

back-end. Pertanto,

se si vuole garanti-

re l’operatività di un

dispositivo non con-

nesso al back-end,

occorre progettare bene una cache e una logi-

ca di tipo off-line.

REST Assured: funzionalità

di alto livello con Qt

Anche se l’idea dell’IoT porta con sé la possi-

bilità di costruire sistemi in rete versatili e a

prova di futuro, esistono alcune problemati-

che di sviluppo ad essa collegate che devono

essere affrontate. L’architettura di Internet e

del World-Wide Web offre strumenti che faci-

litano alcuni aspetti della creazione dell’IoT.

Ad esempio, l’architettura REST (Represen-

tational State Transfer), basata sul funzio-

namento di base del protocollo HTTP, offre

una versatilità significativamente maggiore

rispetto alle tradizionali architetture client-

server, come SOAP.

Un’API REST permette a utenti e server di

interagire in maniera complessa senza che

il client debba conoscere nel dettaglio tutti i

possibili servizi prima di collegarsi al server

(Fig. 2).

Questo è molto importante quando conside-

riamo l’estensibilità di un sistema con dispo-

sitivi e servizi arbitrari. Un semplice identi-

ficatore universale di risorsa (URI, Universal

Resource Identifier) è tutto ciò che è richiesto

per consentire al client di trovare il server.

Da questo punto in poi, server e client con-

durranno una serie di negoziazioni e di tra-

smissioni di dati tramite operazioni HTTP

che danno informazioni sui servizi offerti e

su come accedere ad essi.

Anche se i meccanismi centrali del REST

disponibili in HTTP sono versatili, essi fun-

zionano a basso livello. Una piattaforma

applicativa come Qt può estrapolare questi

dettagli di basso livello attraverso l’impiego

di classi di uso, abbinando classi di alto li-

vello orientate agli oggetti ad altre porzioni

dell’applicazione.

Poiché Qt è basato su C++, il codice embed-

ded di livello più basso usato ad esempio per i

collegamenti hardware, può essere integrato

nello stesso software senza dover isolare par-

ti di codice. La combinazione del REST con

le classi Qt offre ai dispositivi IoT un modo

pratico non solo di acquisire dati e inviarsi

comandi l’uno all’altro, ma anche di comu-

nicare con i server cloud, integrandoli nelle

periferiche locali.

Non occorre sviluppare da zero i servizi cloud

per ogni applicazione. Grazie ai servizi Qt

Fig. 3 – Esempio di servizio Qt Cloud: Engino Data Storage