rest in design
DESCRIPTION
REST workshop for designTRANSCRIPT
![Page 1: Rest in design](https://reader036.vdocument.in/reader036/viewer/2022081602/5462fc5daf79597c138b4c94/html5/thumbnails/1.jpg)
REST IN DESIGN
@diego_pacheco
![Page 2: Rest in design](https://reader036.vdocument.in/reader036/viewer/2022081602/5462fc5daf79597c138b4c94/html5/thumbnails/2.jpg)
2000
![Page 3: Rest in design](https://reader036.vdocument.in/reader036/viewer/2022081602/5462fc5daf79597c138b4c94/html5/thumbnails/3.jpg)
![Page 4: Rest in design](https://reader036.vdocument.in/reader036/viewer/2022081602/5462fc5daf79597c138b4c94/html5/thumbnails/4.jpg)
#FACTS• 85% of Amazon services usage is of the REST interface• Google Deprecates Their SOAP Search API
![Page 5: Rest in design](https://reader036.vdocument.in/reader036/viewer/2022081602/5462fc5daf79597c138b4c94/html5/thumbnails/5.jpg)
Representational State Transfer
![Page 6: Rest in design](https://reader036.vdocument.in/reader036/viewer/2022081602/5462fc5daf79597c138b4c94/html5/thumbnails/6.jpg)
Roy Fielding
![Page 7: Rest in design](https://reader036.vdocument.in/reader036/viewer/2022081602/5462fc5daf79597c138b4c94/html5/thumbnails/7.jpg)
HTTP
![Page 8: Rest in design](https://reader036.vdocument.in/reader036/viewer/2022081602/5462fc5daf79597c138b4c94/html5/thumbnails/8.jpg)
POX + POST + HTTP = REST
![Page 9: Rest in design](https://reader036.vdocument.in/reader036/viewer/2022081602/5462fc5daf79597c138b4c94/html5/thumbnails/9.jpg)
POX + POST + HTTP = REST
![Page 10: Rest in design](https://reader036.vdocument.in/reader036/viewer/2022081602/5462fc5daf79597c138b4c94/html5/thumbnails/10.jpg)
RESOURCES
![Page 11: Rest in design](https://reader036.vdocument.in/reader036/viewer/2022081602/5462fc5daf79597c138b4c94/html5/thumbnails/11.jpg)
RESOURCES(Server thinks before
do)
![Page 12: Rest in design](https://reader036.vdocument.in/reader036/viewer/2022081602/5462fc5daf79597c138b4c94/html5/thumbnails/12.jpg)
Nouns or Verbs ?
![Page 13: Rest in design](https://reader036.vdocument.in/reader036/viewer/2022081602/5462fc5daf79597c138b4c94/html5/thumbnails/13.jpg)
Hypermedia
REST
Verbs + hm Media Types
![Page 14: Rest in design](https://reader036.vdocument.in/reader036/viewer/2022081602/5462fc5daf79597c138b4c94/html5/thumbnails/14.jpg)
ROA & WOA
![Page 15: Rest in design](https://reader036.vdocument.in/reader036/viewer/2022081602/5462fc5daf79597c138b4c94/html5/thumbnails/15.jpg)
![Page 16: Rest in design](https://reader036.vdocument.in/reader036/viewer/2022081602/5462fc5daf79597c138b4c94/html5/thumbnails/16.jpg)
![Page 17: Rest in design](https://reader036.vdocument.in/reader036/viewer/2022081602/5462fc5daf79597c138b4c94/html5/thumbnails/17.jpg)
Client Server
![Page 18: Rest in design](https://reader036.vdocument.in/reader036/viewer/2022081602/5462fc5daf79597c138b4c94/html5/thumbnails/18.jpg)
Client
Server
SOCUniform InterfacePortabilityScalable
![Page 19: Rest in design](https://reader036.vdocument.in/reader036/viewer/2022081602/5462fc5daf79597c138b4c94/html5/thumbnails/19.jpg)
Stateless
![Page 20: Rest in design](https://reader036.vdocument.in/reader036/viewer/2022081602/5462fc5daf79597c138b4c94/html5/thumbnails/20.jpg)
Stateless
(Stateful)
Client Server
![Page 21: Rest in design](https://reader036.vdocument.in/reader036/viewer/2022081602/5462fc5daf79597c138b4c94/html5/thumbnails/21.jpg)
Cacheable
![Page 22: Rest in design](https://reader036.vdocument.in/reader036/viewer/2022081602/5462fc5daf79597c138b4c94/html5/thumbnails/22.jpg)
Client Server
![Page 23: Rest in design](https://reader036.vdocument.in/reader036/viewer/2022081602/5462fc5daf79597c138b4c94/html5/thumbnails/23.jpg)
HTTP HEADERS(not only
uris)
![Page 24: Rest in design](https://reader036.vdocument.in/reader036/viewer/2022081602/5462fc5daf79597c138b4c94/html5/thumbnails/24.jpg)
HTTP METHODS
![Page 25: Rest in design](https://reader036.vdocument.in/reader036/viewer/2022081602/5462fc5daf79597c138b4c94/html5/thumbnails/25.jpg)
![Page 26: Rest in design](https://reader036.vdocument.in/reader036/viewer/2022081602/5462fc5daf79597c138b4c94/html5/thumbnails/26.jpg)
Idempotent
![Page 27: Rest in design](https://reader036.vdocument.in/reader036/viewer/2022081602/5462fc5daf79597c138b4c94/html5/thumbnails/27.jpg)
SAMPLE
![Page 28: Rest in design](https://reader036.vdocument.in/reader036/viewer/2022081602/5462fc5daf79597c138b4c94/html5/thumbnails/28.jpg)
![Page 29: Rest in design](https://reader036.vdocument.in/reader036/viewer/2022081602/5462fc5daf79597c138b4c94/html5/thumbnails/29.jpg)
![Page 30: Rest in design](https://reader036.vdocument.in/reader036/viewer/2022081602/5462fc5daf79597c138b4c94/html5/thumbnails/30.jpg)
![Page 31: Rest in design](https://reader036.vdocument.in/reader036/viewer/2022081602/5462fc5daf79597c138b4c94/html5/thumbnails/31.jpg)
![Page 32: Rest in design](https://reader036.vdocument.in/reader036/viewer/2022081602/5462fc5daf79597c138b4c94/html5/thumbnails/32.jpg)
![Page 33: Rest in design](https://reader036.vdocument.in/reader036/viewer/2022081602/5462fc5daf79597c138b4c94/html5/thumbnails/33.jpg)
BEYOND XML
![Page 34: Rest in design](https://reader036.vdocument.in/reader036/viewer/2022081602/5462fc5daf79597c138b4c94/html5/thumbnails/34.jpg)
MIME Typesapplication/octet-stream
text/html
text/plain
image/jpeg
application/json
application/x-excel…
![Page 35: Rest in design](https://reader036.vdocument.in/reader036/viewer/2022081602/5462fc5daf79597c138b4c94/html5/thumbnails/35.jpg)
HTTP RESPONSE CODES
![Page 36: Rest in design](https://reader036.vdocument.in/reader036/viewer/2022081602/5462fc5daf79597c138b4c94/html5/thumbnails/36.jpg)
![Page 37: Rest in design](https://reader036.vdocument.in/reader036/viewer/2022081602/5462fc5daf79597c138b4c94/html5/thumbnails/37.jpg)
![Page 38: Rest in design](https://reader036.vdocument.in/reader036/viewer/2022081602/5462fc5daf79597c138b4c94/html5/thumbnails/38.jpg)
![Page 39: Rest in design](https://reader036.vdocument.in/reader036/viewer/2022081602/5462fc5daf79597c138b4c94/html5/thumbnails/39.jpg)
![Page 40: Rest in design](https://reader036.vdocument.in/reader036/viewer/2022081602/5462fc5daf79597c138b4c94/html5/thumbnails/40.jpg)
JSR 311JAX-RS: The JavaTM API for
RESTful Web Services
![Page 41: Rest in design](https://reader036.vdocument.in/reader036/viewer/2022081602/5462fc5daf79597c138b4c94/html5/thumbnails/41.jpg)
ANNOTATIONS
![Page 42: Rest in design](https://reader036.vdocument.in/reader036/viewer/2022081602/5462fc5daf79597c138b4c94/html5/thumbnails/42.jpg)
@Path@Produces@Consumes
@GET@POST@PUT@DELETE@HEAD
@Context@PathParam@HeaderParam@CookieParam@QueryParam
![Page 43: Rest in design](https://reader036.vdocument.in/reader036/viewer/2022081602/5462fc5daf79597c138b4c94/html5/thumbnails/43.jpg)
WADL
![Page 44: Rest in design](https://reader036.vdocument.in/reader036/viewer/2022081602/5462fc5daf79597c138b4c94/html5/thumbnails/44.jpg)
![Page 45: Rest in design](https://reader036.vdocument.in/reader036/viewer/2022081602/5462fc5daf79597c138b4c94/html5/thumbnails/45.jpg)
![Page 46: Rest in design](https://reader036.vdocument.in/reader036/viewer/2022081602/5462fc5daf79597c138b4c94/html5/thumbnails/46.jpg)
GET /customers/1/order/2/price/2000/weight/2
![Page 47: Rest in design](https://reader036.vdocument.in/reader036/viewer/2022081602/5462fc5daf79597c138b4c94/html5/thumbnails/47.jpg)
Exceptions -> Error Code
![Page 48: Rest in design](https://reader036.vdocument.in/reader036/viewer/2022081602/5462fc5daf79597c138b4c94/html5/thumbnails/48.jpg)
Parameters
![Page 49: Rest in design](https://reader036.vdocument.in/reader036/viewer/2022081602/5462fc5daf79597c138b4c94/html5/thumbnails/49.jpg)
Filters
![Page 50: Rest in design](https://reader036.vdocument.in/reader036/viewer/2022081602/5462fc5daf79597c138b4c94/html5/thumbnails/50.jpg)
RESTful services without annotations
![Page 51: Rest in design](https://reader036.vdocument.in/reader036/viewer/2022081602/5462fc5daf79597c138b4c94/html5/thumbnails/51.jpg)
web.xml
![Page 52: Rest in design](https://reader036.vdocument.in/reader036/viewer/2022081602/5462fc5daf79597c138b4c94/html5/thumbnails/52.jpg)
Programmatically Exposure
![Page 53: Rest in design](https://reader036.vdocument.in/reader036/viewer/2022081602/5462fc5daf79597c138b4c94/html5/thumbnails/53.jpg)
ATOMPUB
![Page 54: Rest in design](https://reader036.vdocument.in/reader036/viewer/2022081602/5462fc5daf79597c138b4c94/html5/thumbnails/54.jpg)
![Page 55: Rest in design](https://reader036.vdocument.in/reader036/viewer/2022081602/5462fc5daf79597c138b4c94/html5/thumbnails/55.jpg)
![Page 56: Rest in design](https://reader036.vdocument.in/reader036/viewer/2022081602/5462fc5daf79597c138b4c94/html5/thumbnails/56.jpg)
HANDS ON
![Page 57: Rest in design](https://reader036.vdocument.in/reader036/viewer/2022081602/5462fc5daf79597c138b4c94/html5/thumbnails/57.jpg)
Pair Programming Exercise !
TOLL REST SERVICE
![Page 58: Rest in design](https://reader036.vdocument.in/reader036/viewer/2022081602/5462fc5daf79597c138b4c94/html5/thumbnails/58.jpg)
TOLL REST SERVICE
U$ 0.45
U$ 3.95 **
U$ 1.00
U$ 1.59U$ 2.11
Vehicle Taxes Rates
http://diegopacheco.svn.beanstalkapp.com/sandbox/trunk/toll-rest-service-pprog
![Page 59: Rest in design](https://reader036.vdocument.in/reader036/viewer/2022081602/5462fc5daf79597c138b4c94/html5/thumbnails/59.jpg)
REST IN DESIGN
@diego_pacheco
THANK YOU!