flexible database fast messaging powerful code engine real user authentication analytics and...
TRANSCRIPT
flexible databasefast messagingpowerful code enginereal user authenticationanalytics and reportingon-premisein the cloud
One platform. Be a hero. Eric Simone
+1 (512) [email protected]
Patrick Crawford +1 (757) [email protected]
Technical challenges of IoT
2Be a hero | clearblade.com
Internet
HTTP – MQTT – CoAP
Encrypted – Authenticated –
Authorized
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.
Simple
3Be a hero | clearblade.com
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.
Platform
4Be a hero | clearblade.com
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
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
Based on highly repeatable “systems” that allow you to integrate data, messaging and code across applications and devices.
Data
6Be a hero | clearblade.com
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
Messaging
7Be a hero | clearblade.com
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
Code
8Be a hero | clearblade.com
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
Users
9Be a hero | clearblade.com
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
Analytics
10Be a hero | clearblade.com
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
SDKs
11Be a hero | clearblade.com
Open software development kits are available specifically for iOS, Android, Javascript, NodeJS, Cordova, Phonegap and pure REST
About MQTT = MQ Telemetry Transport
12Be a hero | clearblade.com
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
Powers Facebook
Messenger
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
About MQTT = MQ Telemetry Transport
13Be a hero | clearblade.com
Open Community
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
ClearBlade Messaging - Details
14Be a hero | clearblade.com
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
About MQTT – Real life patterns
15Be a hero | clearblade.com
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’}
About MQTT – Real life patterns (CHAT)
16Be a hero | clearblade.com
Zoom levels Goal – to provide communication with levels of granularity depending
on zoom Client reside in regions defined as a tree structure
About MQTT – Real life patterns (ZOOM)
17Be a hero | clearblade.com
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>
One platform. Be a hero.
ClearBlade Inc.103 East 5th Street, Suite #203 Austin TX 78701+1 (512) 686-3037 | [email protected]
Test drive the platform Contact [email protected]
Eric Simone +1 (512) [email protected]
Patrick Crawford +1 (757) [email protected]