IoT is a macro instance of the M-V-C pattern. Open source software components built from IoT Toolkit, Node-RED, and Dojo Toolkit create an open source stack for the Internet of Things
Nell’iperspazio con Rocket: il Framework Web di Rust!
A Modular Open Source Platform for Web Scale IoT Interoperability
1. A
Modular
Open
Source
Pla1orm
for
Web
Scale
IoT
Interoperability
Michael
J
Koster
Open
Source
Internet
Of
Things
IoT
Toolkit
2. IoT
Web
Pla1orm
Features
• Interoperability
–
Any
ApplicaCon
to
Any
Connected
Thing
using
Any
M2M
Protocol
• Data
Models
drive
discovery
and
linking
• Event
driven,
modular
applicaCon
soJware
• Web
Programming
Model
• Internet
and
Web
Standards
• Web
and
Mobile
UI
hosCng
3. IoT
2.0
–
Interoperability
• Any
app
to
any
thing
via
any
M2M,
use-‐
case
decides
M2M
• Easy
to
deploy
new
things
and
applicaCons
using
data
models
• Write
once,
run
anywhere
soJware
• Network
effect
enabled
ApplicaCons
Discovery
Smart
Object
API
IoT
Toolkit
M2M
CoAP
• Web
Objects
• REST
+
Event
Model
• M2M
Abstrac9ons
• Model
Driven
M2M
M2M
HTTP
M2M
MQTT
SOA
Models
Connected
Things,
Sensors,
Actuators,
Data
Sources
4. IoT
Interoperability
•
•
•
•
•
•
•
Ability
to
reuse
and
repurpose
resources
Choice
of
suitable
M2M
protocols
Reusable
soJware
components
Ease
of
integraCng
data
from
diverse
sources
Common
pla1orm
across
use
cases
Diverse
UI
pla1orms
Data
models
enable
machine
understanding
independent
of
M2M
protocols
5. SemanCc
and
Protocol
Interoperability
• Separate
Control
Plane
and
Data
Plane
– Common
Data
Models
Enable
Diverse
M2M
Protocols
Between
Smart
Objects
ApplicaCon
Smart
Object
API
RDF
Any
M2M
Protocol
Anywhere
ApplicaCon
Smart
Object
API
Common
Data
RDF
Models
• Any
Original
Catalog
or
SemanCc
Format
– Smart
Object
stores
RDFModel
Format,
translates
others
using
a
SemanCc
Proxy
SemanCc
Proxy
• ApplicaCons
see
one
API
– With
suitable
metadata
representaCon
TSB
IPSO
SSN
Catalogs,
Diverse
Metadata
6. Open
Source
IoT
Components
• Open
Source
Components
Becoming
Available
– IoT
Toolkit
–
REST
API
+
Data
Models
+
Events
– Node-‐RED
–
Graphical
ApplicaCon
Tool
– Dojo
UI
Toolkit
–
UI
tools
– MosquiYo
MQTT
Broker
and
Client
– RDFlib
with
SPARQL
–
Graph
storage
– Neo4J
Graph
Database
– CoAP
Clients
and
Servers
• Sufficient
to
build
a
complete
Pla1orm
Stack
• Components
allow
ApplicaCon
soJware
to
run
in
Local
Server,
Gateway,
and
Cloud
Service
7. Model-‐View-‐Controller
Macro
PaYern
IoT
Feedback
Control
Loops
• Autonomic
and
cyberneCc
feedback
loops
• People’s
intenCons
take
part
in
the
cyberneCc
feedback
loop
CyberneCc
Feedback
Loop
Model
Informs
Informs
View
Updates
Autonomic
Feedback
Loop
Actuates
Controller
8. Model-‐View-‐Controller
Macro
PaYern
Mapping
to
Open
Source
SoJware
Components
Catalogs
and
Repositories
IPSO
TSB
SSN
Sensors,
Things,
MQTT,
CoAP,
HTTP
REST
API
+
Events
IoT
Toolkit
• Model
– Object
Models,
Data
Models
– Storage,
Discovery,
Formats,
Protocols,
Binding
to
Objects
• Controller
Node
Builder
• Resource
Discovery
and
Linkage
• Builds
Smart
Object
Nodes
• Manages,
stores
Flow
Graph
Node-‐RED
Dojo
Dashboard
HTML5,
Mobile
Web
– Complex
Flow
Graphs
of
Event-‐driven
modular
SW
– Python
and
node.js
• View
– UI
Toolkit
For
ApplicaCons
– Binding
of
UI
Components
to
Smart
Object
ProperCes
9. ApplicaCon
Development
Workflow
Node
Builder
Node-‐RED
• Discovers
Resources
• Builds
Applica9on
• Makes
Object
Instances
Flow
Graphs
Dashboard
• UI
Construc9on
Data
Models
and
Catalogs
IPSO
TSB
SSN
Model
Controller
View
10. Run
Time
Deployment
Example
Personal
Service
Data
Models
and
Catalogs
SSN
HTTP/LD
IPSO
TSB
CoAP/RD
Local
Control
Gateway
HTTP
+
MQTT
Node-‐RED
IoT
Toolkit
CoAP
Node-‐RED
IoT
Toolkit
CoAP
CoAP
IoT
Provider
HTTP
HTTP
HTTP
UI
Devices
IoT
Toolkit
Gateway
as
a
Service
CoAP