Van a naar pi

61
Van A naar PI Gerard van Enk / @gvenk http://millionpieces.nl Bol.com Developersdag 2012 Million Pieces

description

Presentatie voor Bol.com Developers dag 2012

Transcript of Van a naar pi

Page 1: Van a naar pi

Van A naar PI

Gerard van Enk / @gvenkhttp://millionpieces.nl

Bol.com Developersdag 2012 Million Pieces

Page 2: Van a naar pi

Gerard van Enk

Bol.com Developersdag 2012 Million Pieces

Van A naar PI

Javascript

APIs

Mashups

WordPress

Page 3: Van a naar pi

Zoektocht“Perfecte API”

Bol.com Developersdag 2012 Million Pieces

Van A naar PI

Page 4: Van a naar pi

Bol.com Developersdag 2012 Million Pieces

Van A naar PI

Geschiedenis

Page 5: Van a naar pi

Bol.com Developersdag 2012 Million Pieces

Van A naar PI

Wikipedia

“An application programming interface (API) is a specification intended to be used as an interface by software components to

communicate with each other.”

Page 6: Van a naar pi

Bol.com Developersdag 2012 Million Pieces

Van A naar PI

API's

● MS Windows API● MacOSX API● Java API● WebAPI

Page 7: Van a naar pi

Bol.com Developersdag 2012 Million Pieces

Van A naar PI

Voorlopers

● 2000: Ebay● 2002: Amazon.com● 2003: Salesforce.com

Page 8: Van a naar pi

Bol.com Developersdag 2012 Million Pieces

Van A naar PI

Reverse Engineered Google Maps

Page 9: Van a naar pi

Bol.com Developersdag 2012 Million Pieces

Van A naar PI

2005

Google Maps API

Page 10: Van a naar pi

Bol.com Developersdag 2012 Million Pieces

Van A naar PI

Groei

Bron: What Makes a Great Open API? – John Musser, ProgrammableWeb 2012

Page 11: Van a naar pi

Bol.com Developersdag 2012 Million Pieces

Van A naar PI

Groei

Bron: What Makes a Great Open API? – John Musser, ProgrammableWeb 2012

Page 12: Van a naar pi

Bol.com Developersdag 2012 Million Pieces

Van A naar PI

Miljardairsclub

Bron: What Makes a Great Open API? – John Musser, ProgrammableWeb 2012

Page 13: Van a naar pi

Dus:

Bol.com Developersdag 2012 Million Pieces

Van A naar PI

Page 14: Van a naar pi

ProgrammableWeb:

7330 APIs

Bol.com Developersdag 2012 Million Pieces

Van A naar PI

Page 15: Van a naar pi

APIskijken:

41 APIs in NL

Bol.com Developersdag 2012 Million Pieces

Van A naar PI

http://bit.ly/apiskijken

Page 16: Van a naar pi

Bol.com Developersdag 2012 Million Pieces

Van A naar PI

APIskijken

Page 17: Van a naar pi

Bol.com Developersdag 2012 Million Pieces

Van A naar PI

OpenData

Apps voor Democatie

Apps voor Amsterdam

Page 18: Van a naar pi

Bol.com Developersdag 2012 Million Pieces

Van A naar PI

Wensen?

Page 19: Van a naar pi

Bol.com Developersdag 2012 Million Pieces

Van A naar PI

Perfecte API

Perfect == Moeilijk

Page 20: Van a naar pi

Bol.com Developersdag 2012 Million Pieces

Van A naar PI

Perfecte API

Wat is er nodig voor een goede API?

Page 21: Van a naar pi

Bol.com Developersdag 2012 Million Pieces

Van A naar PI

Perfecte API

'Iets' van waarde

Page 22: Van a naar pi

Bol.com Developersdag 2012 Million Pieces

Van A naar PI

'Iets' van waarde

Data

Page 23: Van a naar pi

Bol.com Developersdag 2012 Million Pieces

Van A naar PI

'Iets' van waarde

Dienst

Page 24: Van a naar pi

Bol.com Developersdag 2012 Million Pieces

Van A naar PI

'Iets' van waarde

Publiek

Page 25: Van a naar pi

Bol.com Developersdag 2012 Million Pieces

Van A naar PI

Perfecte API

Goed technisch ontwerp

Page 26: Van a naar pi

Bol.com Developersdag 2012 Million Pieces

Van A naar PI

Ontwerp

Keuzes maken

Page 27: Van a naar pi

Bol.com Developersdag 2012 Million Pieces

Van A naar PI

Ontwerp

● Welk(e) Protocol(len)?● Welk data formaat/formaten?● Security?● Versioning?● Designpatterns

Page 28: Van a naar pi

Bol.com Developersdag 2012 Million Pieces

Van A naar PI

Ontwerp

SOAP vs REST

Page 29: Van a naar pi

Bol.com Developersdag 2012 Million Pieces

Van A naar PI

Ontwerp

Page 30: Van a naar pi

Bol.com Developersdag 2012 Million Pieces

Van A naar PI

Ontwerp

Page 31: Van a naar pi

Bol.com Developersdag 2012 Million Pieces

Van A naar PI

Ontwerpprotocollen

Page 32: Van a naar pi

Bol.com Developersdag 2012 Million Pieces

Van A naar PI

Ontwerp

Formaat?

Page 33: Van a naar pi

Bol.com Developersdag 2012 Million Pieces

Van A naar PI

Ontwerp

Formaat?

XML JSON

CSV

HTML iCal

Text

RDF

Page 34: Van a naar pi

Bol.com Developersdag 2012 Million Pieces

Van A naar PI

Ontwerp

Page 35: Van a naar pi

Bol.com Developersdag 2012 Million Pieces

Van A naar PI

Ontwerp

Page 36: Van a naar pi

Bol.com Developersdag 2012 Million Pieces

Van A naar PI

Ontwerp

Security

Page 37: Van a naar pi

Bol.com Developersdag 2012 Million Pieces

Van A naar PI

Ontwerp

oAuth/SSL

Page 38: Van a naar pi

Bol.com Developersdag 2012 Million Pieces

Van A naar PI

Ontwerp

Versioning

Page 39: Van a naar pi

Bol.com Developersdag 2012 Million Pieces

Van A naar PI

Ontwerp

URL:

https://api.twitter.com/1.1/statuses/mentions_timeline.json

Accept Header:

GET /customer/123 HTTP/1.1

Accept: application/vnd.company.myapp.customer-v3+xml

Page 40: Van a naar pi

Bol.com Developersdag 2012 Million Pieces

Van A naar PI

Ontwerp

Doe het!

Page 41: Van a naar pi

Bol.com Developersdag 2012 Million Pieces

Van A naar PI

Ontwerp

Design Patterns

Page 42: Van a naar pi

Bol.com Developersdag 2012 Million Pieces

Van A naar PI

Ontwerp

HTTP Status Codes

Page 43: Van a naar pi

Bol.com Developersdag 2012 Million Pieces

Van A naar PI

Ontwerp

Dus niet:HTTP Status 200 OK:

{“type”: “OauthException”: “There is a foobar problem”}

Page 44: Van a naar pi

Bol.com Developersdag 2012 Million Pieces

Van A naar PI

Ontwerp

Maar:HTTP Status 401 Unauthorized:

{“type”: “OauthException”: “There is a foobar problem”}

Page 45: Van a naar pi

Bol.com Developersdag 2012 Million Pieces

Van A naar PI

Perfecte API

Documentatie en

Voorbeelden

Page 46: Van a naar pi

Bol.com Developersdag 2012 Million Pieces

Van A naar PI

Perfecte API

Page 47: Van a naar pi

Bol.com Developersdag 2012 Million Pieces

Van A naar PI

Perfecte API

Page 48: Van a naar pi

Bol.com Developersdag 2012 Million Pieces

Van A naar PI

Perfecte API

Page 49: Van a naar pi

Bol.com Developersdag 2012 Million Pieces

Van A naar PI

Perfecte API

Rapportage

Page 50: Van a naar pi

Bol.com Developersdag 2012 Million Pieces

Van A naar PI

Perfecte API

Page 51: Van a naar pi

Bol.com Developersdag 2012 Million Pieces

Van A naar PI

Perfecte API

Support

Page 52: Van a naar pi

Bol.com Developersdag 2012 Million Pieces

Van A naar PI

Commercieel

Waarom een API?

Page 53: Van a naar pi

Bol.com Developersdag 2012 Million Pieces

Van A naar PI

Commercieel

Opkomst mobiel/apps

Page 54: Van a naar pi

Bol.com Developersdag 2012 Million Pieces

Van A naar PI

Commercieel

Partners

Page 55: Van a naar pi

Bol.com Developersdag 2012 Million Pieces

Van A naar PI

Commercieel

Extra inkomsten

Page 56: Van a naar pi

Bol.com Developersdag 2012 Million Pieces

Van A naar PI

Dus:

Page 57: Van a naar pi

Bol.com Developersdag 2012 Million Pieces

Van A naar PI

Niet: Waarom?

Page 58: Van a naar pi

Bol.com Developersdag 2012 Million Pieces

Van A naar PI

Maar: Wanneer?!

Page 59: Van a naar pi

Bol.com Developersdag 2012 Million Pieces

Van A naar PI

Page 61: Van a naar pi

Afbeelding credits:Aap: http://openclipart.org/detail/81865/funny-monkey-face-by-martoufLeesplankje: http://www.onderwijserfgoed.nl/content/onderwijsmethodenKranten: http://www.flickr.com/photos/marketingfacts/3240824443/Apen: http://www.funnypica.com/top-150-funny-monkeys-pictures-collection/