comparing soas for the internet of things

58
Service Oriented Architectures for the Web of Things Dominique Guinard ETH Zurich / SAP Research / MIT Auto-ID Labs Brown Bag @ Credit Suisse, Zurich, May 30 2011

Post on 18-Oct-2014

2.061 views

Category:

Technology


3 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Comparing SOAs for the Internet of Things

Service Oriented Architectures

for the Web of Things

Dominique GuinardETH Zurich / SAP Research / MIT Auto-ID Labs

Brown Bag @ Credit Suisse, Zurich, May 30 2011

Page 2: Comparing SOAs for the Internet of Things

I, in a Nutshell @ Alma Mater

2005: Bachelor in CS and

Management @ Fribourg:

Scalable (Java EE) RFID Indoor

Assets Tracking Framework

(RFIDLocator) @ Sun Microsystems

2006 – 2007: Master Thesis in

Computer Science @ Lancaster:

SOA for sensor supported interactions

with mobile phones

2008 – now: Ph.D. @ ETH

Zurich:

“Integrating the Real-World in the Web

of Things - A Service Architecture to

Support Application Development”

2010 – 2011: Visiting

Researcher @ MIT:

Using Cloud-Computing and REST to

simplify standard RFID software

applications.

Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 2 / 50

Page 3: Comparing SOAs for the Internet of Things

I, in a Nutshell @ Work

2007 – 2011: SAP AG:

Associate Researcher, SOA (Java EE,

WS-*) for integrating embedded

devices (e.g., machines) and IT

backend systems (e.g., ERPs)

2007 – 2008: Auto-ID Labs

Zurich:

« Mobile Internet of Things » project

with Nokia Research.

2005: Sun Microsystems

Intern, virtualized Java EE Portal for

Banking Business

1997 – 2006: GMIPSoft &

Spoker.com:

Co-founder, developer, manager

Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 3 / 50

Page 4: Comparing SOAs for the Internet of Things

INTRODUCTION AND MOTIVATION

Service Oriented Architectures for the Web of Things? Why? What?

[http://www.flickr.com/photos/moragcasey/]

Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 4 / 50

Page 5: Comparing SOAs for the Internet of Things

Things? Smart Things!

From appliances and machines…

Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT

to sensor networks…and tagged objects!

5 / 50

Page 6: Comparing SOAs for the Internet of Things

The Smart Things Era

Ubiquitous:

Home appliances

Industries

Smart Cities

Connected:

Zigbee, Bluetooth, Wifi

Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 6 / 50

Page 7: Comparing SOAs for the Internet of Things

Service Oriented Architecture for Smart Things

Question:

How do we enable tech savvys and

companies to create applications on

top of this eco-system?

Hundreds of different platforms

Web?

Scalable (7000 Facebook p/sec.)

Ubiquitous (from mobile to desktop)

Well-understood (1.73 Bio. users)

Idea:

Propose an SOA for enabling

composite applications with Smart

Things

Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 7 / 50

Page 8: Comparing SOAs for the Internet of Things

Motivation: Use Case

The manufacturing industry is facing a number of challenges:

Mass customization, last-minute

changes

Cross-organizations processes

… in a very heterogeneous world.

Need for increased flexibility and agility in the manufacturing process:

Enable dynamic reconfiguration and composition

Enable shop-floor events to be integrated to top-floor enterprise

applications (e.g ERP, etc.)

ERP, SCM, PLM, SRM, CRM

Enterprise

Factory/Plant

Machinery & Plant Assets

Heterogeneous Plant Floor IT Infras.

DISCONNECT

Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 8 / 50

Page 9: Comparing SOAs for the Internet of Things

Today’s Menu

1. Motivation

2. Smart Things SOAs:

1. A WS-* Architecture for Smart

Things

2. The Web of Things

3. Physical Mashups

4. Case study: WEB-enabling the

Global RFID Network

5. Conclusion[http://www.flickr.com/photos/lessio/1346732230/]

Dominique Guinard ETH / MIT

Credit Suisse, May 30, 2011 9 / 50

Page 10: Comparing SOAs for the Internet of Things

SOA-Ready Device Integration in Enterprise Systems

Develop a cross-layer infrastructure

composed of web service enabled

devices (SOA-ready) strongly

coupled with enterprise

applications.

Leading competitors in the automation

area.

SAP’s contribution is in the enterprise

integration.

Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 10 / 50

Page 11: Comparing SOAs for the Internet of Things

Socrades Integration Infrastructure: DPWS

Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 11 / 50

Page 12: Comparing SOAs for the Internet of Things

Device Layer: Device Profile for Web Services

Based on DPWS:

Open standard for providing WS-* Web Services at smart things level

Minimal set of standards

Smaller footprint

Similarities with UPnP but based on WS standards

DPWS = WS + Discovery + Service Description + Security and focus on Eventing

Goal: Embedding DPWS in devices and even « in silicon »:

Schneider Electric, ABB, ARM

IPv4/IPv6

TCP

HTTP 1.1UDP

SOAP 1.2

WSDL 1.1, XML Schema

WS-Addressing

WS-MetadataExchange

WS-Policy

WS-Security

WS-EventingWS-Discovery

IPv4/IPv6

TCP

HTTP 1.1UDP

SOAP 1.2

WSDL 1.1, XML Schema

WS-Addressing

WS-MetadataExchange

WS-Policy

WS-Security

WS-EventingWS-Discovery

Devices Profile for Web Services

(DPWS)

protocol stack

Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 12 / 50

Page 13: Comparing SOAs for the Internet of Things

Socrades Integration Infrastructure: DPWS

Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 13 / 50

Page 14: Comparing SOAs for the Internet of Things

Creating Workflows With Smart Things

Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 14 / 50

Page 15: Comparing SOAs for the Internet of Things

Qualitative Results: Still Rather Heavy

Still heavy on the embedded device itself:

No DPWS on Sun SPOT, Gripper, PLC

yet.

Maybe just a matter of time?

Heavy to program services and clients:

Have a WSDL, generate stub from

WSDL, databinding (JAXB) and SOAP,

service lookup, etc.

WS-* Web Services probably not the best SOA implementation for Smart Things [11]

Especially not for tactical, ad-hoc, applications [6,7]

Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 15 / 50

Page 16: Comparing SOAs for the Internet of Things

Thinking about Alternatives: REST?

Many practical benchmarking

has shown that REST

outperforms WS-* in the IoT field.

Yazar and Dunkels [10] have

compared both technologies for

wireless sensor networks.

Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT

Source [10] Yazar, Dunkels

16 / 50

Page 17: Comparing SOAs for the Internet of Things

Thinking about Alternatives

Study with ~70 developers:

REST seen as more adapted to smart

things

REST seen as easier to learn

=> Fosters public innovation

Security as the biggest drawback

of REST:

REST offers security over the

communication channel (HTTPS)

WS-* offers endpoint to endpoint

security (WS-Security)

Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 17 / 50

Page 18: Comparing SOAs for the Internet of Things

WEB OF THINGS ARCHITECTURE

Building a Web of Things, piece by piece…

[http://www.flickr.com/photos/julianbleecker]

Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 18 / 50

Page 19: Comparing SOAs for the Internet of Things

The Web of Things

Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 19 / 50

Page 20: Comparing SOAs for the Internet of Things

REST: The Core of the Web [1,2]

REST: architecture with 5 constraints

1. Identify resources and links: A resource: something, that can and that’s worth, getting a URI and

links

2. Design respresentations

3. Use the uniform interface

4. Bring things to the Internet&Web

Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 20 / 50

Page 21: Comparing SOAs for the Internet of Things

Case Study with Sun Spots

1) Resources and Links

Thanks to their atomicity services on embedded devices are

quite adapted to Resource-Oriented Architectures.

Resources: Spots: http://webofthings.com/spots

Spot 2: http://webofthings.com/spots/2

Light Sensor: http://webofthings.com/spots/2/sensors/light

Led Actuator:http://webofthings.com/spots/2/actuators/led

Resource Identification Hypermedia

Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 21 / 50

Page 22: Comparing SOAs for the Internet of Things

2) Representation Design

HTML as default, ideal for browsing: http://webofthings.com/spots

JSON & JSONp, ideal for mashups

XML, ideal for integration with business systems

Self-Describing Messages Hypermedia

Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 22 / 50

Page 23: Comparing SOAs for the Internet of Things

3) Interface Design

Leverage content negotiation: Accept: application/json

Use the HTTP Verbs extensively: GET, PUT, POST, DELETE

GET http://webofthings.com/spots/2/sensors/temperature

PUT http://webofthings.com/spots/2/actuators/led/1

Map status codes: 200 OK, 201 Created, 400 Bad Request

Uniform Interface Self-Describing Messages

Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 23 / 50

Page 24: Comparing SOAs for the Internet of Things

4) Bringing Things to the Internet&Web:

Smart Gateways [3] 6lowpan coming quickly:

Cisco, IPSO, OpenPicus

HTTP Reverse Proxy

Hiding IoT proprietary protocols

(Zigbee, Bluetooth, etc.):

Dongle based

OSGi modularity

Installed on residential gateways:

Wireless routers (OpenWrt)

NAT

RESTful Design Process can be

(partially) automated

Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 24 / 50

Page 25: Comparing SOAs for the Internet of Things

Quantitative Evaluation

10’000 requests on the Sun

SPOTs

1) Embedded Webserver:

205 ms (97 – 8500)

Could be improved with a proxy!

2) Smart Gateway:

Sync-based (caching)

4 ms (2 – 49)

Age max: 300 ms

Good enough for most sub-

second use cases.

Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 25 / 50

Page 26: Comparing SOAs for the Internet of Things

PHYSICAL MASHUPS

What can we build on top of the Web of Things?

[http://www.flickr.com/photos/docman]

Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 26 / 50

Page 27: Comparing SOAs for the Internet of Things

Typical WoT Architecture: « Energie Visible »

Project for a private foundation

for sustainability (cudrefin02.ch)

Goal: an easily deployable

system for better understanding

consumption:

Cross-platform

Web access

Uses the Plogg sensor nodes

Smart Gateway provides

RESTful API

Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 27 / 50

Page 28: Comparing SOAs for the Internet of Things

« Energie Visible »: Mashup and UIs [4]

Web UI / Mashup using Javascript (GWT):

www.webofthings.com/energievisible

E-Meter iPhone App

[http://www.vs.inf.ethz.ch/res/show.html?what=emeter_demo]

Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 28 / 50

Page 29: Comparing SOAs for the Internet of Things

Physical Mashup Editors [5]

• Clickscript:

– Javascript (JQuery / DOJO) based

visual language.

• Added wrappers for WoT

devices:

– SunSPOT, Ploggs, RFID reader

[http://www.clickscript.ch]

Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 29 / 50

Page 30: Comparing SOAs for the Internet of Things

WEB-ENABLING THE GLOBAL RFID NETWORK

A (business-relevant) case-study in RFID

Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 30 / 50

Page 31: Comparing SOAs for the Internet of Things

EPC Network in a Nutshell

Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 31 / 50

Page 32: Comparing SOAs for the Internet of Things

Paint-Point: Complicated applications developments:

Goal:

Offer lighter APIs

Allow integration with IoT devices

(sensors, mobile phones)

Allow Web 2.0 integration

Remedy:

RESTful APIs

Real-time Web

Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT

[www.flickr.com/photos/jgarber/]

32 / 50

Page 33: Comparing SOAs for the Internet of Things

EPC Network in a Nutshell

Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 33 / 50

Page 34: Comparing SOAs for the Internet of Things

API Design: Addressability & Connectedness

Resources:

Locations, Readers, Tagged objects

(EPC), etc.

Links:

Every resource is linked to its children.

And to relevant resources.

http://.../location/migros:basel/reader/warehouse:incoming/time/2009-12-21T13:22:04.000Z/event/EPC

Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 34 / 50

Page 35: Comparing SOAs for the Internet of Things

Design: Representations

Several representations:

XML: EPCIS standard

JSON: Web integration

HTML: browsability

CSS for browser

CSS for mobile (IUI)

Selected through “HTTP content

negotiation”

Atom feeds for subscription to

queries.

Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 35 / 50

Page 36: Comparing SOAs for the Internet of Things

Implementation: EPCIS Web-adapter

Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 36 / 50

Page 37: Comparing SOAs for the Internet of Things

Performance Evaluation

Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 37 / 50

Page 38: Comparing SOAs for the Internet of Things

Applications

Easier to build mobile apps

Easier to build Web apps

(mashup dashboard)

Shortcomings:

How about real-time?

Beyond EPCIS?

« Reader » push?

Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 38 / 50

Page 39: Comparing SOAs for the Internet of Things

Remedy: Real-Time Web in a Nutshell

Current Web Real-Time Web

[Generated with websequencediagrams.com]

Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 39 / 50

Page 40: Comparing SOAs for the Internet of Things

HTML 5 Websockets

Full-duplex in the browser

Part of the soon standard HTML

5 spec.

Subscription through Javascript

Increasing number of browsers

support

Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT

[Generated with websequencediagram.com]

40 / 50

Page 41: Comparing SOAs for the Internet of Things

Application: Mobile Reader Monitor

Use-case:

Scan QR code

Monitor an RFID reader (via

LLRP/ALE) live from any mobile

browser

Technology:

Fosstrak EPC Cloud

tPusher

~20 lines of Javascript compatible with

most mobile browsers

Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 41 / 50

Page 42: Comparing SOAs for the Internet of Things

Paint-Point: Complex and expensive back-end

deployments and maintenance

Goal:

Reduce installation & maintenance

time and costs:

Software

Harware

Remedy:

Virtualization & Cloud Computing

Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT

[www.flickr.com/photos/sunep]

42 / 50

Page 43: Comparing SOAs for the Internet of Things

A Typical EPC Software Deployment…

1

2 3

45

6

8

79

10

11) Java App Contrainer

(e.g., Tomcat)12) Java Enterprise SDK

~12 software components

for a typical RFID

deployment!!

Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 43 / 50

Page 44: Comparing SOAs for the Internet of Things

Remedy: Virtualization

Test / dev for the EPC Network

locally in 5 minutes

Virtualized development

environment:

Eclipse, LLRP Commander, Readers

simulators, WSN simulators, toolkits, etc.

All Fosstrak components

Based on VMWare:

Private Cloud

Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 44 / 50

Page 45: Comparing SOAs for the Internet of Things

Remedy: Cloud Computing

Run your EPC Network server in

5 minutes!

Cloud appliance:

Full EPC Network server

Admin Web interface

Fully configured Tomcat Instance

Based on Amazon EC2:

Public Cloud

Utility Computing

Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 45 / 50

Page 46: Comparing SOAs for the Internet of Things

All together: EPC Cloud Infrastructure

Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 46 / 50

Page 47: Comparing SOAs for the Internet of Things

Application: RFID Mashup Editor

Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT

[Clickscript.ch]

47 / 50

Page 48: Comparing SOAs for the Internet of Things

CONCLUSION AND OUTLOOK

[http://www.flickr.com/photos/brapke/]

Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 48 / 50

Page 49: Comparing SOAs for the Internet of Things

Conclusions

The integration of Smart Things

should be rooted on the best

practices of SOAs

2 SOA Architectures for

composite applications with

Smart Things:

WS-*, DPWS-based

Better security, built-in eventing and

discovery.

REST

Better Web integration, easier to use,

more lightweight

Key-point: looking beyond the

technological hype.

Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 49 / 50

Page 50: Comparing SOAs for the Internet of Things

Thanks a lot for your attention

Dominique Guinard

Contact details:

www.guinard.org

Blog:

www.webofthings.com

Software:

www.webofthings.com/projects

Papers and articles:

www.guinard.org/publications

Special thanks to:

Vlad Trifa, Simon Mayer, Christian

Floerkemeier, Mathias Mueller, Mathias

Fischer and the WoT members…

Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 50 / 50

Page 51: Comparing SOAs for the Internet of Things

References

1. L. Richardson and S. Ruby. “RESTful Web Services”.

O'Reilly Media, Inc., 2007

2. R. Fielding: “Architectural styles and the design of

network-based software architectures”, 2000

3. S. Mayer, D. Guinard, V. Trifa: “Facilitating Integration and

Interaction of Real-World Services for WoT” Urban IoT

2010

4. M. Weiss, D. Guinard: “Increasing Energy Awareness

Through Web-enabled Power Outlets” MUM 2010

5. D. Guinard: “Mashing up Your Web-Enabled Home”,

Touch the Web 2010

Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT

All our papers are on: www.guinard.org/publications

51 / 50

Page 52: Comparing SOAs for the Internet of Things

References

6. Pautasso, Cesare, Olaf Zimmermann, and Frank Leymann. “Restful web services vs. "big" web services: making the right architectural decision.” WWW '08

7. Pautasso, Cesare, and Erik Wilde. “Why is the Web Loosely Coupled? A Multi-Faceted Metric for Service Design.” WWW’09

8. Kindberg, Tim, John Barton, Jeff Morgan, Gene Becker, Debbie Caswell, Philippe Debaty, Gita Gopal, et al. “People, places, things: web presence for the real world.” Mob. Netw. Appl. 7, no. 5 (2002): 365-376.

9. Dominique Guinard, Mathias Fischer, Vlad Trifa“Sharing Using Social Networks in a Composable Web of Things.” Proc. of the First IEEE International Workshop on the Web of Things (WOT2010). Mannheim, Germany, March 2010

Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 52 / 50

Page 53: Comparing SOAs for the Internet of Things

References

10.Yazar, D., & Dunkels, A.. Efficient application integration in

IP-based sensor networks. Proceedings of the First ACM

Workshop on Embedded Sensing Systems for Energy-

Efficiency in Buildings (p. 4350). Berkeley, CA, USA.

Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 53 / 50

Page 54: Comparing SOAs for the Internet of Things

Backup

Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 54 / 50

Page 55: Comparing SOAs for the Internet of Things

Age of Cache

Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 55 / 50

Page 56: Comparing SOAs for the Internet of Things

Protecting Access to Things:

Friends and Things (FAT) [9]

Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 56 / 50

Page 57: Comparing SOAs for the Internet of Things

Friends and Things: User Interface

Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 57 / 50

Page 58: Comparing SOAs for the Internet of Things

Search and Performances

Finding Services: HTML5 Microdata

RDFa

WoT Search:

Google Custom Engine

Yahoo Search Monkey

Dyser

Performances! Push vs Pull

Highly scalable Web-servers

Node.js

Grizzly

Cloud solutions:

GAE, AWS

Credit Suisse, May 30, 2011 Dominique Guinard ETH / MIT 58 / 50