Top Banner
Kevin O’Neill CTO PlayUp YOW! Nights @kevinoneill March 2013
97

YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

Jan 20, 2021

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

Kevin O’NeillCTO PlayUp

YOW!Nights

@kevinoneill

March 2013

Page 2: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Page 3: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Page 4: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Page 5: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Roadmap

• ReST and Hypermedia

• An example of a Hypermedia driven service

• Tips & Trips

Page 6: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

A jumping off point

Page 7: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Opinionated

Page 8: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Real

Page 9: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

ReST & Hypermedia

Page 10: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Representational State Transfer (ReST) is a style of software architecture for distributed

hypermedia systems such as the World Wide Web

Page 11: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

ReST

Page 12: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

ReST is not a meaningful term

Page 13: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

One URL ≠ ReST

Page 15: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Resources = ReST

Page 16: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Resources = ReST

http://example.com/users/3

http://example.com/users/<uid>

http://example.com/users/<uid>/friends

Page 17: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

HTTP Verbs = ReST

Page 18: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

HTTP Verbs = ReST

POST  http://example.com/users

GET  http://example.com/users/3

PUT  http://example.com/users/3

DELETE  http://example.com/users/3

Page 19: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

What is ReST really?

Page 20: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

"ReST is software design on the scale of decades: every detail is intended to promote software longevity and independent evolution. Many of the constraints are directly opposed to short-term ef"ciency. Unfortunately, people are fairly good at short-term design, and usually awful at long-term design."

Roy Fielding

Page 21: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

The constraints of ReST

Page 22: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Client Server

Page 23: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Stateless Server

Page 24: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Cacheable

Page 25: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Uniform Interface

Page 26: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Layered System

Page 27: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Code-On-Demand(optional)

Page 28: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Uniform Interface

Page 29: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Identi"cation of Resources

Page 30: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Manipulation of resources through

representations

Page 31: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Self-descriptive messages

Page 32: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Hypermedia as the engine of application

state

Page 33: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

“What needs to be done to make the ReST architectural style clear on the notion that hypertext is a constraint? In other words, if the engine of application state (and hence the API) is not being driven by hypertext, then it cannot be ReSTful and cannot be a ReST API. Period. Is there some broken manual somewhere that needs to be "xed?”

Roy T. Fielding

Page 34: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

A Hypermedia driven service

Page 35: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

PlayUp Pass

Page 36: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Page 37: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

AppStore

TicketService

7:20 PM

1 Get Section

2 Get Tile

3 Priced Tile

4 Section

5�*HW�RHU��3OD\8SBL26BRHUB�� 6�2HU��$SSB6WRUHB7LHUB��

7 Get Price�$SSB6WRUHB7LHUB��

8 $����

TMS

ContentProvider

($)

Getting the Price

Page 38: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Products":type":  "application/vnd.playup.ticketing.product+json",  "product":  {        "detail":  {                ":type":  "application/vnd.playup.encrypted+json",                  "aes256-­‐cbc":  {                        "data":  "  …  ",                          "iv":  "  …  ",                          "key":  "  …  ",                          "signature":  "  …  ",                          "type":  "application/vnd.playup.ticketing.product.detail+json"                }        },          "id":  "82699e9b-­‐b147-­‐46b4-­‐a90c-­‐24316071b6e9",          "name":  "F1  GP  Insider",          "preview":  {                ":href":  "http://april.ticket-­‐provider.playupdev.com/content/82/preview?token={token:ticketing_sample_provider}",                  ":type":  "application/vnd.playup.stream.story+json"        },          "provider":  "ticketing_sample_provider"},  "offer":  {        ":href":  "http://april.ticket.playupdev.com/ticket?provider=ticketing_sample_provider&token={token:ticket_service}",          ":options":  [                "POST"        ]        ":acceptable_types":  [                "application/vnd.playup.encrypted+json;embedded=\"application/vnd.playup.ticketing.product.details+json\";for=\"ticket_service\""        ],  }

Page 39: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Products":type":  "application/vnd.playup.ticketing.product+json",  "product":  {        "detail":  {                ":type":  "application/vnd.playup.encrypted+json",                  "aes256-­‐cbc":  {                        "data":  "  …  ",                          "iv":  "  …  ",                          "key":  "  …  ",                          "signature":  "  …  ",                          "type":  "application/vnd.playup.ticketing.product.detail+json"                }        },          "id":  "82699e9b-­‐b147-­‐46b4-­‐a90c-­‐24316071b6e9",          "name":  "F1  GP  Insider",          "preview":  {                ":href":  "http://april.ticket-­‐provider.playupdev.com/content/82/preview?token={token:ticketing_sample_provider}",                  ":type":  "application/vnd.playup.stream.story+json"        },          "provider":  "ticketing_sample_provider"},  "offer":  {        ":href":  "http://april.ticket.playupdev.com/ticket?provider=ticketing_sample_provider&token={token:ticket_service}",          ":options":  [                "POST"        ]        ":acceptable_types":  [                "application/vnd.playup.encrypted+json;embedded=\"application/vnd.playup.ticketing.product.details+json\";for=\"ticket_service\""        ],  }

":type":  "application/vnd.playup.ticketing.product+json"

Page 40: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Preview":type":  "application/vnd.playup.ticketing.product+json",  "product":  {        "detail":  {                ":type":  "application/vnd.playup.encrypted+json",                  "aes256-­‐cbc":  {                        "data":  "  …  ",                          "iv":  "  …  ",                          "key":  "  …  ",                          "signature":  "  …  ",                          "type":  "application/vnd.playup.ticketing.product.detail+json"                }        },          "id":  "82699e9b-­‐b147-­‐46b4-­‐a90c-­‐24316071b6e9",          "name":  "F1  GP  Insider",          "preview":  {                ":href":  "http://april.ticket-­‐provider.playupdev.com/content/82/preview?token={token:ticketing_sample_provider}",                  ":type":  "application/vnd.playup.stream.story+json"        },          "provider":  "ticketing_sample_provider"},  "offer":  {        ":href":  "http://april.ticket.playupdev.com/ticket?provider=ticketing_sample_provider&token={token:ticket_service}",          ":options":  [                "POST"        ]        ":acceptable_types":  [                "application/vnd.playup.encrypted+json;embedded=\"application/vnd.playup.ticketing.product.details+json\";for=\"ticket_service\""        ],  }

"preview":  {    ":href":  "http://april.ticket-­‐provider.playupdev.com/content/82/preview?token={token:ticketing_sample_provider}",      ":type":  "application/vnd.playup.stream.story+json"},  

Page 41: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Preview":type":  "application/vnd.playup.ticketing.product+json",  "product":  {        "detail":  {                ":type":  "application/vnd.playup.encrypted+json",                  "aes256-­‐cbc":  {                        "data":  "  …  ",                          "iv":  "  …  ",                          "key":  "  …  ",                          "signature":  "  …  ",                          "type":  "application/vnd.playup.ticketing.product.detail+json"                }        },          "id":  "82699e9b-­‐b147-­‐46b4-­‐a90c-­‐24316071b6e9",          "name":  "F1  GP  Insider",          "preview":  {                ":href":  "http://april.ticket-­‐provider.playupdev.com/content/82/preview?token={token:ticketing_sample_provider}",                  ":type":  "application/vnd.playup.stream.story+json"        },          "provider":  "ticketing_sample_provider"},  "offer":  {        ":href":  "http://april.ticket.playupdev.com/ticket?provider=ticketing_sample_provider&token={token:ticket_service}",          ":options":  [                "POST"        ]        ":acceptable_types":  [                "application/vnd.playup.encrypted+json;embedded=\"application/vnd.playup.ticketing.product.details+json\";for=\"ticket_service\""        ],  }

":type":  "application/vnd.playup.stream.story+json"

Page 42: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Accept Header

Page 43: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Accept Header

Accept

application/vnd.playup.stream.story+json,*/*

Page 44: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

":type":  "application/vnd.playup.ticketing.product+json",  "product":  {        "detail":  {                ":type":  "application/vnd.playup.encrypted+json",                  "aes256-­‐cbc":  {                        "data":  "  …  ",                          "iv":  "  …  ",                          "key":  "  …  ",                          "signature":  "  …  ",                          "type":  "application/vnd.playup.ticketing.product.detail+json"                }        },          "id":  "82699e9b-­‐b147-­‐46b4-­‐a90c-­‐24316071b6e9",          "name":  "F1  GP  Insider",          "preview":  {                ":href":  "http://april.ticket-­‐provider.playupdev.com/content/82/preview?token={token:ticketing_sample_provider}",                  ":type":  "application/vnd.playup.stream.story+json"        },          "provider":  "ticketing_sample_provider"},  "offer":  {        ":href":  "http://april.ticket.playupdev.com/ticket?provider=ticketing_sample_provider&token={token:ticket_service}",          ":options":  [                "POST"        ]        ":acceptable_types":  [                "application/vnd.playup.encrypted+json;embedded=\"application/vnd.playup.ticketing.product.details+json\";for=\"ticket_service\""        ],  }

Preview

":href":  "http://april.ticket-­‐provider.playupdev.com/content/82/preview?token={token:ticketing_sample_provider}"

Page 45: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

URI Parameterization

Page 46: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

URI Parameterization":type":  "application/vnd.playup.ticketing.product+json",  "product":  {        "detail":  {                ":type":  "application/vnd.playup.encrypted+json",                  "aes256-­‐cbc":  {                        "data":  "  …  ",                          "iv":  "  …  ",                          "key":  "  …  ",                          "signature":  "  …  ",                          "type":  "application/vnd.playup.ticketing.product.detail+json"                }        },          "id":  "82699e9b-­‐b147-­‐46b4-­‐a90c-­‐24316071b6e9",          "name":  "F1  GP  Insider",          "preview":  {                ":href":  "http://april.ticket-­‐provider.playupdev.com/content/82/preview?token={token:ticketing_sample_provider}",                  ":type":  "application/vnd.playup.stream.story+json"        },          "provider":  "ticketing_sample_provider"},  "offer":  {        ":href":  "http://april.ticket.playupdev.com/ticket?provider=ticketing_sample_provider&token={token:ticket_service}",          ":options":  [                "POST"        ]        ":acceptable_types":  [                "application/vnd.playup.encrypted+json;embedded=\"application/vnd.playup.ticketing.product.details+json\";for=\"ticket_service\""        ],  }

{token:ticketing_sample_provider}

Page 47: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

URI Parameterizationhttp://april.ticket-­‐provider.playupdev.com/content/82/preview?token=ABBr0dVOGRdPpF%2BAqll9sJNJAICWEHK%2BnTngDMzBI5IiABmlstT3RjwIBGkJpUCX3lchMQF3OrGoYyiYHh8zAbc7m%2FhsttbKyBBa%2BiX5hSApeBi1erBw7oJH9LBmk%2B1pfL2zApBDxCZZpJCkT5hScK1Z2g3%2BDhqkrQJTs3PQumbbC9bXJRnENksQhsb%2BNJuFrJ47sAGQBPPXyN0hy40i3J6LcwGMUSFIaR5kIAw3%2BiYyiKgC35rmZzvMYGEeV%2F08YR1ih47aKct5%2Fk0CTbzR06qxi1W11fR3pSMBn3HxqgYPjjMdgsa%2B5PiLv102eTk7kXc4Aqz1VDN2ogqu3qDbzebxdp6OOhnoSKa3jebrV9MOH6IgBRKYfiujq7MNle1xV1LwUQlm3T4BagclibIqOq%2FS1psWo0oZfU1DQW5h2AX%2BLrvF%2BGfgFRiHvaOWBUuq5esY0yqENyjD3Yu8WGq15MTqI36oK5S6hUy%2F0gAlB0rFMU%2BSX4WbuX64yjlKVWV5wr7E3FmaxT7yr98pGq04zKrJv2tn4rpUtcRoc8LrYiK2BdoQplYATGBCDgv68p%2FTiislPJv0%2B4hqhO5oAIv7fMa81uy%2F5WMcOjzmmsOgJzua0%2B%2FarXna9I3d0djqJ9fTDSQkM6icwz5u2P%2Btulzwq8UHEgYEFYFGUKyk%2BEXUgre7nttltajpLL3fRqGfrUqyI1NNM1dqGjeDN4zL0YA8KujtSoSWcA%3D%3D

Page 48: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Offers":type":  "application/vnd.playup.ticketing.product+json",  "product":  {        "detail":  {                ":type":  "application/vnd.playup.encrypted+json",                  "aes256-­‐cbc":  {                        "data":  "  …  ",                          "iv":  "  …  ",                          "key":  "  …  ",                          "signature":  "  …  ",                          "type":  "application/vnd.playup.ticketing.product.detail+json"                }        },          "id":  "82699e9b-­‐b147-­‐46b4-­‐a90c-­‐24316071b6e9",          "name":  "F1  GP  Insider",          "preview":  {                ":href":  "http://april.ticket-­‐provider.playupdev.com/content/82/preview?token={token:ticketing_sample_provider}",                  ":type":  "application/vnd.playup.stream.story+json"        },          "provider":  "ticketing_sample_provider"},  "offer":  {        ":href":  "http://april.ticket.playupdev.com/ticket?provider=ticketing_sample_provider&token={token:ticket_service}",          ":options":  [                "POST"        ]        ":acceptable_types":  [                "application/vnd.playup.encrypted+json;embedded=\"application/vnd.playup.ticketing.product.details+json\";for=\"ticket_service\""        ],  }

Page 49: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Offers":type":  "application/vnd.playup.ticketing.product+json",  "product":  {        "detail":  {                ":type":  "application/vnd.playup.encrypted+json",                  "aes256-­‐cbc":  {                        "data":  "  …  ",                          "iv":  "  …  ",                          "key":  "  …  ",                          "signature":  "  …  ",                          "type":  "application/vnd.playup.ticketing.product.detail+json"                }        },          "id":  "82699e9b-­‐b147-­‐46b4-­‐a90c-­‐24316071b6e9",          "name":  "F1  GP  Insider",          "preview":  {                ":href":  "http://april.ticket-­‐provider.playupdev.com/content/82/preview?token={token:ticketing_sample_provider}",                  ":type":  "application/vnd.playup.stream.story+json"        },          "provider":  "ticketing_sample_provider"},  "offer":  {        ":href":  "http://april.ticket.playupdev.com/ticket?provider=ticketing_sample_provider&token={token:ticket_service}",          ":options":  [                "POST"        ]        ":acceptable_types":  [                "application/vnd.playup.encrypted+json;embedded=\"application/vnd.playup.ticketing.product.details+json\";for=\"ticket_service\""        ],  }

":href":  "http://april.ticket.playupdev.com/ticket?provider=ticketing_sample_provider&token={token:ticket_service}"

Page 50: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Offers":type":  "application/vnd.playup.ticketing.product+json",  "product":  {        "detail":  {                ":type":  "application/vnd.playup.encrypted+json",                  "aes256-­‐cbc":  {                        "data":  "  …  ",                          "iv":  "  …  ",                          "key":  "  …  ",                          "signature":  "  …  ",                          "type":  "application/vnd.playup.ticketing.product.detail+json"                }        },          "id":  "82699e9b-­‐b147-­‐46b4-­‐a90c-­‐24316071b6e9",          "name":  "F1  GP  Insider",          "preview":  {                ":href":  "http://april.ticket-­‐provider.playupdev.com/content/82/preview?token={token:ticketing_sample_provider}",                  ":type":  "application/vnd.playup.stream.story+json"        },          "provider":  "ticketing_sample_provider"},  "offer":  {        ":href":  "http://april.ticket.playupdev.com/ticket?provider=ticketing_sample_provider&token={token:ticket_service}",          ":options":  [                "POST"        ],        ":acceptable_types":  [                "application/vnd.playup.encrypted+json;embedded=\"application/vnd.playup.ticketing.product.details+json\";for=\"ticket_service\""        ]  }

Text  ":options":  [      "POST"  ]

Page 51: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Offers":type":  "application/vnd.playup.ticketing.product+json",  "product":  {        "detail":  {                ":type":  "application/vnd.playup.encrypted+json",                  "aes256-­‐cbc":  {                        "data":  "  …  ",                          "iv":  "  …  ",                          "key":  "  …  ",                          "signature":  "  …  ",                          "type":  "application/vnd.playup.ticketing.product.detail+json"                }        },          "id":  "82699e9b-­‐b147-­‐46b4-­‐a90c-­‐24316071b6e9",          "name":  "F1  GP  Insider",          "preview":  {                ":href":  "http://april.ticket-­‐provider.playupdev.com/content/82/preview?token={token:ticketing_sample_provider}",                  ":type":  "application/vnd.playup.stream.story+json"        },          "provider":  "ticketing_sample_provider"},  "offer":  {        ":href":  "http://april.ticket.playupdev.com/ticket?provider=ticketing_sample_provider&token={token:ticket_service}",          ":options":  [                "POST"        ]        ":acceptable_types":  [                "application/vnd.playup.encrypted+json;embedded=\"application/vnd.playup.ticketing.product.details+json\";for=\"ticket_service\""        ],  }

":acceptable_types":  [  "application/vnd.playup.encrypted+json      ;embedded=          \"application/vnd.playup.ticketing.product.details+json\"      ;for=\"ticket_service\""]

Page 52: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Media Types

Page 53: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Media Typesdescribe a domain speci"c protocol

Page 54: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

application/json

Page 55: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Media Type Explosion

Page 56: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Media Types":type":  "application/vnd.playup.ticketing.product+json",  "product":  {        "detail":  {                ":type":  "application/vnd.playup.encrypted+json",                  "aes256-­‐cbc":  {                        "data":  "  …  ",                          "iv":  "  …  ",                          "key":  "  …  ",                          "signature":  "  …  ",                          "type":  "application/vnd.playup.ticketing.product.detail+json"                }        },          "id":  "82699e9b-­‐b147-­‐46b4-­‐a90c-­‐24316071b6e9",          "name":  "F1  GP  Insider",          "preview":  {                ":href":  "http://april.ticket-­‐provider.playupdev.com/content/82/preview?token={token:ticketing_sample_provider}",                  ":type":  "application/vnd.playup.stream.story+json"        },          "provider":  "ticketing_sample_provider"},  "offer":  {        ":href":  "http://april.ticket.playupdev.com/ticket?provider=ticketing_sample_provider&token={token:ticket_service}",          ":options":  [                "POST"        ]        ":acceptable_types":  [                "application/vnd.playup.encrypted+json;embedded=\"application/vnd.playup.ticketing.product.details+json\";for=\"ticket_service\""        ],  }

Page 57: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Media Types

application/vnd.playup.encrypted+json;embedded=\"application/vnd.playup.ticketing.product.details+json\";for=\"ticket_service\"

Page 58: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Media Types

application/vnd.playup.encrypted+json;embedded=\"application/vnd.playup.ticketing.product.details+json\";for=\"ticket_service\"

Page 59: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Media Types

application/vnd.playup.encrypted+json;embedded=\"application/vnd.playup.ticketing.product.details+json\";for=\"ticket_service\"

Page 60: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Something to consider

Page 61: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Format vs Type

application/vnd.playup.stream+json

Page 62: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Format vs Type

application/vnd.playup.stream+json

Page 63: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Format vs Type

application/vnd.playup.stream+mp

Page 64: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Format vs Type

application/vnd.playup.stream;format=\”json\”

Page 65: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

So now we post

Page 66: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Offer{        ":type":  "application/vnd.playup.ticketing.offer+json",          "content":  {                "expiration":  "2015-­‐03-­‐13  01:12:44  +0000",                  "store-­‐product":  [                        {                                "product":  "com.playup.content.pricing.tier1",                                  "vendor":  "appstore"                        }                ]        },          "verification":  {                "key":  "…",                  "link":  {                        ":acceptable_types":  [                                "application/vnd.playup.encrypted+json;embedded=\"application/vnd.playup.ticketing.receipt+json\";for=\"ticket_service\""                        ],                          ":href":  "http://april.ticket.playupdev.com/receipt?token={token:ticket_service}",                          ":options":  [                                "POST"                        ]                }        }}

Page 67: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Offer{        ":type":  "application/vnd.playup.ticketing.offer+json",          "content":  {                "expiration":  "2015-­‐03-­‐13  01:12:44  +0000",                  "store-­‐product":  [                        {                                "product":  "com.playup.content.pricing.tier1",                                  "vendor":  "appstore"                        }                ]        },          "verification":  {                "key":  "…",                  "link":  {                        ":acceptable_types":  [                                "application/vnd.playup.encrypted+json;embedded=\"application/vnd.playup.ticketing.receipt+json\";for=\"ticket_service\""                        ],                          ":href":  "http://april.ticket.playupdev.com/receipt?token={token:ticket_service}",                          ":options":  [                                "POST"                        ]                }        }}

"content":  {    "expiration":  "2015-­‐03-­‐13  01:12:44  +0000",      "store-­‐product":  [        {            "product":  "com.playup.content.pricing.tier1",              "vendor":  "appstore"        }    ]}

Page 68: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

{        ":type":  "application/vnd.playup.ticketing.offer+json",          "content":  {                "expiration":  "2015-­‐03-­‐13  01:12:44  +0000",                  "store-­‐product":  [                        {                                "product":  "com.playup.content.pricing.tier1",                                  "vendor":  "appstore"                        }                ]        },          "verification":  {                "key":  "…",                  "link":  {                        ":acceptable_types":  [                                "application/vnd.playup.encrypted+json;embedded=\"application/vnd.playup.ticketing.receipt+json\";for=\"ticket_service\""                        ],                          ":href":  "http://april.ticket.playupdev.com/receipt?token={token:ticket_service}",                          ":options":  [                                "POST"                        ]                }        }}

Offer

"link":  {    ":href":  "http://april.ticket.playupdev.com/receipt…",      ":options":  [  "POST"  ],    ":acceptable_types":  [        "application/vnd.playup.encrypted+json;…"    ]}

Page 69: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Tips & Trips

Page 70: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

API Versioning

Page 71: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Versioning

X-­‐PlayUp-­‐API-­‐Version

3

Page 72: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Don’t Do It

Page 73: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Server Decides

User-­‐Agent

PlayUp%20Pass/3.5.5233  CFNetwork/609.1.4  Darwin/13.0.0

Page 74: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Client Decides

"link":  {    ":representations":  [        {            "href":  "http://twinstapics.playupdev.com/photos/86/stream  …"  ,              "type":  "application/vnd.playup.stream+json"        },          {              "href":  "http://twinstapics.playupdev.com/photos/86/section  …"    ,              "type":  "text/html"        }    ],      ":self":  "http://twinstapics.playupdev.com/photos/86/section  …",      ":type":  "text/html"},  

Page 75: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Client Decides

"link":  {    ":representations":  [        {            "href":  "http://twinstapics.playupdev.com/photos/86/stream  …"  ,              "type":  "application/vnd.playup.stream+json"        },          {              "href":  "http://twinstapics.playupdev.com/photos/86/section  …"    ,              "type":  "text/html"        }    ],      ":href":  "http://twinstapics.playupdev.com/photos/86/section  …",      ":type":  "text/html"},  

Page 76: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Client Decides

"link":  {    ":representations":  [        {            "href":  "http://twinstapics.playupdev.com/photos/86/stream  …"  ,              "type":  "application/vnd.playup.stream+json"        },          {              "href":  "http://twinstapics.playupdev.com/photos/86/section  …"    ,              "type":  "text/html"        }    ],      ":href":  "http://twinstapics.playupdev.com/photos/86/section  …",      ":type":  "text/html"},  

Page 77: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Client vs Server

Page 78: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Document Evolution

Page 79: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

The client should ignore what it doesn’t

understand

Page 80: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Don’t add or remove mandatory "elds

Page 81: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

New Media Type

Page 82: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

"Realtime" Updates

Page 83: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Page 84: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

XMPP

Page 85: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Polling

Page 86: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Leverage Infrastructure

Page 87: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Dynamic Scaling

Page 88: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Cache Headers

ETag"9461cf5ecc0f4df6e880ce76479aba90"

Cache-­‐Controlmax-­‐age=15,  public

VaryAccept-­‐Language

Page 89: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Cache Headers

ETag"9461cf5ecc0f4df6e880ce76479aba90"

Cache-­‐Controlmax-­‐age=15,  public

VaryAccept-­‐Language

   Cache-­‐Control    max-­‐age=15,  public

Page 90: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Other Choices

Page 91: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Tools

Page 92: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Charles

Page 93: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Fiddler

Page 94: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Link Conditioner

Page 95: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Wireshark

Page 96: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Wireshark

rvictl  -­‐s  <device  UDID>

/def/bpf*

Page 97: YOW! Nights - YOW! Conference · 2019. 9. 23. · Kevin O’Neill - CTO PlayUp - @kevinoneill YOW! Nights - March 2013 “What needs to be done to make the ReST architectural style

YOW! Nights - March 2013Kevin O’Neill - CTO PlayUp - @kevinoneill

Kevin O’NeillCTO - PlayUp

[email protected]@kevinoneill

Questions?