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.
4. Yesterday’s Sensors
• 18 years ago. Telephony.
• I’ve been programming IoT!
• Do I want to program sensors again?
5. Today’s Sensors
SCIO: a molecular sensor that scans physical objects and
receives instant information to your smartphone.
http://www.consumerphysics.com/
9. 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?
10. How to get involved with IoT?
Creating an exensive cloud-based IoT
platform
11. How to get involved with IoT?
Create custom-made solutions
integrating things into an existing
business workflow.
15. Enterprise IoT is about
automation of collecting and
processing data required in
the business workflow.
16. 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
17. 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.
23. What do we use for Integration
• RESTful Web services
• OAuth authentication
• WebSocket protocol
• JSON data format
• Java servers
• HTML5/JavaScript
24. What do we use for integration
• RESTful Web services
• OAuth authentication
• WebSocket protocol
• JSON data format
• Java servers
• HTML5/JavaScript
Our recent book
25. Use case: Integrating Scale and Blood Pressure Monitor
into insurance workflow
IHealth Blood
Pressure Monitor
Fitbit Scale
Aria
27. Integrating With Fitbit Scale: Take 2.
fitbit.com
HTTP/Rest API
My Front-End App
Weight:
My Server
Data push Polling/Pub-Sub
via
WebSocket
28. Integrating With Fitbit and iHealthLabs.
fitbit.com
Weight:
iHealthLabs.com
HTTP/
Rest API
Blood Pressure:
HTTP/Rest API
Data push
via
WebSocket
My Front-End App
My Server
29. Adding OAuth Authentication
fitbit.com
My Front-End App
Weight:
iHealthLabs.com
HTTP/
Rest API
Blood Pressure:
HTTP/Rest API
Secret+key from
each device
vendor
My Server
Data push
via
WebSocket
31. The OAuth Workflow
• My company builds an app to use the thing’s API (e.g. with REST )
32. 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.
33. 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.
34. 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.
35. 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.
36. 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.
38. 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.