RESTifying WS-* Services A Case Study in RFID (Radio Frequency - - PowerPoint PPT Presentation

restifying ws services
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

RESTifying WS-* Services

A Case Study in RFID (Radio Frequency IDentification)

Dominique Guinard SAP Research & ETH Zurich Mathias Mueller University of Fribourg 167

slide-2
SLIDE 2

Today’s Menu

  • 1. Background:

> The global RFID network in a nutshell > Why RESTfying it?

  • 1. RESTification process /

implementation

  • 2. Demonstration

2

[ flickr.com/photos/lessio/1346732230/ ]

slide-3
SLIDE 3

BACKGROUND

RFID? EPC? EPC Network?

3

[ www.flickr.com/photos/docman ]

slide-4
SLIDE 4

The EPC Network in a Nutshell

4

slide-5
SLIDE 5

MOTIVATION

REST and RFID? What do we want to achieve?

5

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

slide-6
SLIDE 6

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.

slide-7
SLIDE 7

ARCHITECTURE

Resource design, RESTful framework, implementation

7 [www.flickr.com/photos/julianbleecker ]

REST? tinyurl.com/ restwife

slide-8
SLIDE 8

Design: Addressability & Connectedness

Resources: > Locations, Readers, Tagged

  • bjects (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.

slide-9
SLIDE 9

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.*

slide-10
SLIDE 10

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

slide-11
SLIDE 11

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 ]

slide-12
SLIDE 12

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.
slide-13
SLIDE 13

Benchmarking REST vs WS-*

13

slide-14
SLIDE 14

DEMONSTRATION

A Mashup Tool for the Web of Things

14 [www.flickr.com/photos/lpettinati]

slide-15
SLIDE 15

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

  • rdered?
slide-16
SLIDE 16

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

slide-17
SLIDE 17

Backup

17

slide-18
SLIDE 18

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 ]

slide-19
SLIDE 19

19