Integrating consumers IoT devices into Business Workflow

40
Integrating Consumer IoT Devices Into Business Workflow by Yakov Fain, Farata Systems

description

From the software development perspective IoT is about programming "things", connecting them with each other and integrating them with existing applications. This presentation will demonstrate how IoT-enabled devices from multiple manufacturers can be integrated into a workflow of a business application. You'll see a live demo of using commercial consumer devices as a part of an application that utilizes such technologies such as REST API, OAuth, Websockets, and Java. This presentation will give you an idea of how to go about integration of new devices as they become available on the market.

Transcript of Integrating consumers IoT devices into Business Workflow

Page 1: Integrating consumers IoT devices into Business Workflow

Integrating Consumer IoT Devices Into Business

Workflow

by Yakov Fain, Farata Systems

Page 2: Integrating consumers IoT devices into Business Workflow

Farata Systems and SuranceBay

http://easy.insure

http://surancebay.com

Page 3: Integrating consumers IoT devices into Business Workflow

Things are Sensors, IoT - Connected Sensors

Page 4: Integrating consumers IoT devices into Business Workflow

Yesterday’s Sensors

• 18 years ago. Telephony.

• I’ve been programming IoT!

• Do I want to program sensors again?

Page 5: Integrating consumers IoT devices into Business Workflow

Today’s Sensors

SCIO: a molecular sensor that scans physical objects and receives instant information to your smartphone.

http://www.consumerphysics.com/

Page 6: Integrating consumers IoT devices into Business Workflow

Today’s sensors: Navdyintegrates a sensor with smartphone

https://www.navdy.com

Page 7: Integrating consumers IoT devices into Business Workflow

Tomorrow: Streachable Wearablesepidermal electronics

Source: http://bit.ly/1uu0srr

Page 8: Integrating consumers IoT devices into Business Workflow

Smartphone

Device Manufacturer’s

ServerDevice

Typical Consumer Device Setup

Page 9: Integrating consumers IoT devices into Business Workflow

How to get involved with IoT?Going after thousands of vendors of things?

Which protocols: MQTP, XMPP, CoAP?

Buy Raspberry Pi or Arduino?

Learn HomeKit and HealthKit from Apple?

Page 10: Integrating consumers IoT devices into Business Workflow

How to get involved with IoT?

Creating an exensive cloud-based IoT platform

Page 11: Integrating consumers IoT devices into Business Workflow

How to get involved with IoT?

Create custom-made solutions integrating things into an existing

business workflow.

Page 12: Integrating consumers IoT devices into Business Workflow
Page 13: Integrating consumers IoT devices into Business Workflow

Why?

Page 14: Integrating consumers IoT devices into Business Workflow

Why?

Manual Data Entry

Page 15: Integrating consumers IoT devices into Business Workflow

Enterprise IoT is about automation of collecting and processing data required in

the business workflow.

Page 16: Integrating consumers IoT devices into Business Workflow

What we’re working on

• integrating consumer devices into insurance business workflow

• leveraging existing software technologies

• creating a standard-based application layer that connects things

Page 17: Integrating consumers IoT devices into Business Workflow

Things Oriented Middleware (TOM)

• Build a layer in the middle of things.

• Use consumer things in enterprise applications. "

• Side benefit: being in the middle allows having valuable data for analisys.

Page 18: Integrating consumers IoT devices into Business Workflow

Medical Examiner’s Report

Page 19: Integrating consumers IoT devices into Business Workflow

Medical Examiner’s Report

Removing Manual Entry

Page 20: Integrating consumers IoT devices into Business Workflow

Fitbit: Typical Workflowfitbit.com

XYZ protocol

XYZ protocol

Page 21: Integrating consumers IoT devices into Business Workflow

Fitbit: Typical Workflowfitbit.com

XYZ protocol

XYZ protocol

What’s XYZ?

Page 22: Integrating consumers IoT devices into Business Workflow

Fitbit: Typical Workflowfitbit.com

XYZ protocol

XYZ protocol

What’s XYZ?

Do we need to know?

Page 23: Integrating consumers IoT devices into Business Workflow

What do we use for Integration• RESTful Web services

• OAuth authentication

• WebSocket protocol

• JSON data format

• Java servers

• HTML5/JavaScript

Page 24: Integrating consumers IoT devices into Business Workflow

What do we use for integration• RESTful Web services

• OAuth authentication

• WebSocket protocol

• JSON data format

• Java servers

• HTML5/JavaScript Our recent book

Page 25: Integrating consumers IoT devices into Business Workflow

Use case: Integrating Scale and Blood Pressure Monitorinto insurance workflow

IHealth Blood Pressure Monitor

Fitbit ScaleAria

Page 26: Integrating consumers IoT devices into Business Workflow

Integrating With Fitbit Scale: Take 1.fitbit.com

My Front-End App

HTTP/Rest API Weight:

Page 27: Integrating consumers IoT devices into Business Workflow

Integrating With Fitbit Scale: Take 2.fitbit.com

HTTP/Rest API

Weight:

My Front-End AppMy Server

Polling/Pub-SubData push via

WebSocket

Page 28: Integrating consumers IoT devices into Business Workflow

Integrating With Fitbit and iHealthLabs.fitbit.com

Weight:

iHealthLabs.comHTTP/

Rest API

Blood Pressure:

HTTP/Rest API

Data push via

WebSocket

My Front-End AppMy Server

Page 29: Integrating consumers IoT devices into Business Workflow

Adding OAuth Authenticationfitbit.com

Weight:

iHealthLabs.comHTTP/

Rest API

Blood Pressure:

HTTP/Rest API

Secret+key from each device

vendor

My Front-End AppMy Server

Data push via

WebSocket

Page 30: Integrating consumers IoT devices into Business Workflow

OAuth: Authorization Check Delegation

Page 31: Integrating consumers IoT devices into Business Workflow

The OAuth Workflow• My company builds an app to use the thing’s API (e.g. with REST )

Page 32: Integrating consumers IoT devices into Business Workflow

The OAuth Workflow• My company builds an app to use the thing’s API (e.g. with REST )

• My company registers the app with the thing’s vendor and receives an id and a secret.

Page 33: Integrating consumers IoT devices into Business Workflow

The OAuth Workflow• My company builds an app to use the thing’s API (e.g. with REST )

• My company registers the app with the thing’s vendor and receives an id and a secret.

• The thing’s owner opens my app and logs into thing’s vendor site.

Page 34: Integrating consumers IoT devices into Business Workflow

The OAuth Workflow• My company builds an app to use the thing’s API (e.g. with REST )

• My company registers the app with the thing’s vendor and receives an id and a secret.

• The thing’s owner opens the my app and logs into thing’s vendor site.

• My app receives temp credentials from the thing’s vendor and the user has to authorize my app.

Page 35: Integrating consumers IoT devices into Business Workflow

The OAuth Workflow• My company builds an app to use the thing’s API (e.g. with REST )

• My company registers the app with the thing’s vendor and receives an id and a secret.

• The thing’s owner opens my app and logs into thing’s vendor site.

• My app receives temp credentials from the thing’s vendor and the user has to authorize my app.

• The vendor redirects the user to my app and provides the authorization token.

Page 36: Integrating consumers IoT devices into Business Workflow

The OAuth Workflow• My company builds an app to use the thing’s API (e.g. with REST )

• My company registers the app with the thing’s vendor and receives an id and a secret.

• The thing’s owner opens the my app and logs into thing’s vendor site.

• My app receives temp credentials from the thing’s vendor and the user has to authorize my app.

• The vendor redirects the user to my app and provides the authorization token.

• My app uses the token for all requests to the thing’s vendor.

Page 37: Integrating consumers IoT devices into Business Workflow

© 2014 Farata Systems

What’s WebSocket• Standardized full-duplex low overhead protocol.

• Client-side API: Web browsers come with window.WebSocket object.

• Server-side API: we use Java EE 7 servers

Page 38: Integrating consumers IoT devices into Business Workflow

What about security?• We don’t deal with security between the thing and its

vendor.

• Our apps are as as secure as any other app that uses OAuth/REST services.

Page 39: Integrating consumers IoT devices into Business Workflow

Demo: removingmanual entry of blood pressure and weight measurements.

Page 40: Integrating consumers IoT devices into Business Workflow

Contact Info and Links• email: [email protected]"

• Farata Systems: faratasystems.com"

• SuranceBay: surancebay.com"

• Find and rate insurance agents: easy.insure "

• Twitter: @yfain"

• Personal blog: yakovfain.com