Criteri per la scelta dei protocolli Web • Quali limiti presentano i dispositivi? • La rete è affidabile/inaffidabile? • Qual è la frequenza dei messaggi? • In che modo vengono elaborati i dati ulteriormente? • Push o pull? • Quali sono i requisiti di sicurezza? • Qual è il tempo di risposta richiesto?
MQTT - Message Queuing Telemetry Transport
Protocollo di messaggistica publish/subscribe leggero basato su broker progettato per essere aperto, semplice, leggero e facile da implementare
• Ideale nei seguenti casi
-
– La rete è costosa, ha una larghezza di banda ridotta o è inaffidabile
-
– È eseguito su un dispositivo embedded con risorse di processore o memoria limitate
Caratteristiche
-
– Il modello di messaggistica publish/subscribe deve fornire uno a molti messaggi
-
– Distribuzione e disaccoppiamento delle applicazioni
-
– Un trasporto per messaggistica è agnostico al contenuto del carico utile
-
– Viene utilizzato il protocollo TCP/IP per fornire la connettività di rete di base
-
– Tre qualità di servizio per la consegna dei messaggi
-
– Overhead di trasporto ridotto - header a lunghezza fissa di soli 2 byte
Vantaggi di MQTT
Esperienza utente migliorata
-
Push delle informazioni quasi in tempo reale
-
Utilizzo minimo della batteria
-
Messaggistica store-forward
-
Consegna una sola volta (ove richiesto)
Flessibilità e scalabilità
Un unico server è in grado di supportare un milione
di dispositivi o utenti connessi poiché è basato
sugli eventiUlteriori funzionalità possono essere facilmente integrate senza modificare il codice esistente grazie all'architettura publish/subscribe
Costi di gestione ridotti
Formato wire molto compatto con conseguente riduzione dei costi
Ingombro minimo - il protocollo sarà eseguito su dispositivi a bassa potenzaUtilizzo della batteria molto ridotto rispetto ad HTTP
Costi di sviluppo più bassi
Recovery, store-forward e publish/subscrive sono forniti dalle implementazioni di MQTT
e non devono essere codificati nella logica applicazione.
Semplice insieme di verbi, di facile apprendimento per gli sviluppatori.
Facile integrazione con il sistema di record
CoAP - Constrained Application Protocol
CoAP è un protocollo di trasferimento Web specializzato per l'uso con i nodi limitati e reti limitate (ad esempio, a basso consumo, con perdite).
• Ideale nei seguenti casi
– Nodi limitati (ad esempio, microcontroller a 8 bit con RAM e ROM limitate), come le reti di sensori wireless (WSN) che richiedono un utilizzo di risorse limitato
• Caratteristiche principali
-
– Protocollo Web che soddisfa i requisiti M2M in ambienti limitati
-
– UDP [RFC0768] vincolante per affidabilità opzionale che supporta richieste unicast e multicast.
-
– Scambi di messaggi asincroni
-
– Complessità di analisi e overhead header ridotta
-
– Supporto per tipo di contenuto e URI (Uniform resource identifier)
-
– Semplici funzionalità di proxy e memorizzazione in cache
-
– Sicurezza vincolante per DTLS (Datagram Transport Layer Security)
Vantaggi di CoAP
-
Standard IETF aperto
-
Overhead ridotto e scelta eccellente nelle applicazioni con vincoli
-
Funziona bene in ambienti rumorosi e con perdita di dati
-
Ricerca integrata
-
Eccellente sicurezza DTLS
-
Abbonamento asincrono
XMPP - Extensible Messaging and Presence Protocol
XMPP è un protocollo di messaggistica istantanea aperto solitamente implementato tramite un'architettura client-server in cui un client che utilizza XMPP accede a un server su una connessione TCP e i server comunicano anche tra di loro su collegamenti TCP
• Ideale nei seguenti casi
– Collegamento dei dispositivi alle persone. Ad esempio, il collegamento del termostato domestico a un server Web, in modo che sia possibile accedere ai dati da un telefono -
• Caratteristiche principali
-
– Comunicazione end-to-end tra qualsiasi peer. Con lo schema di indirizzo nome@dominio.com, consente connessioni tra endpoint lontani, per lo più indipendenti
-
– Il trasporto con i nodi terminali può essere di qualsiasi tipo (IP, ZigBee, Bluetooth e così via)
-
– Basato su XML - facilmente ampliabile con carichi utili casuali. Rete distribuita di "servizi Web"
-
– Sicurezza: molto robusta con crittografia, autenticazione client e autorizzazione client obbligatoria
-
– Comunicazione quasi in tempo reale
XMPP Extension Protocols (XEP) per IoT
Fornisce l'architettura sottostante, le operazioni di base e le strutture di dati per la comunicazione dei dati dei sensore su reti XMPP
Vantaggi di XMPP
• Messaggistica in tempo reale su vasta scala - 100.000+ nodi
• Sicuro: il server XMPP può essere isolato dalla rete pubblica e una robusta protezione con SASL e TLS è integrata nel nucleo-
• Aperto: i protocolli XMPP sono gratuiti, aperti, pubblici e sono stati ampiamente adottati
-
• Decentralizzato: l'architettura della rete XMPP è simile alla posta elettronica - chiunque può eseguire un proprio server XMPP
Data Distribution Service (DDS)
Il primo standard middleware internazionale aperto destinato direttamente alle comunicazioni publish-subscribe per i sistemi in tempo reale ed
embedded
-
• Ideale nelle seguenti situazioni
– Comunicazioni sicure in tempo reale tra i dispositivi
• Caratteristiche principali
-
– Il DDS è decentralizzato - può essere implementato senza server e broker
-
– Architettura publish/subscribe
-
– Prestazioni scalabili
-
Milioni di elementi dati
-
0,5 m aggiornamenti/sec
-
Latenza di 10 us
-
Consumer/aggiornamento 1.000 s
-
-
– Gestito con QoS
-
– Affidabile - nessun singolo punto di errore
-
– Rilevamento presenza applicazioni integrato
Vantaggi del protocollo DDS
-
Indipendente da piattaforme: sistemi operativi e linguaggi di programmazione
-
Assicura la flessibilità, l'affidabilità e le elevate prestazioni necessarie per le complesse applicazioni in tempo reale
-
Controllo QoS (Quality of Service) in tempo reale
-
L'architettura decentralizzata consente la frequente osservazione dei cambiamenti e utilizza le risorse di rete in modo efficiente
-
Individuazione dinamica di publisher e subscriber
AMQP - Advanced Messaging Queuing Protocol
AMQP (Advanced Message Queuing Protocol) è un protocollo Internet aperto per la messaggistica aziendale. Definisce un protocollo binario wire-level che consente lo scambio affidabile di messaggi aziendali tra due parti
• Ideale nelle seguenti situazioni
– Collegamento di vari sistemi aziendali nell'azienda e fornitura ai processi aziendali delle informazioni necessarie
• Caratteristiche principali
-
– Più funzioni di messaggistica - accodamento affidabile, pubblicazione e sottoscrizione basate su argomento, routing flessibile e così via
-
– Trasferimento messaggi di transazione e sessione
-
– Efficiente - dimensione pacchetto di 60 byte
-
– Sicurezza - SSL/TLS, SASL
-
– Quality of Service - best effort, almeno una volta, una sola volta
-
Tutti i client AMQP interoperano con tutti i server AMQP
-
Linguaggi di programmazione diversi sono in grado di comunicare facilmente
-
I message broker legacy possono essere adattati per rimuovere i protocolli proprietari
-
Consente la messaggistica come servizio cloud
Vantaggi di AMQP
• Flessibile, aperto e interoperabile. AMQP è in grado di connettersi tra organizzazioni e tecnologie, garantendo al contempo QoS e sicurezza
– Realizzazione dei risparmi offerti dall'ampia disponibilità a basso costo; rimozione del vendor lock-in -
-
– Collegamento delle applicazioni su piattaforme diverse; scelta della piattaforma giusta per il lavoro
-
– Collegamento a partner commerciali utilizzando uno standard aperto completo; eliminazione degli ostacoli tecnici per il commercio
-
– Funzionamento affidabile a distanza o su reti con scarse risorse
-
-
-
-
-
-
-
-