connecting apps, devices and services

25
Services for Devices Connected & Distributed Apps Damir Dobric daenet GmbH Microsoft Integration MVP, Windows Azure VTSP [email protected]

Upload: damir-dobric

Post on 14-Jan-2015

196 views

Category:

Technology


1 download

DESCRIPTION

Session about influence of the new Microsoft strategy to technology shift. How we thing about services and how we will build them soon. You thin SOAP or REST. Wrong! The way might be different.

TRANSCRIPT

Page 1: Connecting Apps, Devices and Services

Services for DevicesConnected & Distributed Apps

Damir Dobricdaenet GmbH

Microsoft Integration MVP, Windows Azure [email protected]

Page 2: Connecting Apps, Devices and Services

AGENDA

State of technology & Devices

Service API StylesREST or SOAP or ???

Cloud, Bus, Connecting, Firewall &

Co.

Workflow Manager

Page 3: Connecting Apps, Devices and Services

Moore's Law

o Trend for number of transistors on integrated circuit.o It doubles approximately every two years. o Strongly linked to: o processing speed, o memory capacity, o and even the number and size of pixels in digital cameras.

o Impact on nearly every segment of the world economy

Page 4: Connecting Apps, Devices and Services

Limit of vertical scale ?

Page 5: Connecting Apps, Devices and Services

256 Core Processor

Page 6: Connecting Apps, Devices and Services

Connected Devices?

Page 7: Connecting Apps, Devices and Services

Services: Where we are today?

Web Services

RPC-Api-Style

Resource-API-Style

Message-API-Style

Page 8: Connecting Apps, Devices and Services

High-Level Architecture

ServiceConsumer

Interaction

API Style

Page 9: Connecting Apps, Devices and Services

Request ResponseClient Service Interaction

Book Service Design Patterns. Robert Daigneau

Page 10: Connecting Apps, Devices and Services

Request AcknowledgeClient Service Interaction

Book Service Design Patterns. Robert Daigneau

Page 11: Connecting Apps, Devices and Services

Remote Procedure Call (RPC)API Style

Book Service Design Patterns. Robert Daigneau

var order = proxy.CreateOrder(order);

Page 12: Connecting Apps, Devices and Services

ResourceAPI Style

Book Service Design Patterns. Robert Daigneau

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

Page 13: Connecting Apps, Devices and Services

REST or SOAP ?

o Protocol independento Support WS*o Powerful Proxy toolingo Protocol overhead

o Support for HTTP onlyo No support for WS*o No proxy supporto No protocol overhead

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 14: Connecting Apps, Devices and Services

But, there is also the”Message” API Style!

Book Service Design Patterns. Robert Daigneau

Page 15: Connecting Apps, Devices and Services

Broker

BrokerSender Receiver

Page 16: Connecting Apps, Devices and Services

DEMO

SERVICE BUS QUEUES

Page 17: Connecting Apps, Devices and Services

Why Queue?

oLoad Balancing (Competing Consumer)

• Offline Mode

BrokerSender

Receiver

Receiver

BrokerSender

Receiver

Page 18: Connecting Apps, Devices and Services

DEMO

SERVICE BUS TOPICS &

SUBSCRIPTIONS

Page 19: Connecting Apps, Devices and Services

Topics & Subscriptions

Page 20: Connecting Apps, Devices and Services

DEMO

SERVICE BUS TOPICS &

SUBSCRIPTIONS

Page 21: Connecting Apps, Devices and Services

How about devices & services?

Service

This does not work if both participants are on private IP.

Service Bus

Public IP

Message is received as pull.

All participants are behind firewall

Can use Relay or Queue

Participants can support different protocols: HTTP,

SBMP, AMQP

NO VPN required!!

Page 22: 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

SB REST SDK

Page 23: Connecting Apps, Devices and Services

Consistent Messaging Support

Page 24: Connecting Apps, Devices and Services

Recap

Page 25: 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 GmbHDamir Dobricdaenet GmbH

Microsoft Integration MVP, Windows Azure [email protected]