18
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: Case Study in RFID

Embed Size (px)

DESCRIPTION

RESTifying WS-* Services: Case Study in RFID

Citation preview

Page 1: 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

Page 2: RESTifying WS-* Services: Case Study in RFID

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/ ]

Page 3: RESTifying WS-* Services: Case Study in RFID

BACKGROUNDRFID? EPC? EPC Network?

3

[ www.flickr.com/photos/docman ]

Page 4: RESTifying WS-* Services: Case Study in RFID

The EPC Network in a Nutshell

4

Page 5: RESTifying WS-* Services: Case Study in RFID

MOTIVATIONREST and RFID? What do we want to achieve?

5

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

Page 6: RESTifying WS-* Services: Case Study in RFID

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.

Page 7: RESTifying WS-* Services: Case Study in RFID

ARCHITECTUREResource design, RESTful framework, implementation

7

[www.flickr.com/photos/julianbleecker ]

REST?tinyurl.com/restwife

Page 8: RESTifying WS-* Services: Case Study in RFID

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.  

Page 9: RESTifying WS-* Services: Case Study in RFID

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&..&paramN=valueN

BASE_URL/eventquery/result?reader=sap:regensdorf:frc:storage&epc=urn:epc:id:sgtin:200057000.*

Page 10: RESTifying WS-* Services: Case Study in RFID

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

Page 11: RESTifying WS-* Services: Case Study in RFID

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 ]

Page 12: RESTifying WS-* Services: Case Study in RFID

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.

Page 13: RESTifying WS-* Services: Case Study in RFID

Benchmarking REST vs WS-*

13

Page 14: RESTifying WS-* Services: Case Study in RFID

DEMONSTRATIONA Mashup Tool for the Web of Things

14

[www.flickr.com/photos/lpettinati]

Page 15: RESTifying WS-* Services: Case Study in RFID

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?

Page 16: RESTifying WS-* Services: Case Study in RFID

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

Page 17: RESTifying WS-* Services: Case Study in RFID

Backup

17

Page 18: RESTifying WS-* Services: Case Study in RFID

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 ]