RESTifying WS-* Services: Case Study in RFID

Uploaded on

RESTifying WS-* Services: Case Study in RFID

RESTifying WS-* Services: Case Study in RFID

More in: Business , Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads


Total Views
On Slideshare
From Embeds
Number of Embeds



Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

    No notes for slide
  • Where we started, a quick overview of our first trials to integrate sensor networks to business applications. A few guidelines on how to make sensor nodes first class citizens of the Web. Our implementation of these guidelines on the Sun SPOT plateform, including the video of a business use case we implemented using the RESTful Sun SPOTs.
  • The ``what'': what tagged products (EPCs) were read. The ``when'': at what time were the products read. The ``where'': where were the products read, in terms of Business Location (e.g. ``Floor B''). The ``who'': what readers (Read Point) recorded this trace. The ``which'': what was the business context (Business Step) recording the trace (e.g. ``Shipping''). Set of standards: Creating an « Internet of Things » The EPCIS is the information service: Sharing of RFID data. Exposes as standard WS-* interface Serveral EPCIS vendors: SAP AII (Auto-Id Infrastructure) IBM InfoSphere Fosstrak EPCIS (open source) Oracle Oracle Sensor Data Manager
  • According to expert of the domain (benchmarking made at SAP): Apache CFX According to me: Jersey
  • EPCIS: Fosstrak, SAP AII REST Fwork: jersey Atom: Abdera Container: Apache tomcat / Grizzly / Glassfish v3.
  • Yes, cool! But actually: Warning!!!! -> We could really optimize WS-* services to perform way better (caching the WSDL, compressing the data). Still, these results are nicely surprising! Hem actually we could also optimize REST services as well (compressing and …. caching!!!!)
  • Test it on
  • Find all the links and resources mentionned in this talk on:


  • 1. RESTifying WS-* Services A Case Study in RFID (Radio Frequency IDentification) Dominique Guinard SAP Research & ETH Zurich Mathias Mueller University of Fribourg 167
  • 2. Today’s Menu
    • Background:
      • The global RFID network in a nutshell
      • Why RESTfying it?
    • RESTification process / implementation
    • Demonstration
    [ ]
    • RFID? EPC? EPC Network?
    • [ ]
  • 4. The EPC Network in a Nutshell
    • REST and RFID? What do we want to achieve?
    • []
  • 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.
    [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.
    • Resource design, RESTful framework, implementation
    • [ ]
    REST? restwife
  • 8. Design: Addressability & Connectedness
    • Resources:
      • Locations, Readers, Tagged objects (EPC), etc.
    • Links:
      • Every resource is linked to its children.
      • And to relevant resources.
    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.  
  • 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!
    BASE_URL/ eventquery/ result?param1=value1&..& paramN=valueN BASE_URL/ eventquery/result? reader=sap:regensdorf:frc:storage& epc=urn:epc:id:sgtin:200057000.*
  • 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”
  • 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.)
    [Field00]: Fielding, Roy Thomas. “ Architectural styles and the design of network-based software architectures.” University of California, Irvine, 2000.   [ ]
  • 12. Implementation: Component Architecture
    • 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.
  • 13. Benchmarking REST vs WS-*
    • A Mashup Tool for the Web of Things
    • [ ]
  • 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.
    What are my current stock levels for this Chocolate? Where is this Chocolate coming from? Where is the new one I ordered?
  • 16. Dominique Guinard SAP Research / ETH Zurich dominique.guinard at Mathias Mueller University of Fribourg, CH mathias.mueller at Delicious: Blog:
  • 17. Backup
  • 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.
    [ ]