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

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

Embed Size (px)

DESCRIPTION

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

Citation preview

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