Van A naar PI
Gerard van Enk / @gvenkhttp://millionpieces.nl
Bol.com Developersdag 2012 Million Pieces
Gerard van Enk
Bol.com Developersdag 2012 Million Pieces
Van A naar PI
Javascript
APIs
Mashups
WordPress
Zoektocht“Perfecte API”
Bol.com Developersdag 2012 Million Pieces
Van A naar PI
Bol.com Developersdag 2012 Million Pieces
Van A naar PI
Geschiedenis
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.”
Bol.com Developersdag 2012 Million Pieces
Van A naar PI
API's
● MS Windows API● MacOSX API● Java API● WebAPI
Bol.com Developersdag 2012 Million Pieces
Van A naar PI
Voorlopers
● 2000: Ebay● 2002: Amazon.com● 2003: Salesforce.com
Bol.com Developersdag 2012 Million Pieces
Van A naar PI
Reverse Engineered Google Maps
Bol.com Developersdag 2012 Million Pieces
Van A naar PI
2005
Google Maps API
Bol.com Developersdag 2012 Million Pieces
Van A naar PI
Groei
Bron: What Makes a Great Open API? – John Musser, ProgrammableWeb 2012
Bol.com Developersdag 2012 Million Pieces
Van A naar PI
Groei
Bron: What Makes a Great Open API? – John Musser, ProgrammableWeb 2012
Bol.com Developersdag 2012 Million Pieces
Van A naar PI
Miljardairsclub
Bron: What Makes a Great Open API? – John Musser, ProgrammableWeb 2012
Dus:
Bol.com Developersdag 2012 Million Pieces
Van A naar PI
ProgrammableWeb:
7330 APIs
Bol.com Developersdag 2012 Million Pieces
Van A naar PI
APIskijken:
41 APIs in NL
Bol.com Developersdag 2012 Million Pieces
Van A naar PI
http://bit.ly/apiskijken
Bol.com Developersdag 2012 Million Pieces
Van A naar PI
APIskijken
Bol.com Developersdag 2012 Million Pieces
Van A naar PI
OpenData
Apps voor Democatie
Apps voor Amsterdam
Bol.com Developersdag 2012 Million Pieces
Van A naar PI
Wensen?
Bol.com Developersdag 2012 Million Pieces
Van A naar PI
Perfecte API
Perfect == Moeilijk
Bol.com Developersdag 2012 Million Pieces
Van A naar PI
Perfecte API
Wat is er nodig voor een goede API?
Bol.com Developersdag 2012 Million Pieces
Van A naar PI
Perfecte API
'Iets' van waarde
Bol.com Developersdag 2012 Million Pieces
Van A naar PI
'Iets' van waarde
Data
Bol.com Developersdag 2012 Million Pieces
Van A naar PI
'Iets' van waarde
Dienst
Bol.com Developersdag 2012 Million Pieces
Van A naar PI
'Iets' van waarde
Publiek
Bol.com Developersdag 2012 Million Pieces
Van A naar PI
Perfecte API
Goed technisch ontwerp
Bol.com Developersdag 2012 Million Pieces
Van A naar PI
Ontwerp
Keuzes maken
Bol.com Developersdag 2012 Million Pieces
Van A naar PI
Ontwerp
● Welk(e) Protocol(len)?● Welk data formaat/formaten?● Security?● Versioning?● Designpatterns
Bol.com Developersdag 2012 Million Pieces
Van A naar PI
Ontwerp
SOAP vs REST
Bol.com Developersdag 2012 Million Pieces
Van A naar PI
Ontwerp
Bol.com Developersdag 2012 Million Pieces
Van A naar PI
Ontwerp
Bol.com Developersdag 2012 Million Pieces
Van A naar PI
Ontwerpprotocollen
Bol.com Developersdag 2012 Million Pieces
Van A naar PI
Ontwerp
Formaat?
Bol.com Developersdag 2012 Million Pieces
Van A naar PI
Ontwerp
Formaat?
XML JSON
CSV
HTML iCal
Text
RDF
Bol.com Developersdag 2012 Million Pieces
Van A naar PI
Ontwerp
Bol.com Developersdag 2012 Million Pieces
Van A naar PI
Ontwerp
Bol.com Developersdag 2012 Million Pieces
Van A naar PI
Ontwerp
Security
Bol.com Developersdag 2012 Million Pieces
Van A naar PI
Ontwerp
oAuth/SSL
Bol.com Developersdag 2012 Million Pieces
Van A naar PI
Ontwerp
Versioning
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
Bol.com Developersdag 2012 Million Pieces
Van A naar PI
Ontwerp
Doe het!
Bol.com Developersdag 2012 Million Pieces
Van A naar PI
Ontwerp
Design Patterns
Bol.com Developersdag 2012 Million Pieces
Van A naar PI
Ontwerp
HTTP Status Codes
Bol.com Developersdag 2012 Million Pieces
Van A naar PI
Ontwerp
Dus niet:HTTP Status 200 OK:
{“type”: “OauthException”: “There is a foobar problem”}
Bol.com Developersdag 2012 Million Pieces
Van A naar PI
Ontwerp
Maar:HTTP Status 401 Unauthorized:
{“type”: “OauthException”: “There is a foobar problem”}
Bol.com Developersdag 2012 Million Pieces
Van A naar PI
Perfecte API
Documentatie en
Voorbeelden
Bol.com Developersdag 2012 Million Pieces
Van A naar PI
Perfecte API
Bol.com Developersdag 2012 Million Pieces
Van A naar PI
Perfecte API
Bol.com Developersdag 2012 Million Pieces
Van A naar PI
Perfecte API
Bol.com Developersdag 2012 Million Pieces
Van A naar PI
Perfecte API
Rapportage
Bol.com Developersdag 2012 Million Pieces
Van A naar PI
Perfecte API
Bol.com Developersdag 2012 Million Pieces
Van A naar PI
Perfecte API
Support
Bol.com Developersdag 2012 Million Pieces
Van A naar PI
Commercieel
Waarom een API?
Bol.com Developersdag 2012 Million Pieces
Van A naar PI
Commercieel
Opkomst mobiel/apps
Bol.com Developersdag 2012 Million Pieces
Van A naar PI
Commercieel
Partners
Bol.com Developersdag 2012 Million Pieces
Van A naar PI
Commercieel
Extra inkomsten
Bol.com Developersdag 2012 Million Pieces
Van A naar PI
Dus:
Bol.com Developersdag 2012 Million Pieces
Van A naar PI
Niet: Waarom?
Bol.com Developersdag 2012 Million Pieces
Van A naar PI
Maar: Wanneer?!
Bol.com Developersdag 2012 Million Pieces
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/