RESTifying WS-* Services: Case Study in RFID
-
Upload
dominique-guinard -
Category
Business
-
view
1.626 -
download
0
description
Transcript of RESTifying WS-* Services: Case Study in RFID
RESTifying WS-* Services A Case Study in RFID (Radio Frequency IDentification)
Dominique Guinard
SAP Research & ETH Zurich
Mathias Mueller
University of Fribourg
167
Today’s Menu
1. Background:> The global RFID network
in a nutshell
> Why RESTfying it?
2. RESTification process / implementation
3. Demonstration
2
[ flickr.com/photos/lessio/1346732230/ ]
BACKGROUNDRFID? EPC? EPC Network?
3
[ www.flickr.com/photos/docman ]
The EPC Network in a Nutshell
4
MOTIVATIONREST and RFID? What do we want to achieve?
5
[www.flickr.com/photos/moragcasey/]
Bringing the EPC Network to the Web?
WS-* are adequate for business integration:
> with an ERP (Enterprise Resource Planner).
> with a point of sale software.
But not so for more light-weight, ad-hoc integration [Paut08,09]:
> Low entry barrier.
> Web (browsing, bookmarking, emailing, etc.) and Web mashups (JS, etc.).
> Mobile applications, resource constrained devices.
Thus the idea to offer an alternate, RESTful interface for querying the EPC network.
6
[Paut09]: Pautasso, Cesare, and Erik Wilde. “Why is the Web Loosely Coupled? A Multi-Faceted Metric for Service Design.” In Proc. of the 18th International World Wide Web Conference (WWW2009). Madrid, Spain, 2009.
[Paut08]: Pautasso, Cesare, Olaf Zimmermann, and Frank Leymann. “Restful web services vs. "big"' web services: making the right architectural decision.” In Proc. of the 17th international conference on World Wide Web (WWW '08), 805―814. New York, NY, USA: ACM, 2008.
ARCHITECTUREResource design, RESTful framework, implementation
7
[www.flickr.com/photos/julianbleecker ]
REST?tinyurl.com/restwife
Design: Addressability & Connectedness
Resources:
> Locations, Readers, Tagged objects (EPC), etc.
Links:
> Every resource is linked to its children.
> And to relevant resources.
8
BASE_URL/location/migros:basel/reader/warehouse:incoming/time/2009-12-21T13:22:04.000Z/event/EPC
Richardson, Leonard, and Sam Ruby. RESTful Web Services.
O'Reilly Media, Inc., 2007.
Design: Wait, the EPCIS is not Hierachical!
The EPCIS data isn‘t really hierachical:
> E.g. an EPC can be seen by many readers.
> Running more complex queries (e.g. all events occuring in 2010 for urn:epc:id:sgtin: 0057000.123430.2025) becomes cumbersome!
> We offer a query-parameter based interface as well.
> Still is RESTful!
9
BASE_URL/eventquery/result?param1=value1&..¶mN=valueN
BASE_URL/eventquery/result?reader=sap:regensdorf:frc:storage&epc=urn:epc:id:sgtin:200057000.*
Design: Representations
RESTful APIs should offer several resprentations:
> XML for respecting the EPCIS standard.
> HTML for browsability.
> JSON for Web (e.g. Javascript) integration.
> Atom feeds for subscription to queries.
> The right representation for the right use case through “HTTP content negotiation”
10
Implementation: Which REST Framework? Major (Java, JAX-RS) frameworks:
> Apache CFX, RestEasy, Apache Wink
> Restlet:– +/- One to one translation of Roy
Fielding‘s thesis. [Field00]
– + Great community, first framework.
– Not a great support for JAX-RS.
> Jersey:– +/- Higher abstraction
– + Good community.
– + Ref. implementation of JAX-RS.
– + IDE support (Netbeans).
– + Integration with Grizzly (comet, etc.)
11
[Field00]: Fielding, Roy Thomas. “Architectural styles and the design of network-based software architectures.” University of California, Irvine, 2000.
[ googlevolume.com/jax-rs-implementations ]
Implementation: Component Architecture
12
RESTful EPCIS as a independent component:
> + Can be plugged on top of any EPCIS (standard) implementation.
> + Keeps the EPCIS WS-* interface safe.
> - Computational overhead due to REST -> WS-* translation.
Benchmarking REST vs WS-*
13
DEMONSTRATIONA Mashup Tool for the Web of Things
14
[www.flickr.com/photos/lpettinati]
Demo: EPC Mashup Dashboard
A Javascript (Google Web Toolkit) mashup for:
> Product managers to get live business intelligence for their products
> Consumers to better understand:
– Where is my product coming from
– What do people think about it, etc.
15
What are my current stock levels for this
Chocolate?
Where is this Chocolate coming from?
Where is the new one I ordered?
Dominique Guinard guinard.org
SAP Research / ETH Zurich dominique.guinard at sap.com
Mathias Mueller diuf.unifr.ch/softeng
University of Fribourg, CH mathias.mueller at unifr.ch
Delicious: delicious.com/misterdom/RESTfulEPCISBlog: webofthings.com
Backup
17
The EPC Network in a Nutshell
EPC (Electronic Product Code) Network:> Creating an “Internet of Things”.
> Global standard network of RFID data.
> Standardization from tags (TDS), readers (LLRP), aggregators (ALE), information system (EPCIS), etc.
18
[ www.epcglobalinc.org/standards ]