RESTful APIs and FRAPI
                                     a matter of minutes
                                         @...
Who are you?
                                       Experiences, usage, etc.




Dé Luain 20 Meán Fómhair 2010
Who am I?
                                   Work, experiences, usage, etc.




Dé Luain 20 Meán Fómhair 2010
The Talk!
                                   Recap of why you are here...




Dé Luain 20 Meán Fómhair 2010
Webservices?
                                   SOAP, XML-RPC, REST-ish, RESTful, etc...




Dé Luain 20 Meán Fómhair 2010
RESTful!
                                 Introduction, History, Theory, Incentive.




Dé Luain 20 Meán Fómhair 2010
Roy, Oh Roy....
                                   And it was born...




Dé Luain 20 Meán Fómhair 2010
Client — Server!
                                Talking architecture, representation, resources..




Dé Luain 20 Meán Fó...
Statelessness
                                     Forget sessions, forget states.




Dé Luain 20 Meán Fómhair 2010
Layered
                                  Load balancing, caching, ignorance.




Dé Luain 20 Meán Fómhair 2010
Cacheability
                                      Remember? Remember!




Dé Luain 20 Meán Fómhair 2010
Homogeneity
                                  Negotiations, URIs, Collections, Resources




Dé Luain 20 Meán Fómhair 2010
Concepts
                                 Representations of resources, concepts
                                         ...
{
                                    "search": "term",
                                    "count": 2,
                  ...
Usability
                                 I hate frontends, but not usable software....




Dé Luain 20 Meán Fómhair 2010
Collections
                                      http://api.com/friends




Dé Luain 20 Meán Fómhair 2010
Resources
                                    http://api.com/friends/david




Dé Luain 20 Meán Fómhair 2010
Good URIs
                                    Your URI is everything




Dé Luain 20 Meán Fómhair 2010
Sentences
                                  “What if we make every URL a sentence?”
                                      ...
Quick Recap
                                    So what have we talked about so far?




Dé Luain 20 Meán Fómhair 2010
Want your CRUD?       So you are missing your crud? Worry not!




Dé Luain 20 Meán Fómhair 2010
HTTP
                                 It’s got your back!




Dé Luain 20 Meán Fómhair 2010
Really.. it does.




Dé Luain 20 Meán Fómhair 2010
Verbs
                  Post          Create
                  Get           Read
                  Put           Update  ...
Fancy a header?
                                Request what you need, when you want, how you want it




Dé Luain 20 Meán...
What?


Dé Luain 20 Meán Fómhair 2010
Scenario I


Dé Luain 20 Meán Fómhair 2010
Dé Luain 20 Meán Fómhair 2010
Dé Luain 20 Meán Fómhair 2010
Dé Luain 20 Meán Fómhair 2010
Dé Luain 20 Meán Fómhair 2010
Dé Luain 20 Meán Fómhair 2010
Difference?
                                 Leveraging the architecture, no more ugliness




Dé Luain 20 Meán Fómhair 20...
HATEOAS
                                 Hypermedia as the engine of application state




Dé Luain 20 Meán Fómhair 2010
Dé Luain 20 Meán Fómhair 2010
4 Constraints
                                Separation of resources from representation
                                ...
Entracte
                                Time out. Time to get some drink, Q&A #1




Dé Luain 20 Meán Fómhair 2010
FRAPI
                                   Oh. My. Day!




Dé Luain 20 Meán Fómhair 2010
What is it?
                                  Management panel & developer facing API




Dé Luain 20 Meán Fómhair 2010
History
                                  When? Where? Why? How?




Dé Luain 20 Meán Fómhair 2010
Solves?
                                 Laziness, Performance Issues, Humans, TTM




Dé Luain 20 Meán Fómhair 2010
It’s live
                                  Production system examples




Dé Luain 20 Meán Fómhair 2010
FLUD
                                 Your iPad app newsreader




Dé Luain 20 Meán Fómhair 2010
Vodafone
                                     Facebook apps




Dé Luain 20 Meán Fómhair 2010
Open Source
                                    Projects using FRAPI for their APIs




Dé Luain 20 Meán Fómhair 2010
web2project
                                   spaz

Dé Luain 20 Meán Fómhair 2010
Entreprise
                                     http://echolibre.com




Dé Luain 20 Meán Fómhair 2010
Performance
                                   Built with performance as primary goal.




Dé Luain 20 Meán Fómhair 2010
Magic-less
                                 Fuck magic. There’s enough code out there




Dé Luain 20 Meán Fómhair 2010
Few Setups
                                  A few examples of possible FRAPI setups




Dé Luain 20 Meán Fómhair 2010
Dé Luain 20 Meán Fómhair 2010
Dé Luain 20 Meán Fómhair 2010
Dé Luain 20 Meán Fómhair 2010
Dé Luain 20 Meán Fómhair 2010
Dé Luain 20 Meán Fómhair 2010
Management
                                      Where it all begins...




Dé Luain 20 Meán Fómhair 2010
Dé Luain 20 Meán Fómhair 2010
Dé Luain 20 Meán Fómhair 2010
Dé Luain 20 Meán Fómhair 2010
Dé Luain 20 Meán Fómhair 2010
Authentication
                                HTTP Digest, reasons and modification




Dé Luain 20 Meán Fómhair 2010
Databases
                                    RDBMS, NoSQL, DBAL, ORM, etc.




Dé Luain 20 Meán Fómhair 2010
Negotiate
                                    Content Negotiation and extensions




Dé Luain 20 Meán Fómhair 2010
Synchronize
                                      Generation of your code.




Dé Luain 20 Meán Fómhair 2010
Documentation
                                Your consumers need documentation




Dé Luain 20 Meán Fómhair 2010
Development
                                  Decisions, business logic, software development




Dé Luain 20 Meán Fómhair...
Q&A


Dé Luain 20 Meán Fómhair 2010
Upcoming SlideShare
Loading in …5
×

RESTful APIs and FRAPI, a matter of minutes

3,960 views

Published on

0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,960
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
56
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide

RESTful APIs and FRAPI, a matter of minutes

  1. 1. RESTful APIs and FRAPI a matter of minutes @davidcoallier Dé Luain 20 Meán Fómhair 2010
  2. 2. Who are you? Experiences, usage, etc. Dé Luain 20 Meán Fómhair 2010
  3. 3. Who am I? Work, experiences, usage, etc. Dé Luain 20 Meán Fómhair 2010
  4. 4. The Talk! Recap of why you are here... Dé Luain 20 Meán Fómhair 2010
  5. 5. Webservices? SOAP, XML-RPC, REST-ish, RESTful, etc... Dé Luain 20 Meán Fómhair 2010
  6. 6. RESTful! Introduction, History, Theory, Incentive. Dé Luain 20 Meán Fómhair 2010
  7. 7. Roy, Oh Roy.... And it was born... Dé Luain 20 Meán Fómhair 2010
  8. 8. Client — Server! Talking architecture, representation, resources.. Dé Luain 20 Meán Fómhair 2010
  9. 9. Statelessness Forget sessions, forget states. Dé Luain 20 Meán Fómhair 2010
  10. 10. Layered Load balancing, caching, ignorance. Dé Luain 20 Meán Fómhair 2010
  11. 11. Cacheability Remember? Remember! Dé Luain 20 Meán Fómhair 2010
  12. 12. Homogeneity Negotiations, URIs, Collections, Resources Dé Luain 20 Meán Fómhair 2010
  13. 13. Concepts Representations of resources, concepts Consider a google search. Dé Luain 20 Meán Fómhair 2010
  14. 14. { "search": "term", "count": 2, "items": [{ "title": "Item 1 Title", "href": "/link/1", "description": "Desc 1" }, { "title": "Item n title", "href": "/link/n", "description": "Desc n" }] } Dé Luain 20 Meán Fómhair 2010
  15. 15. Usability I hate frontends, but not usable software.... Dé Luain 20 Meán Fómhair 2010
  16. 16. Collections http://api.com/friends Dé Luain 20 Meán Fómhair 2010
  17. 17. Resources http://api.com/friends/david Dé Luain 20 Meán Fómhair 2010
  18. 18. Good URIs Your URI is everything Dé Luain 20 Meán Fómhair 2010
  19. 19. Sentences “What if we make every URL a sentence?” @shiflett Dé Luain 20 Meán Fómhair 2010
  20. 20. Quick Recap So what have we talked about so far? Dé Luain 20 Meán Fómhair 2010
  21. 21. Want your CRUD? So you are missing your crud? Worry not! Dé Luain 20 Meán Fómhair 2010
  22. 22. HTTP It’s got your back! Dé Luain 20 Meán Fómhair 2010
  23. 23. Really.. it does. Dé Luain 20 Meán Fómhair 2010
  24. 24. Verbs Post Create Get Read Put Update CRUD Delete Delete Dé Luain 20 Meán Fómhair 2010
  25. 25. Fancy a header? Request what you need, when you want, how you want it Dé Luain 20 Meán Fómhair 2010
  26. 26. What? Dé Luain 20 Meán Fómhair 2010
  27. 27. Scenario I Dé Luain 20 Meán Fómhair 2010
  28. 28. Dé Luain 20 Meán Fómhair 2010
  29. 29. Dé Luain 20 Meán Fómhair 2010
  30. 30. Dé Luain 20 Meán Fómhair 2010
  31. 31. Dé Luain 20 Meán Fómhair 2010
  32. 32. Dé Luain 20 Meán Fómhair 2010
  33. 33. Difference? Leveraging the architecture, no more ugliness Dé Luain 20 Meán Fómhair 2010
  34. 34. HATEOAS Hypermedia as the engine of application state Dé Luain 20 Meán Fómhair 2010
  35. 35. Dé Luain 20 Meán Fómhair 2010
  36. 36. 4 Constraints Separation of resources from representation Manipulation of resources by representations Self-descriptive messages Hypermedia as the engine of application state Dé Luain 20 Meán Fómhair 2010
  37. 37. Entracte Time out. Time to get some drink, Q&A #1 Dé Luain 20 Meán Fómhair 2010
  38. 38. FRAPI Oh. My. Day! Dé Luain 20 Meán Fómhair 2010
  39. 39. What is it? Management panel & developer facing API Dé Luain 20 Meán Fómhair 2010
  40. 40. History When? Where? Why? How? Dé Luain 20 Meán Fómhair 2010
  41. 41. Solves? Laziness, Performance Issues, Humans, TTM Dé Luain 20 Meán Fómhair 2010
  42. 42. It’s live Production system examples Dé Luain 20 Meán Fómhair 2010
  43. 43. FLUD Your iPad app newsreader Dé Luain 20 Meán Fómhair 2010
  44. 44. Vodafone Facebook apps Dé Luain 20 Meán Fómhair 2010
  45. 45. Open Source Projects using FRAPI for their APIs Dé Luain 20 Meán Fómhair 2010
  46. 46. web2project spaz Dé Luain 20 Meán Fómhair 2010
  47. 47. Entreprise http://echolibre.com Dé Luain 20 Meán Fómhair 2010
  48. 48. Performance Built with performance as primary goal. Dé Luain 20 Meán Fómhair 2010
  49. 49. Magic-less Fuck magic. There’s enough code out there Dé Luain 20 Meán Fómhair 2010
  50. 50. Few Setups A few examples of possible FRAPI setups Dé Luain 20 Meán Fómhair 2010
  51. 51. Dé Luain 20 Meán Fómhair 2010
  52. 52. Dé Luain 20 Meán Fómhair 2010
  53. 53. Dé Luain 20 Meán Fómhair 2010
  54. 54. Dé Luain 20 Meán Fómhair 2010
  55. 55. Dé Luain 20 Meán Fómhair 2010
  56. 56. Management Where it all begins... Dé Luain 20 Meán Fómhair 2010
  57. 57. Dé Luain 20 Meán Fómhair 2010
  58. 58. Dé Luain 20 Meán Fómhair 2010
  59. 59. Dé Luain 20 Meán Fómhair 2010
  60. 60. Dé Luain 20 Meán Fómhair 2010
  61. 61. Authentication HTTP Digest, reasons and modification Dé Luain 20 Meán Fómhair 2010
  62. 62. Databases RDBMS, NoSQL, DBAL, ORM, etc. Dé Luain 20 Meán Fómhair 2010
  63. 63. Negotiate Content Negotiation and extensions Dé Luain 20 Meán Fómhair 2010
  64. 64. Synchronize Generation of your code. Dé Luain 20 Meán Fómhair 2010
  65. 65. Documentation Your consumers need documentation Dé Luain 20 Meán Fómhair 2010
  66. 66. Development Decisions, business logic, software development Dé Luain 20 Meán Fómhair 2010
  67. 67. Q&A Dé Luain 20 Meán Fómhair 2010

×