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