RESTful APIs and FRAPI, a matter of minutes

Post on 15-Jul-2015

3.555 views 7 download

Tags:

Transcript of RESTful APIs and FRAPI, a matter of minutes

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