5. MQTT
• Message Queue Telemetry Transport
• Pub/Sub binary protocol
• Open standard
• Persistent connections
6. IoT-SQL
SELECT LAST(*)
FROM mqtt(‘co.t/temp/+’) AS temp
JOIN storage(‘metadata’) AS md
ON temp.deviceId = md.id
WHERE temp.outside.value > 90
AND temp.inside.value < 70
GROUP BY 1 HOUR
7. We need…
• To move quickly, be agile, adapt to changes
• Performant code
• To leverage concurrency
• To rent server space in the cloud
8. • Functional + Object Oriented
• Strongly typed
– Safe
– Not like Java types
• JVM
9. • First-class functions
• Traits
• Type inference
• Record types (case classes)
• Pattern Matching (and structural typing)