19
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 [email protected] om

Flexible database fast messaging powerful code engine real user authentication analytics and reporting on-premise in the cloud One platform. Be a hero

Embed Size (px)

Citation preview

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.

Thread Demo

5Be a hero | clearblade.com

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>

Email [email protected] to get platform access key

How to call a Hero

18Be a hero | clearblade.com

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]