Post on 15-Jul-2015
RESTful APIs and FRAPIa matter of minutes
@davidcoallier
Dé Luain 20 Meán Fómhair 2010
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ómhair 2010
StatelessnessForget sessions, forget states.
Dé Luain 20 Meán Fómhair 2010
LayeredLoad balancing, caching, ignorance.
Dé Luain 20 Meán Fómhair 2010
CacheabilityRemember? Remember!
Dé Luain 20 Meán Fómhair 2010
HomogeneityNegotiations, URIs, Collections, Resources
Dé Luain 20 Meán Fómhair 2010
ConceptsRepresentations of resources, concepts
Consider a google search.
Dé Luain 20 Meán Fómhair 2010
{ "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
UsabilityI hate frontends, but not usable software....
Dé Luain 20 Meán Fómhair 2010
Collectionshttp://api.com/friends
Dé Luain 20 Meán Fómhair 2010
Resourceshttp://api.com/friends/david
Dé Luain 20 Meán Fómhair 2010
Good URIsYour URI is everything
Dé Luain 20 Meán Fómhair 2010
Sentences“What if we make every URL a sentence?”
@shiflett
Dé Luain 20 Meán Fómhair 2010
Quick RecapSo 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
HTTPIt’s got your back!
Dé Luain 20 Meán Fómhair 2010
Really.. it does.
Dé Luain 20 Meán Fómhair 2010
Verbs
Get
Post
Put
Delete
Create
Read
Update
Delete
CRUD
Dé Luain 20 Meán Fómhair 2010
Fancy a header?Request what you need, when you want, how you want it
Dé Luain 20 Meán Fómhair 2010
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 2010
HATEOASHypermedia as the engine of application state
Dé Luain 20 Meán Fómhair 2010
Dé Luain 20 Meán Fómhair 2010
4 ConstraintsSeparation of resources from representationManipulation of resources by representations
Self-descriptive messagesHypermedia as the engine of application state
Dé Luain 20 Meán Fómhair 2010
EntracteTime out. Time to get some drink, Q&A #1
Dé Luain 20 Meán Fómhair 2010
FRAPIOh. 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
HistoryWhen? 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 liveProduction system examples
Dé Luain 20 Meán Fómhair 2010
FLUDYour iPad app newsreader
Dé Luain 20 Meán Fómhair 2010
VodafoneFacebook apps
Dé Luain 20 Meán Fómhair 2010
Open SourceProjects using FRAPI for their APIs
Dé Luain 20 Meán Fómhair 2010
web2project
spaz
Dé Luain 20 Meán Fómhair 2010
Entreprisehttp://echolibre.com
Dé Luain 20 Meán Fómhair 2010
PerformanceBuilt with performance as primary goal.
Dé Luain 20 Meán Fómhair 2010
Magic-lessFuck magic. There’s enough code out there
Dé Luain 20 Meán Fómhair 2010
Few SetupsA 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
ManagementWhere 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
AuthenticationHTTP Digest, reasons and modification
Dé Luain 20 Meán Fómhair 2010
DatabasesRDBMS, NoSQL, DBAL, ORM, etc.
Dé Luain 20 Meán Fómhair 2010
NegotiateContent Negotiation and extensions
Dé Luain 20 Meán Fómhair 2010
SynchronizeGeneration of your code.
Dé Luain 20 Meán Fómhair 2010
DocumentationYour consumers need documentation
Dé Luain 20 Meán Fómhair 2010
DevelopmentDecisions, business logic, software development
Dé Luain 20 Meán Fómhair 2010
Q&A
Dé Luain 20 Meán Fómhair 2010