RESTifying WS-* Services
A Case Study in RFID (Radio Frequency IDentification)
Dominique Guinard SAP Research & ETH Zurich Mathias Mueller University of Fribourg 167
RESTifying WS-* Services A Case Study in RFID (Radio Frequency - - PowerPoint PPT Presentation
RESTifying WS-* Services A Case Study in RFID (Radio Frequency IDentification) Dominique Guinard SAP Research & ETH Zurich Mathias Mueller University of Fribourg 167 Todays Menu 1. Background: > The global RFID network in a
A Case Study in RFID (Radio Frequency IDentification)
Dominique Guinard SAP Research & ETH Zurich Mathias Mueller University of Fribourg 167
> The global RFID network in a nutshell > Why RESTfying it?
2
[ flickr.com/photos/lessio/1346732230/ ]
RFID? EPC? EPC Network?
3
[ www.flickr.com/photos/docman ]
4
REST and RFID? What do we want to achieve?
5
[www.flickr.com/photos/moragcasey/]
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
(WWW2009). Madrid, Spain, 2009. [Paut08]: Pautasso, Cesare, Olaf Zimmermann, and Frank
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.
Resource design, RESTful framework, implementation
7 [www.flickr.com/photos/julianbleecker ]
REST? tinyurl.com/ restwife
Resources: > Locations, Readers, Tagged
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.
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&..& paramN=valueN BASE_URL/eventquery/result? reader=sap:regensdorf:frc:storage& epc=urn:epc:id:sgtin:200057000.*
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
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 ]
12
RESTful EPCIS as a independent component: > + Can be plugged on top of any EPCIS (standard) implementation. > + Keeps the EPCIS WS-* interface safe. >
13
A Mashup Tool for the Web of Things
14 [www.flickr.com/photos/lpettinati]
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
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/RESTfulEPCIS Blog: webofthings.com
17
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 ]
19