cloud computing, rest and mashups to simplify rfid application development and deployment

23
Cloud Computing, REST and Mashups to Simplify RFID Applications Dominique Guinard Christian Floerkemeier Sanjay Sarma MIT Auto-ID Labs & LMP / ETH Zurich 6/13/2011 Dominique Guinard, MIT 1

Upload: dominique-guinard

Post on 15-Jan-2015

8.140 views

Category:

Documents


1 download

DESCRIPTION

Cloud Computing, REST and Mashups to Simplify RFID Application Development and Deployment

TRANSCRIPT

Page 1: Cloud Computing, REST and Mashups to Simplify RFID Application Development and Deployment

Cloud Computing, REST and Mashups to

Simplify RFID Applications

Dominique GuinardChristian Floerkemeier

Sanjay SarmaMIT Auto-ID Labs & LMP / ETH Zurich

6/13/2011 Dominique Guinard, MIT 1

Page 2: Cloud Computing, REST and Mashups to Simplify RFID Application Development and Deployment

EPC Network in a Nutshell

6/13/2011 Dominique Guinard, MIT 2

Page 3: Cloud Computing, REST and Mashups to Simplify RFID Application Development and Deployment

Motivation

• RFID, EPC Network-based applications have a lot of potential:– Combined with other IoT devices (sensors, mobile

phones, etc.)– Combined with service on the Web (visualization,

storage, etc.)– SMEs (Small and medium enterprises) yet to convince!

• Yet, lack of adoption of EPC Network software standards:– Complex (install, maintenance, integration) software

stack

6/13/2011 Dominique Guinard, MIT 3

Page 4: Cloud Computing, REST and Mashups to Simplify RFID Application Development and Deployment

1) Deploying and Maintaining EPC Systems

• Pain-Point

– Complex and Expensive Backend Deployment and Maintenance

• Web Remedy:

– Virtualization & Cloud Computing

6/13/2011 Dominique Guinard, MIT 4

[www.flickr.com/photos/sunep]

Page 5: Cloud Computing, REST and Mashups to Simplify RFID Application Development and Deployment

A Typical Fosstrak 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!!

6/13/2011 Dominique Guinard, MIT 5

Deploying and Maintaining EPC Systems

Page 6: Cloud Computing, REST and Mashups to Simplify RFID Application Development and Deployment

Remedy: Virtualization & Cloud Computing

• Run your EPC Network server in 5 minutes!

• Cloud appliance:– Full EPC Network server

– Admin Web interface

– Fully configured Tomcat Instance

• 2 VMs:– Amazon EC2

(public cloud)

– VMWare (private cloud)

6/13/2011 Dominique Guinard, MIT 6

Deploying and Maintaining EPC Systems

Page 7: Cloud Computing, REST and Mashups to Simplify RFID Application Development and Deployment

2) Developing EPC Applications

• Pain-Points

– Complicated Applications Developments:• Mobile Apps

• Web Apps

• Web Remedies

– RESTful APIs

– Real-time Web

6/13/2011 Dominique Guinard, MIT 7

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

Page 8: Cloud Computing, REST and Mashups to Simplify RFID Application Development and Deployment

Remedy: EPCIS Webadapter

6/13/2011 Dominique Guinard, MIT 8

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

“Giving RFID a REST: Building a Web-Enabled EPCIS.” Proc. of IoT 2010

Developing EPC Applications

Page 9: Cloud Computing, REST and Mashups to Simplify RFID Application Development and Deployment

Benefits and Shortcomings

• Easier/Possible to build:

– Mobile apps

– Web apps

• Shortcomings:

– How about real-time?

– Beyond EPCIS?

• « Reader » push?

6/13/2011 Dominique Guinard, MIT 9

Developing EPC Applications

Page 10: Cloud Computing, REST and Mashups to Simplify RFID Application Development and Deployment

Remedy 4: HTML5 Websockets

• Full-duplex in the browser

• Part of the soon standard HTML 5 drafts.

• Subscription through Javascript

• Increasing number of browsers support

[Generated with websequencediagrams.com]6/13/2011 Dominique Guinard, MIT 10

Developing EPC Applications

Page 11: Cloud Computing, REST and Mashups to Simplify RFID Application Development and Deployment

tPusher

• Web Push Service

• Supports several transports:– Websockets

– Long-polling / Comet

– Streaming

• Client (mobile/Web) application in 10 lines!

• Based on Atmosphere/Jersey and its JQuery Plugin

6/13/2011 Dominique Guinard, MIT 11

Developing EPC Applications

Page 12: Cloud Computing, REST and Mashups to Simplify RFID Application Development and Deployment

Sample App: 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 Javascriptcompatible with most mobile browsers

6/13/2011 Dominique Guinard, MIT 12

Developing EPC Applications

Page 13: Cloud Computing, REST and Mashups to Simplify RFID Application Development and Deployment

3) Enabling Business Use-Cases

• Pain-Points:

– Tedious Business Case Modeling

– Tedious Cross-IoTSystems Integration

• Web Remedy:

– RFID Mashup editor and engine

6/13/2011 Dominique Guinard, MIT 13

[www.flickr.com/photos/sunep]

[www.flickr.com/photos/dantheurer]

Page 14: Cloud Computing, REST and Mashups to Simplify RFID Application Development and Deployment

Remedy 5: Mashup Editor for RFID

• Modularize simple components of typical RFID applications

• Offer a MashupFramework + Engine:– Users can build their own

use cases

• Protoype based on:– Browser-based (Javascript)

– Clickscript.ch added:• Web push support

• Serveral RFID/WoTmodules

IP

Reader Name

EPC

IP

Business step

EPCEvents(json)

True/False

6/13/2011 Dominique Guinard, MIT 14

Enabling Business Use-Cases

Page 15: Cloud Computing, REST and Mashups to Simplify RFID Application Development and Deployment

Clickscript-based RFID Mashup Editor

[Clickscript.ch]

6/13/2011 Dominique Guinard, MIT 15

Enabling Business Use-Cases

Page 16: Cloud Computing, REST and Mashups to Simplify RFID Application Development and Deployment

All together: Fosstrak EPC Cloud

6/13/2011 Dominique Guinard, MIT 16

Enabling BusinessUse-Cases

Deploying and Maintaining EPC

Systems

Developing EPC Applications

Page 17: Cloud Computing, REST and Mashups to Simplify RFID Application Development and Deployment

Future Work

• Qualitative/quantiative evaluation of the EPC Cloud project:– Latency? Quality of Service?– Real-world deployment/experience?

• EPC Cloud as SAAS (Software as a Service) plateform :– Several SME’s on one (scalable) instance of the EPC Cloud

• RFID use-cases as mashup modules:– Study most important RFID uses-cases– Extract (mashup) modules– Provide a scalable execution environment (engine)

• Open-sourcing the EPC Cloud?

6/13/2011 Dominique Guinard, MIT 17

Page 18: Cloud Computing, REST and Mashups to Simplify RFID Application Development and Deployment

Thanks for your attention…

• Special thanks to:

– Lukas Naef (Clickscript)

– Mathias Mueller (Webadapter)

• Contact:

– www.guinard.org

• Open Source Software & Details:– www.webofthings.com/rfid

6/13/2011 Dominique Guinard, MIT 18

Page 19: Cloud Computing, REST and Mashups to Simplify RFID Application Development and Deployment

BACKUPYou want more? Well here we go!

6/13/2011 Dominique Guinard, MIT 19

Page 20: Cloud Computing, REST and Mashups to Simplify RFID Application Development and Deployment

APIs to Foster Public Innovation

• 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 / MIT20 / 50

Page 21: Cloud Computing, REST and Mashups to Simplify RFID Application Development and Deployment

Capture Webadapter

• Modular Capture-App

– Listening for ALE events

– Multiplexer:• 1 event -> n Connectors

– Control through RESTfulAPI.

6/13/2011 Dominique Guinard, MIT 21

Page 22: Cloud Computing, REST and Mashups to Simplify RFID Application Development and Deployment

Project Goals

1. Reduce the deployment complexity of standard RFID/IoT software stacks.

2. Allow easier (cheaper), more lightweight (mobile/WSNs) RFID application development.

3. Enable RFID mashability:

– Composition of RFID/WSNs/appliances and existing services on the Web

– Allow anyone to implement simple use-cases

…. By applying Web (of Things) blueprints!

6/13/2011 Dominique Guinard, MIT 22

Page 23: Cloud Computing, REST and Mashups to Simplify RFID Application Development and Deployment

Sample App: Mobile EAS

• Mashup:– Get EPCs from readers– Where products (EPC) already

sold?– If not take a picture with

Webcam– Push (websocket) picture to

all clients on …/thefts

• Mobile:– Subscribe to /thefts– Display snapshot and product

info– Implemented with the Sencha

Touch Javascript Library.

6/13/2011 Dominique Guinard, MIT 23