37

Building IoT Products: Developer Experiences

Embed Size (px)

Citation preview

Page 1: Building IoT Products: Developer Experiences
Page 2: Building IoT Products: Developer Experiences
Page 3: Building IoT Products: Developer Experiences

Present and Act Upon

Store Transform Ingest Gateway Things

Cloud Gateway

Field Gateway

Event Hubs Stream Analytics

Legacy IoT (custom protocols)

Devices

IP-capable devices (Windows/Linux)

Low-power devices (RTOS)

Applications

Storage Adapters

Register

Consume

Page 4: Building IoT Products: Developer Experiences

Things

Legacy IoT (custom protocols)

Devices

IP-capable devices (Windows/Linux)

Low-power devices (RTOS)

Applications

Page 5: Building IoT Products: Developer Experiences

Gateway

Cloud Gateway

Field Gateway

CoAP

Page 6: Building IoT Products: Developer Experiences

Present and Act Upon

Store Transform Ingest

Event Hubs Stream Analytics

Storage Adapters

Register

Consume

Page 7: Building IoT Products: Developer Experiences

Present and Act Upon

Page 8: Building IoT Products: Developer Experiences

Present and Act Upon

Things

Applications

Consume

Page 9: Building IoT Products: Developer Experiences

Open Alerts

CoAP

Page 10: Building IoT Products: Developer Experiences

Present and Act Upon

Store Transform Ingest Gateway Things

Cloud Gateway

Field Gateway

Event Hubs Stream Analytics

Legacy IoT (custom protocols)

Devices

IP-capable devices (Windows/Linux)

Low-power devices (RTOS)

Applications

Storage Adapters

Register

Consume

Page 11: Building IoT Products: Developer Experiences
Page 12: Building IoT Products: Developer Experiences
Page 13: Building IoT Products: Developer Experiences
Page 14: Building IoT Products: Developer Experiences

Present and Act Upon

Store Transform Ingest Gateway Things

Electrical Engineering

Mechanical Engineering

Embedded Systems

RTOS Constraints

Register

Consume

Network Programming

Network Security

Basic Computer Science

High Scale Real-time Programming

Authentication & Authorization Services

REST API Development

Mobile Development

Low Latency Programming

Data Storage APIs

Database Architecture

Database Administration

Query Optimization

Data Normalization

Conversion between Document DBs and Relational DBs

Statistics

Data Science

Machine Learning

User Experience

User Interface Map-Reduce

Page 15: Building IoT Products: Developer Experiences

Present and Act Upon

Store Transform Ingest Gateway Things

Electrical Engineering

Mechanical Engineering

Embedded Systems

RTOS Constraints

Register

Consume

Network Programming

Network Security

Basic Computer Science

High Scale Real-time Programming

Authentication & Authorization Services

REST API Development

Mobile Development

Low Latency Programming

Data Storage APIs

Database Architecture

Database Administration

Query Optimization

Data Normalization

Conversion between Document DBs and Relational DBs

Statistics

Data Science

Machine Learning

User Experience

User Interface Map-Reduce

Page 16: Building IoT Products: Developer Experiences
Page 17: Building IoT Products: Developer Experiences

http://www.felixrieseberg.com/open-source-engineer-microsoft/

Page 18: Building IoT Products: Developer Experiences
Page 19: Building IoT Products: Developer Experiences
Page 20: Building IoT Products: Developer Experiences

@irjudson http://irjudson.org

Page 21: Building IoT Products: Developer Experiences
Page 22: Building IoT Products: Developer Experiences
Page 23: Building IoT Products: Developer Experiences

Present and Act Upon

Store Transform Ingest Gateway Things

Cloud Gateway

Field Gateway

Event Hubs Stream Analytics

Legacy IoT (custom protocols)

Devices

IP-capable devices (Windows/Linux)

Low-power devices (RTOS)

Applications

Storage Adapters

Register

Consume

Page 24: Building IoT Products: Developer Experiences
Page 25: Building IoT Products: Developer Experiences

AllJoyn Software Framework

Standard Application Layer

AllJoyn Application Layer

AllJoyn Service Frameworks

AllJoyn Core Libs

Onboarding Control Panel

Notifications Audio

Lighting

Physical Layer (Wi-Fi, PLC, Ethernet, Bluetooth)

Discovery & Advertisement

APIs Connection

APIs Security

APIs

AllJoyn Core Libs   Provides ability to find and connect to devices to do interesting things.   Core libraries interact with the AllJoyn Router   Provides access control and encryption

AllJoyn Service Frameworks   Interoperable, cross-platform modules for common IoE functionality   Defines common interfaces between devices

The AllJoyn software framework is a collaborative open source project of the AllSeen Alliance

OS

AllJoyn Apps

Config

AllJoyn App Layer   Defines the User experience

AllJoyn Router AllJoyn Router

•  Manages communications between devices and apps

•  Dynamic network management

Interface APIs

Events and Actions

….

Page 26: Building IoT Products: Developer Experiences

Licensed under open source; general IOE use cases

Not licensed under open source; addresses specific use cases

Value Added Services (e.g., your differentiation)

AllJoyn Core: Discovery,

connectivity, network

management from AJ

Router + core libraries

Onboarding, notification,

audio compatibility from AllJoyn

Service Frameworks

AllJoyn Router

AllJoyn Core Libraries

Discovery Connection / Network Management Security

AllJoyn Service Frameworks

Onboarding Control Panel Notifications Audio Future… Config

Open Source Building Blocks

Page 27: Building IoT Products: Developer Experiences
Page 28: Building IoT Products: Developer Experiences
Page 29: Building IoT Products: Developer Experiences

AllJoyn: Standard vs Thin

Standard Application Layer

Standard Application Layer

App Layer

AllJoyn Standard Service

Frameworks

AllJoyn Standard Core Libs

Physical Layer (Wi-Fi, PLC, Ethernet, Bluetooth)

Standard Core Libraries  Multiple bindings, runs on HLOS

 C bindings, runs on RTOS  Thin Apps using Thin Core requires an AllJoyn Router in the network

Thin Core Libraries

The AllJoyn software framework is a collaborative open source project of the AllSeen Alliance

HLOS RTOS

App Layer

AllJoyn Thin Service

Frameworks

AllJoyn Thin Core Libs

Standard Apps Thin Apps Standard App Layer  App dev or OEM writes this

Thin App Layer

 OEM writes this

AllJoyn Router AllJoyn Router

AllJoyn Router can be bundled with a Standard App or run standalone

Page 30: Building IoT Products: Developer Experiences
Page 31: Building IoT Products: Developer Experiences

https://github.com/AllJoyn-Cordova/

Page 32: Building IoT Products: Developer Experiences
Page 33: Building IoT Products: Developer Experiences
Page 34: Building IoT Products: Developer Experiences
Page 35: Building IoT Products: Developer Experiences
Page 36: Building IoT Products: Developer Experiences
Page 37: Building IoT Products: Developer Experiences

Ivan R. Judson [email protected]

http://irjudson.org/

@irjudson