REST: Growing Up

Workshop on Web APIs and RESTful Design (WS-REST 2015) [http://ws-rest.org/2015/]

Erik Wilde, Siemens
May 18, 2015

Creative Commons License [http://creativecommons.org/licenses/by/3.0/]

This work is licensed under a CC
Attribution 3.0 Unported License
[http://creativecommons.org/licenses/by/3.0/]

Contents Erik Wilde: REST: Growing Up

Contents

Erik Wilde: REST: Growing Up

(2) Abstract

REST's popularity as a design pattern for providing services has steadily gained traction over the last decade. While this is great news because more decentralized and browsable services become available, it also creates the risk of attempting to create REST standards. After looking back at REST's success (and WS-REST's 6-year history), this talk is an attempt to present REST as a pattern and a practice, and not as a technology that needs standardized technologies and tools. As REST practitioners, our goal should be to create solutions that are a good fit for their problem space, instead of attempting to create the single one solution that we can simply use everywhere.



Erik Wilde: REST: Growing Up

(3) Eierlegende Wollmilchsau?

The only REST service you'll ever need!

Erik Wilde: REST: Growing Up

(4) Toolbox!

Provide bits and pieces that can be assembled as required.

WS-REST Turns 6!

Outline (WS-REST Turns 6!)

  1. WS-REST Turns 6! [6]
  2. Resource Discovery [3]
  3. Resource Capabilities [2]
  4. Testing REST [6]
  5. No Silver Unicorn [4]
  6. Conclusions [2]
WS-REST Turns 6! Erik Wilde: REST: Growing Up

(6) Happy 6th Anniversary!

birthday-cake.jpg

WS-REST Turns 6! Erik Wilde: REST: Growing Up

(7) WS-REST: Looking Back



WS-REST Turns 6! Erik Wilde: REST: Growing Up

(8) Papers at WS-REST



WS-REST Turns 6! Erik Wilde: REST: Growing Up

(9) REST Style Elements

  1. Resource Identification
  2. Uniform Interface
  3. Self-Describing Messages
  4. Hypermedia Driving Application State (HATEOAS)
  5. Stateless Interactions


WS-REST Turns 6! Erik Wilde: REST: Growing Up

(10) Using Style Elements to Solve SOA Problems



WS-REST Turns 6! Erik Wilde: REST: Growing Up

(11) IoT Scenarios



Resource Discovery

Outline (Resource Discovery)

  1. WS-REST Turns 6! [6]
  2. Resource Discovery [3]
  3. Resource Capabilities [2]
  4. Testing REST [6]
  5. No Silver Unicorn [4]
  6. Conclusions [2]
Resource Discovery Erik Wilde: REST: Growing Up

(13) Where are my Resources?



Resource Discovery Erik Wilde: REST: Growing Up

(14) IoT Drives Discovery



Resource Discovery Erik Wilde: REST: Growing Up

(15) Discovery Design



Resource Capabilities

Outline (Resource Capabilities)

  1. WS-REST Turns 6! [6]
  2. Resource Discovery [3]
  3. Resource Capabilities [2]
  4. Testing REST [6]
  5. No Silver Unicorn [4]
  6. Conclusions [2]
Resource Capabilities Erik Wilde: REST: Growing Up

(17) What Can My Resource Do?



Testing REST

Outline (Testing REST)

  1. WS-REST Turns 6! [6]
  2. Resource Discovery [3]
  3. Resource Capabilities [2]
  4. Testing REST [6]
  5. No Silver Unicorn [4]
  6. Conclusions [2]
Testing REST Erik Wilde: REST: Growing Up

(20) Why Test REST?



Testing REST Erik Wilde: REST: Growing Up

(21) How Robust Is My Client?



Testing REST Erik Wilde: REST: Growing Up

(22) Resource Identification



Testing REST Erik Wilde: REST: Growing Up

(23) Resource Access



Testing REST Erik Wilde: REST: Growing Up

(24) Resource Representation



Testing REST Erik Wilde: REST: Growing Up

(25) Resource Variability



No Silver Unicorn

Outline (No Silver Unicorn)

  1. WS-REST Turns 6! [6]
  2. Resource Discovery [3]
  3. Resource Capabilities [2]
  4. Testing REST [6]
  5. No Silver Unicorn [4]
  6. Conclusions [2]
No Silver Unicorn Erik Wilde: REST: Growing Up

(27) Creating the Silver Unicorn Hammer

The nice thing about standards is that there are so many to choose from.

No Silver Unicorn Erik Wilde: REST: Growing Up

(28) Embrace Diversity



No Silver Unicorn Erik Wilde: REST: Growing Up

(29) Service Documentation



No Silver Unicorn Erik Wilde: REST: Growing Up

(30) Hypermedia Patterns



Conclusions

Outline (Conclusions)

  1. WS-REST Turns 6! [6]
  2. Resource Discovery [3]
  3. Resource Capabilities [2]
  4. Testing REST [6]
  5. No Silver Unicorn [4]
  6. Conclusions [2]
Conclusions Erik Wilde: REST: Growing Up

(32) REST: What's Next?



Conclusions Erik Wilde: REST: Growing Up

(33) Thanks! Q&A

What's Next?

May 18, 2015 Workshop on Web APIs and RESTful Design (WS-REST 2015) [http://ws-rest.org/2015/]