IoTMeetupClearBlade_final
Download
Report
Transcript IoTMeetupClearBlade_final
flexible database
fast messaging
powerful code engine
real user authentication
analytics and reporting
on-premise
in the cloud
One platform. Be a hero.
Eric Simone
+1 (512) 923-6101
[email protected]
Patrick Crawford
+1 (757) 777-7553
[email protected]
Technical challenges of IoT
There are many aspects of IoT, no one vendor can cover all of them. ClearBlade sits
above the device layer using open protocols to stream machine data from an IP
connected device.
HTTP – MQTT – CoAP
Internet
Encrypted – Authenticated –
Authorized
Be a hero | clearblade.com
2
Simple
Build connectivity, logic and security once. Apply to all of the apps and services you
create, saving huge amounts of time and money. It’s natural integration with scale
and security.
ClearBlade Platform
Data remains secure, backend systems are never directly exposed.
Custom data, apps, APIs and other systems
clearData
clearCode
clearMessage
App and user
data
Logic, security
and integrations
Real time
notifications
clearAnalytics
clearUsers
Be a hero | clearblade.com
3
Platform
Based on highly repeatable “systems” that allow you to integrate
data, messaging and code across applications and devices.
Custom data, apps, APIs and other systems
ClearBlade Platform
Data remains secure, backend systems ar e never directly exposed.
Simplified access through a single open standard API, with no enterprise
system complexity or proprietary lock-in for your development teams
Built-in authentication and user management means you control access,
roles and privileges across the entire platform
clearData
clearCode
clearMessage
App and user
data
Logic, security
and integrations
Real time
notifications
clearAnalytics
clearUsers
Massive scaling through micro-services architecture – grow your
portfolio by adding nodes, not rebuilding
Easy deployment across cloud vendors and environments
Built with cloud best practices / horizontally scalable
Be a hero | clearblade.com
4
Thread Demo
Be a hero | clearblade.com
5
Data
Store dynamic data in the platform via our database, or use the platform as a
connection to your existing data sources. The connection process is simple enough
that developers can use and abstract the API, and are never exposed to any
infrastructure nuances.
Massively scalable database
Ability to connect to legacy databases
Data management via web interface
Advanced filtering, batch updates and
intelligent items
Fetch all – Full export and import
capabilities
Be a hero | clearblade.com
6
Messaging
Integrated message broker that simplifies the process of sending information to end
users via topics. Includes the ability to utilize the fast and efficient open standard
publish / subscribe messaging protocol MQTT for mobile and Internet of Things (IoT).
Integrated security model
Horizontally scalable
Extremely fast message broker providing
real-time and push messaging
Integrates with existing message brokers
Lightweight publish/subscribe messaging
transport
High frequency, low energy and low
bandwidth
Guaranteed message delivery that
supports multiple quality of service levels
Flexible enough for many use cases
Be a hero | clearblade.com
7
Code
Build secure, reusable services to execute on the server and integrate with external
APIs or existing middleware. Create repeatable, efficient access to enterprise logic that
supports your device endpoints.
Encapsulated, secure and scalable
javascript integration engine
Provides robust javascript services
architecture
Provide controlled and secure execution
of approved NPM modules
Simplify and accelerate integration with
external systems and APIs
Batch jobs leveraging platform triggers
Create advanced enterprise server
interactions for ideal mobile payloads
Be a hero | clearblade.com
8
Users
Built-in secure authentication and user management means you control access, roles
and privileges across the entire platform, for all modules.
Based on OAuth2 open authentication
protocol
Manage named and anonymous
authentication
Set clear privileges globally and in specific
modules
Grant and restrict access to system and
database connections
Access control levels available on
collections, services and messaging
Be a hero | clearblade.com
9
Analytics
Every transaction executed on the platform is part of a continuous audit trail for
analysis. Analytics can be used to support application specific requirements, testing,
control and optimization efforts.
Define and customize analytics
information for your solution
Design dashboard to visualize information
Track end-user behavior, peak usage over
time, trending data, etc.
Automatically tracks data, user,
messaging, and service calls
Customize date ranges and filtering
API for external analytics tool
Be a hero | clearblade.com
10
SDKs
Open software development kits are available specifically for iOS, Android, Javascript,
NodeJS, Cordova, Phonegap and pure REST
Be a hero | clearblade.com
11
About MQTT = MQ Telemetry Transport
MQTT is a publish subscribe protocol designed to be battery efficient and
light weight. Ideal for smartphones and IoT.
Simplicity
• Connect
• Publish
• Subscribe
• Unsubscribe
Quality of Service
• Fire and Forget
• At least once
• Exactly
Security
• Payload encryption
• Username and
Password on
connect (oAuth)
Durability
• keep-alive
• last will message
• retain message
• QOS
Be a hero | clearblade.com
Powers
Facebook Messenger
12
About MQTT = MQ Telemetry Transport
Different than HTTP
•
•
•
•
•
Publish efficiently to other clients (1 to 1) or (1 to n)
Significantly less overhead to implement client opposed to HTTP client
Possible to do extremely small to extremely large payloads
Completely payload agnostic
Provides no retry or guaranteed delivery
Open Community
Be a hero | clearblade.com
13
ClearBlade Messaging - Details
Implemented in GoLang
Supports public clients from Paho and Mosquitto
Provides a relay model for automatic client balancing
• load
• geographically
• system
Integrates with REST and Authentication models out of the box
Makes MQTT easy / just do the fun parts
Be a hero | clearblade.com
14
About MQTT – Real life patterns
Token based authentication
Client connects to authorization broker (relay)
• Client provides username and password or device token
• Broker responds with token and broker address
Client disconnects from authorization broker (relay)
Client connects to broker
• Client provides token
• Broker authenticates based on token
• Messaging ensues
Be a hero | clearblade.com
15
About MQTT – Real life patterns
(CHAT)
Goal: provide additional information beyond chat
is online
did receive message
is offline
Each chat session is assigned a unique topic id (made of participants or randomly
generated key)
Clients subscribe to topic “/<topicid>/presence”
• Users have full permissions against this topic
• Clients trigger a global update via a “{type:status}” payload publish
• Clients compile participants via a response of “{type:refresh,userid:user}”
• On message received “{type:ack,id:messageTime}”
Clients subscribe to topic “/<topicid>/message”
• Users have limited permissions based upon administration
• Clients send message
- {time:messagetime, senderId:sender, label:Aaron, type:text
body:’hello all’}
Be a hero | clearblade.com
16
About MQTT – Real life patterns (ZOOM)
Zoom levels
Goal – to provide communication with levels of granularity depending on zoom
Client reside in regions defined as a tree structure
Parent
• Child A
• Leaf 1
• Leaf 2
• Child B
• Leaf 3
• Leaf 4
Level 1 – receives high level events coming
from all child and leaf nodes
Level 2 – receives receive medium level events
coming from child and leafs
Level 3 – receives low level events coming from
from leaf nodes
Clients subscribe to their level and all the parent topics
Ex: client at leaf 2 subscribes to
/<parent>,
/<parent>/<child A>,
/<parent>/<child A>/<leaf 2>
Clients publish based on the type of event and the level it belongs
Ex: Car turns off - /<parent>
Ex: Car current fuel status - /<parent>/<childA>/<leaf2>
Be a hero | clearblade.com
17
How to call a Hero
Email [email protected] to get platform access key
Be a hero | clearblade.com
18
Test drive the platform
Contact [email protected]
ClearBlade Inc.
103 East 5th Street, Suite #203
Austin TX 78701
+1 (512) 686-3037 | [email protected]
One platform. Be a hero.
Eric Simone
+1 (512) 923-6101
[email protected]
Patrick Crawford
+1 (757) 777-7553
[email protected]