IoTMeetupClearBlade_final

advertisement
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
esimone@clearblade.com
Patrick Crawford
+1 (757) 777-7553
pcrawford@clearblade.com
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 platform@clearblade.com to get platform access key
Be a hero | clearblade.com
18
Test drive the platform
Contact platform@clearblade.com
ClearBlade Inc.
103 East 5th Street, Suite #203
Austin TX 78701
+1 (512) 686-3037 | info@clearblade.com
One platform. Be a hero.
Eric Simone
+1 (512) 923-6101
esimone@clearblade.com
Patrick Crawford
+1 (757) 777-7553
pcrawford@clearblade.com
Download