Cloud Computing, REST and Mashups to Simplify RFID Application Development and Deployment
1. 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
2. EPC Network in a Nutshell
6/13/2011 Dominique Guinard, MIT 2
3. 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
4. 1) Deploying and Maintaining EPC Systems
• Pain-Point
– Complex and Expensive
Backend Deployment
and Maintenance
• Web Remedy:
– Virtualization & Cloud
Computing
[www.flickr.com/photos/sunep]
6/13/2011 Dominique Guinard, MIT 4
5. Deploying and Maintaining EPC Systems
A Typical Fosstrak Deployment…
4
1 5
6
2 3
8 7
9
10
11) Java App Contrainer ~12 software components for
12) Java Enterprise SDK
(e.g., Tomcat) a typical RFID deployment!!
6/13/2011 Dominique Guinard, MIT 5
6. Deploying and Maintaining EPC Systems
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
7. 2) Developing EPC Applications
• Pain-Points
– Complicated
Applications
Developments:
• Mobile Apps
• Web Apps
• Web Remedies
– RESTful APIs
– Real-time Web
[www.flickr.com/photos/jgarber/]
6/13/2011 Dominique Guinard, MIT 7
8. Developing EPC Applications
Remedy: EPCIS Webadapter
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
6/13/2011 Dominique Guinard, MIT 8
9. Developing EPC Applications
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
10. Developing EPC Applications
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
11. Developing EPC Applications
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
12. Developing EPC Applications
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 Javascript
compatible with most
mobile browsers
6/13/2011 Dominique Guinard, MIT 12
13. 3) Enabling Business Use-Cases
• Pain-Points:
– Tedious Business Case
Modeling
– Tedious Cross-IoT
Systems Integration
• Web Remedy:
– RFID Mashup editor and
[www.flickr.com/photos/sunep]
[www.flickr.com/photos/dantheurer] engine
6/13/2011 Dominique Guinard, MIT 13
14. Enabling Business Use-Cases
Remedy 5: Mashup Editor for RFID
• Modularize simple
IP
components of typical
Reader EPC RFID applications
Name Events • Offer a Mashup
IP (json)
Framework + Engine:
EPC
Business
True/ – Users can build their own
False use cases
step
• Protoype based on:
– Browser-based (Javascript)
– Clickscript.ch added:
• Web push support
• Serveral RFID/WoT
modules
6/13/2011 Dominique Guinard, MIT 14
15. Enabling Business Use-Cases
Clickscript-based RFID Mashup Editor
[Clickscript.ch]
6/13/2011 Dominique Guinard, MIT 15
16. All together: Fosstrak EPC Cloud
Developing EPC
Applications
Deploying and
Maintaining EPC
Systems
Enabling Business
Use-Cases
6/13/2011 Dominique Guinard, MIT 16
17. 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
18. 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
19. You want more? Well here we go!
BACKUP
6/13/2011 Dominique Guinard, MIT 19
20. 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 20 / 50 Dominique Guinard ETH / MIT
21. Capture Webadapter
• Modular Capture-App
– Listening for ALE events
– Multiplexer:
• 1 event -> n Connectors
– Control through RESTful
API.
6/13/2011 Dominique Guinard, MIT 21
22. 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
23. 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