integrating consumers iot devices into business workflow
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
Integrating Consumer IoT Devices Into Business
Workflow
by Yakov Fain, Farata Systems
Farata Systems and SuranceBay
http://easy.insure
http://surancebay.com
Things are Sensors, IoT - Connected Sensors
Yesterday’s Sensors
• 18 years ago. Telephony.
• I’ve been programming IoT!
• Do I want to program sensors again?
Today’s Sensors
SCIO: a molecular sensor that scans physical objects and receives instant information to your smartphone.
http://www.consumerphysics.com/
Today’s sensors: Navdyintegrates a sensor with smartphone
https://www.navdy.com
Tomorrow: Streachable Wearablesepidermal electronics
Source: http://bit.ly/1uu0srr
Smartphone
Device Manufacturer’s
ServerDevice
Typical Consumer Device Setup
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?
How to get involved with IoT?
Creating an exensive cloud-based IoT platform
How to get involved with IoT?
Create custom-made solutions integrating things into an existing
business workflow.
Why?
Why?
Manual Data Entry
Enterprise IoT is about automation of collecting and processing data required in
the 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
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.
Medical Examiner’s Report
Medical Examiner’s Report
Removing Manual Entry
Fitbit: Typical Workflowfitbit.com
XYZ protocol
XYZ protocol
What’s XYZ?
Do we need to know?
What do we use for Integration• RESTful Web services
• OAuth authentication
• WebSocket protocol
• JSON data format
• Java servers
• HTML5/JavaScript
What do we use for integration• RESTful Web services
• OAuth authentication
• WebSocket protocol
• JSON data format
• Java servers
• HTML5/JavaScript Our recent book
Use case: Integrating Scale and Blood Pressure Monitorinto insurance workflow
IHealth Blood Pressure Monitor
Fitbit ScaleAria
Integrating With Fitbit Scale: Take 1.fitbit.com
My Front-End App
HTTP/Rest API Weight:
Integrating With Fitbit Scale: Take 2.fitbit.com
HTTP/Rest API
Weight:
My Front-End AppMy Server
Polling/Pub-SubData push via
WebSocket
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
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
OAuth: Authorization Check Delegation
The OAuth Workflow• My company builds an app to use the thing’s API (e.g. with REST )
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 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.
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 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.
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.
© 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
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.
Demo: removingmanual entry of blood pressure and weight measurements.
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