13. compute and storage resources
are placed
at the edge of the Internet,
in close proximity to
mobile devices or sensors
https://softwareengineeringdaily.com/wp-content/uploads/2018/09/hu-apsys2016.pdf
Edge device
14. Vantaggi
Performance
dovuto a minore latenza
Privacy e sicurezza
applicati e allineati standard sicurezza fra
dispositivi
Efficienza e costi
grazie a minore traffico dati
15. Edge necessario se il dispositivo...
• usa standard di connettività specifici (es.
OPC-*)
• usa tecnologie di comunicazione short
range
• non è in grado di implementare necessari
protocolli di sicurezza
• non è in grado di connettersi alla rete
67. CON - Confirmable message
Richiede una risposta (positiva / negativa)
Tipi di messaggi
68. CON - Confirmable message
NON - Non-confirmable message
Non richiede una risposta, per i casi in cui
la perdita di un messaggio non è un
problema
Tipi di messaggi
69. CON - Confirmable message
NON - Non-confirmable message
ACK - Acknowledgement
Conferma ricezione di messaggio CON
Tipi di messaggi
70. CON - Confirmable message
NON - Non-confirmable message
ACK - Acknowledgement
RST - Negative acknowledgment
Indica un problema nella ricezione / lettura
dei dati
Tipi di messaggi
77. HTTP vs CoAP
Per tutti i dispositivi in grado
di connettersi a Internet
TCP
Non supporta multicast
Modello client / server
Richiede comunicazione
sincrona
Pacchetti di maggiore
dimensione
Per dispositivi con risorse
limitate
UDP
Supporta multicast
Modello client / server e
pub/sub
Comunicazione sincrona e
asincrona
Pacchetti di minore
dimensione
108. • Protocollo di messaggistica
• Necessario un broker
• TCP per il livello di trasporto
• Semplice, adatto a reti lente /
dispositivi con capacità limitate
109. MQTT 5
(non retrocompatibile con v. 3.1.1)
• scadenza messaggi e sessioni
• shared subscriptions: load balancing dei
clients
• flow control (limita numero di messaggi
in attesa di consegna)
• estensibile via user properties
110. Limitazioni su AWS e Azure
• Versione 3.1.1
• No QoS 2
• No flag retain
• Altre minori (ma da tenere a mente)
144. Polyglot programming
Neal Ford, 2006
applications should be written in a
mix of languages to take advantage
of the fact that different languages
are suitable for tackling different
problems
Martin Fowler