IoT, connecting apps, devices and services

35
Inspirirani ljudima. Section Divider

description

Shows how to leverage Microsoft Service Bus technology to build the bus for internet of things.

Transcript of IoT, connecting apps, devices and services

Page 1: IoT, connecting apps, devices and services

Inspirirani ljudima.

Section Divider

Page 2: IoT, connecting apps, devices and services

1-column slide headerMain topic 1Subtopic 1Subtopic 2

Main topic 2Subtopic 1Subtopic 2

Main topic 3Subtopic 1Subtopic 2

Page 3: IoT, connecting apps, devices and services

2-column slide headerMain topic 1Subtopic 1Subtopic 2

Main topic 2Subtopic 1Subtopic 2

Main topic 3Subtopic 1Subtopic 2

Main topic 1Subtopic 1Subtopic 2

Main topic 2Subtopic 1Subtopic 2

Main topic 3Subtopic 1Subtopic 2

Page 4: IoT, connecting apps, devices and services

Main topic 1Subtopic 1

2-tile slide header

Page 5: IoT, connecting apps, devices and services

Main topic 1Subtopic 1

3-tile slide header

Page 6: IoT, connecting apps, devices and services

Inspirirani ljudima.

Ugasite mobitele. Hvala.

Page 7: IoT, connecting apps, devices and services
Page 8: IoT, connecting apps, devices and services
Page 9: IoT, connecting apps, devices and services

Damir DobricLead ArchitectDAENET

Connecting Devices & ServicesInternet of Things

Page 10: IoT, connecting apps, devices and services

AGENDAState of technology &

Devices

Service API StylesSecurityREST or SOAP or more?

How to connect things?

Page 11: IoT, connecting apps, devices and services

Devices, Things & Co.Where we are today?

Page 12: IoT, connecting apps, devices and services

IoT Device Taxonomy

Large

Mobile

Micro

Small

POS terminal, ATM, MRIx86, PC-like, apps Embedded Industry 8.1, Standard

Industry handheld, POS tabletARM and x86, shell experience, appsEmbedded Handheld 8.1Gateways, wearables, panels, carsARM and x86, diverse hardware, no shellEmbedded Compact, AutoControllers, fixed-use, sensors, actuators ARM, constrained hardware, headless.NET Micro Framework

Azure M2M

Page 13: IoT, connecting apps, devices and services

Connection Capability

Large

Mobile

Micro

Small

Azure M2MDevice managementCommand & ControlData Analytics

Monitoring

ContentDistribution

ConfigurationManagement

RemoteAccess

Page 14: IoT, connecting apps, devices and services

Inspirirani ljudima.

2 Billion 5 Billion 7 Billion 10 Trillion50 Billion

Connected devices

1 000 000 000 000 000 000= 1018

Page 15: IoT, connecting apps, devices and services

Services: Where we are today?

Web Services

RPC-Api-Style

Resource-API-Style

Message-API-Style

Page 16: IoT, connecting apps, devices and services

Connected System (Point2Point)

ServiceConsumer

Interaction Style

API Style

Security

Page 17: IoT, connecting apps, devices and services

Trivial Connected System WebApplication,WebApi

WebServerHTML/

JavaScript

Interaction:Request/Response

Style:REST

Security:Transport

Page 18: IoT, connecting apps, devices and services

Trivial Connected SystemWCF

WCF ServiceConsumer

Request/Response, Duplex, OneWay,..

RPC

Message/Transport

Page 19: IoT, connecting apps, devices and services

Request ResponseClient Service Interaction

Book Service Design Patterns. Robert Daigneau

Page 20: IoT, connecting apps, devices and services

Remote Procedure Call (RPC)API Style

Book Service Design Patterns. Robert Daigneau

var order = proxy.CreateOrder(order);

Page 21: IoT, connecting apps, devices and services

ResourceAPI Style

Book Service Design Patterns. Robert Daigneau

sendRequest(“PUT”, http://server/myservice/orders);

Page 22: IoT, connecting apps, devices and services

None-Trivial Connected System

ThingThing

Interaction Style?

API Style ?

Security?

Thing

Page 23: IoT, connecting apps, devices and services

Support for HTTP onlyNo support for WS*No proxy supportNo protocol overhead

Protocol independentSupport WS*Powerful Proxy toolingProtocol overhead

REST or SOAP ? Two different approaches (apple or pear ?) Compete only in very simple scenarios. SOAP: Better for enterprises and services

based on standards, policies and governance.

REST: Better (mostly) for web. Very simple and suitable for broad set of devices.SOAP (RPC)

REST (Resource)

Page 24: IoT, connecting apps, devices and services

”Message” API Style!

Book Service Design Patterns. Robert Daigneau

Page 25: IoT, connecting apps, devices and services

Connecting “things”

Service

This does not work if both participants are on

private IP.

Bus

Public IP=>No VPN

Required

Message is received as

pull.

All participants are

behind firewall

Can use Relay, Queue or Topic

Participants can support different protocols: HTTP,

SBMP, AMQP

NO VPN required!

!

Page 26: IoT, connecting apps, devices and services

Broker

BrokerSenderReceiv

er

Dependency to:- Contract- Broker (Service Bus)

Removed dependency to:- Protocol- Service Address- Running state (offline)

Page 27: IoT, connecting apps, devices and services

DEMO show

SERVICE BUS QUEUES

SERVICE BUS TOPICS &

SUBSCRIPTIONS

Windows(System32)

WindowsRT

WindowsPhone

ServiceBus

Java Script

Page 28: IoT, connecting apps, devices and services

Consistent Messaging Support

Page 29: IoT, connecting apps, devices and services

Messaging across platforms

Windows(System32)

WindowsRT

WindowsPhone

WindowsAzure.Messaging.Managed.dll

WindowsAzure.ServiceBus.dll

WindowsAzure.Messaging.Managed.dll

ServiceBus

Node JS

var azure = require('azure');

Java Script

ServiceBus JavaScript SDK

Page 30: IoT, connecting apps, devices and services

Thank You

http://developers.de/blogs/damir_dobric/default.aspx

Twitter: /ddobric

https://twitter.com/ddobric

Blog

https://daenet.de

DAENET GmbH

Damir Dobricdaenet GmbH

Microsoft Integration MVP, Windows Azure [email protected]

Page 31: IoT, connecting apps, devices and services

Inspirirani ljudima.

Pitanja i odgovori.

BlogTwitter: /ddobric

DAENET GmbH

Damir Dobricdaenet GmbH

Microsoft Integration MVP, Windows Azure [email protected]

Page 32: IoT, connecting apps, devices and services

Why Queue?

Load Balancing (Competing Consumer)

• Offline Mode

BrokerSenderReceiv

er

Receiver

BrokerSender

Receiver

Page 33: IoT, connecting apps, devices and services

DEMO

SERVICE BUS TOPICS &

SUBSCRIPTIONS

Page 34: IoT, connecting apps, devices and services

DEMO

SERVICE BUS TOPICS &

SUBSCRIPTIONS

Page 35: IoT, connecting apps, devices and services

© 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.