LT 08 - Guilherme Silveira - Cache hipermidia

962 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
962
On SlideShare
0
From Embeds
0
Number of Embeds
72
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

LT 08 - Guilherme Silveira - Cache hipermidia

  1. 1. Rest in Practice: Hypermedia and Services Guilherme SilveiraWednesday, June 8, 2011
  2. 2. Guilherme SilveiraWednesday, June 8, 2011
  3. 3. @guilhermecaelum guilherme.silveira@caelum.com.brWednesday, June 8, 2011
  4. 4. 11 years, 1992: “Basic”Wednesday, June 8, 2011
  5. 5. 2002 guj.com.br 2003 vraptorWednesday, June 8, 2011
  6. 6. 2004 extreme programming 2006 scrum ...Wednesday, June 8, 2011
  7. 7. 2009 restfulie http://restfulie.caelumobjects.com/Wednesday, June 8, 2011
  8. 8. 2010 tectura http://www.tectura.com.brWednesday, June 8, 2011
  9. 9. 2004 caelum - daily life www.caelum.com.brWednesday, June 8, 2011
  10. 10. blogs blog.caelum.com.br agilenomundoreal.com.br blog.caelumobjects.comWednesday, June 8, 2011
  11. 11. bank.comWednesday, June 8, 2011
  12. 12. bank.com calendar.comWednesday, June 8, 2011
  13. 13. bank.com calendar.com travel.comWednesday, June 8, 2011
  14. 14. bank.com calendar.com travel.com company.comWednesday, June 8, 2011
  15. 15. bank.com calendar.com travel.com company.comWednesday, June 8, 2011
  16. 16. what is the future of integration over the web?Wednesday, June 8, 2011
  17. 17. what was REST?Wednesday, June 8, 2011
  18. 18. Restful Web ServicesWednesday, June 8, 2011
  19. 19. Restful Web create a saas account ServicesWednesday, June 8, 2011
  20. 20. Restful Web create a saas account freeze account ServicesWednesday, June 8, 2011
  21. 21. Restful Web create a saas account freeze account Services reactivate accountWednesday, June 8, 2011
  22. 22. Web Restful ServicesWednesday, June 8, 2011
  23. 23. Web http Restful ServicesWednesday, June 8, 2011
  24. 24. Web http port 80 Restful ServicesWednesday, June 8, 2011
  25. 25. Web http port 80 firewall heaven Restful ServicesWednesday, June 8, 2011
  26. 26. Web Services RestfulWednesday, June 8, 2011
  27. 27. Web Services xml, json RestfulWednesday, June 8, 2011
  28. 28. Web Services xml, json Restful get, post, ...Wednesday, June 8, 2011
  29. 29. unresttrips.com: flight details <?xml version="1.0" encoding="UTF-8" standalum="yes"?> <flight> <information> <from>sao paulo</from> <to>seoul</to> </information>   <value>900.00</value> </flight>Wednesday, June 8, 2011
  30. 30. service locator when integrating: coupling++ unrest pay unresttrips.com guilhermeWednesday, June 8, 2011
  31. 31. service locator when integrating: coupling++ unrest pay unresttrips.com guilhermeWednesday, June 8, 2011
  32. 32. resttrips.com: flight details <?xml version="1.0" encoding="UTF-8" standalum="yes"?> <flight> <information> <from>sao paulo</from> <to>seoul</to> </information>   <value>900.00</value> <link rel="payment" href="http://resttrips.com/payment/custom"/ </flight>Wednesday, June 8, 2011
  33. 33. resttrips.com: making the payment flight = Client.at(http://resttrips.com/f/574XR4).get(); confirmation = flight.getLink("payment"). patch(cardInformation, value);Wednesday, June 8, 2011
  34. 34. resttrips.com: changing its payment provider <?xml version="1.0" encoding="UTF-8" standalum="yes"?> <flight> <information> <from>sao paulo</from> <to>seoul</to> </information>   <value>900.00</value> <link rel="payment" href="http://paysite.com/custom"/> </flight>Wednesday, June 8, 2011
  35. 35. dependency injection when integrating: coupling-- restrips pay resttrips.com guilherme paysite.comWednesday, June 8, 2011
  36. 36. dependency injection when integrating: coupling-- restrips pay resttrips.com guilherme paysite.comWednesday, June 8, 2011
  37. 37. i never travel aloneWednesday, June 8, 2011
  38. 38. my friend sergioWednesday, June 8, 2011
  39. 39. resttrips.com: sharing a trip flight = Client.at(http://resttrips.com/f/574XR4).get(); confirmation = flight.getLink("payment"). patch(cardInformation, value/2); // send the payment link to another part of the web flight = Client.at(http://resttrips.com/f/574XR4).get(); confirmation = flight.getLink("payment"). patch(cardInformation, value/2);Wednesday, June 8, 2011
  40. 40. resttrips.com: sharing a trip flight = Client.at(http://resttrips.com/f/574XR4).get(); confirmation = flight.getLink("payment"). patch(cardInformation, value/2); // send the payment link to another part of the web flight = Client.at(http://resttrips.com/f/574XR4).get(); confirmation = flight.getLink("payment"). patch(cardInformation, value/2);Wednesday, June 8, 2011
  41. 41. resttrips.com: sharing a trip flight = Client.at(http://resttrips.com/f/574XR4).get(); confirmation = flight.getLink("payment"). patch(cardInformation, value/2); // send the payment link to another part of the web flight = Client.at(http://resttrips.com/f/574XR4).get(); confirmation = flight.getLink("payment"). patch(cardInformation, value/2);Wednesday, June 8, 2011
  42. 42. calendar: integrating my systems myself = Client.at(http://users.calendar.com) .with(auth).get(); myself.link("calendar").patch(flight.link("self"));Wednesday, June 8, 2011
  43. 43. calendar: integrating my systems myself = Client.at(http://users.calendar.com) .with(auth).get(); myself.link("calendar").patch(flight.link("self"));Wednesday, June 8, 2011
  44. 44. calendar: more examples me.link("calendar").patch(link_to_birthday_list) me.link("calendar").patch(link_to_hotel_reservation) me.link("calendar").patch(link_to_trip_details)Wednesday, June 8, 2011
  45. 45. so what?Wednesday, June 8, 2011
  46. 46. Any update on the flight ==> reflects here Any update on the hotel ==> reflects here Any update on the meeting ==> reflects here so what?Wednesday, June 8, 2011
  47. 47. Any update on the flight ==> reflects here Any update on the hotel ==> reflects here Any update on the meeting ==> reflects here at e! te gr e, in st us so what? ’t j u donWednesday, June 8, 2011
  48. 48. so what? that was just keeping an URI.Wednesday, June 8, 2011
  49. 49. so what? that was just keeping an URI. Remove ==> Cancels the flight Remove ==> Cancels the reservation Remove ==> Emails your coworkersWednesday, June 8, 2011
  50. 50. so what? that was just keeping an URI. rol! cont ali ze en tr notc o dRemove==> Cancels the flight Remove ==> Cancels the reservation Remove ==> Emails your coworkersWednesday, June 8, 2011
  51. 51. does our ‘rest’ systems built in 2010 work this way?Wednesday, June 8, 2011
  52. 52. so what? that was just keeping an URI. Remove ==> Cancels the flight Remove ==> Cancels the reservation Remove ==> Emails your coworkersWednesday, June 8, 2011
  53. 53. so what? that was just keeping an URI. at? or m h f h ic bu tw Remove ==> Cancels the flight Remove ==> Cancels the reservation Remove ==> Emails your coworkersWednesday, June 8, 2011
  54. 54. #json, #xml, #soap #etc?Wednesday, June 8, 2011
  55. 55. which #json, #xml #etc?Wednesday, June 8, 2011
  56. 56. exerciseWednesday, June 8, 2011
  57. 57. so what?Wednesday, June 8, 2011
  58. 58. so what? micro formats, media types, rdf etcWednesday, June 8, 2011
  59. 59. so what? nk s! er li hyp w i th ats orm f icro m micro formats, media types, rdf etcWednesday, June 8, 2011
  60. 60. integration over the webWednesday, June 8, 2011
  61. 61. must ignoreWednesday, June 8, 2011
  62. 62. bottom up design by committe mime type? microformat controlled vocabularyWednesday, June 8, 2011
  63. 63. hypermedia integration over the webWednesday, June 8, 2011
  64. 64. guilherme.silveira@caelum.com.br http://www.caelumobjects.com obrigado @guilhermecaelumWednesday, June 8, 2011

×