Top Banner
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
58

Comparing SOAs for the Internet of Things

Oct 18, 2014

Download

Technology

 
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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