More than the Sum of its parts, the API's whole
-
Upload
3scale -
Category
Technology
-
view
1.069 -
download
6
description
Transcript of More than the Sum of its parts, the API's whole
![Page 1: More than the Sum of its parts, the API's whole](https://reader033.fdocuments.net/reader033/viewer/2022052504/554bb53cb4c90530298b471f/html5/thumbnails/1.jpg)
More than the sum of its parts, the API’s whole
Josep M. Pujol
3scale – http://3scale.net/
[email protected] – @solso at Twitter
![Page 2: More than the Sum of its parts, the API's whole](https://reader033.fdocuments.net/reader033/viewer/2022052504/554bb53cb4c90530298b471f/html5/thumbnails/2.jpg)
Why do we need API’s?
![Page 3: More than the Sum of its parts, the API's whole](https://reader033.fdocuments.net/reader033/viewer/2022052504/554bb53cb4c90530298b471f/html5/thumbnails/3.jpg)
Source: Dion Hinchcliffe, http://blogs.zdnet.con/Hinchcliffe
Web Site
Your Digital Assets
Online Population
![Page 4: More than the Sum of its parts, the API's whole](https://reader033.fdocuments.net/reader033/viewer/2022052504/554bb53cb4c90530298b471f/html5/thumbnails/4.jpg)
Source: Dion Hinchcliffe, http://blogs.zdnet.con/Hinchcliffe
Web Site
3rd Party Apps
WidgetsGadgetsBadges
Social Network (Facebook, Opensocial)
Mobile Apps.
APInon-visual services
Your Digital Assets
Online Population
Extended Reach
![Page 5: More than the Sum of its parts, the API's whole](https://reader033.fdocuments.net/reader033/viewer/2022052504/554bb53cb4c90530298b471f/html5/thumbnails/5.jpg)
Source: Dion Hinchcliffe, http://blogs.zdnet.con/Hinchcliffe
Web Site
3rd Party Apps
WidgetsGadgetsBadges
Social Network (Facebook, Opensocial)
Mobile Apps.
APInon-visual services
Your Digital Assets
Online Population
Extended Reach
Is that all?
![Page 6: More than the Sum of its parts, the API's whole](https://reader033.fdocuments.net/reader033/viewer/2022052504/554bb53cb4c90530298b471f/html5/thumbnails/6.jpg)
API is about Connectedness
• A bit of history,
API == Application Programming Interfaces
![Page 7: More than the Sum of its parts, the API's whole](https://reader033.fdocuments.net/reader033/viewer/2022052504/554bb53cb4c90530298b471f/html5/thumbnails/7.jpg)
API is about Connectedness
• A bit of history,
API == Application Programming Interfaces
This is about code...
![Page 8: More than the Sum of its parts, the API's whole](https://reader033.fdocuments.net/reader033/viewer/2022052504/554bb53cb4c90530298b471f/html5/thumbnails/8.jpg)
API is about Connectedness
Connected code == mechanism
![Page 9: More than the Sum of its parts, the API's whole](https://reader033.fdocuments.net/reader033/viewer/2022052504/554bb53cb4c90530298b471f/html5/thumbnails/9.jpg)
API is about Connectedness
Connecting abilites == society
![Page 10: More than the Sum of its parts, the API's whole](https://reader033.fdocuments.net/reader033/viewer/2022052504/554bb53cb4c90530298b471f/html5/thumbnails/10.jpg)
There is more than code
An API allows to open what your company does best...
... and to access the best of others
To result in something bigger than the sum of its parts
![Page 11: More than the Sum of its parts, the API's whole](https://reader033.fdocuments.net/reader033/viewer/2022052504/554bb53cb4c90530298b471f/html5/thumbnails/11.jpg)
What do you glue with API’s?
DATA
![Page 12: More than the Sum of its parts, the API's whole](https://reader033.fdocuments.net/reader033/viewer/2022052504/554bb53cb4c90530298b471f/html5/thumbnails/12.jpg)
What do you glue with API’s?
DATA
VISUALIZATION
![Page 13: More than the Sum of its parts, the API's whole](https://reader033.fdocuments.net/reader033/viewer/2022052504/554bb53cb4c90530298b471f/html5/thumbnails/13.jpg)
What do you glue with API’s?
DATA
SERVICES
VISUALIZATION
![Page 14: More than the Sum of its parts, the API's whole](https://reader033.fdocuments.net/reader033/viewer/2022052504/554bb53cb4c90530298b471f/html5/thumbnails/14.jpg)
What do you glue with API’s?
DATA
SERVICES
VISUALIZATION
Sounds familiar?
![Page 15: More than the Sum of its parts, the API's whole](https://reader033.fdocuments.net/reader033/viewer/2022052504/554bb53cb4c90530298b471f/html5/thumbnails/15.jpg)
What do you glue with API’s?
DATA
SERVICES
VISUALIZATION
(M)ODEL
(C)ONTROLLER
(V)IEW
Yep! the MVC software architecure
![Page 16: More than the Sum of its parts, the API's whole](https://reader033.fdocuments.net/reader033/viewer/2022052504/554bb53cb4c90530298b471f/html5/thumbnails/16.jpg)
What do you glue with API’s?
DATA
SERVICES
VISUALIZATION
(M)ODEL
(C)ONTROLLER
(V)IEWMVC connects components
API connects businesses
![Page 17: More than the Sum of its parts, the API's whole](https://reader033.fdocuments.net/reader033/viewer/2022052504/554bb53cb4c90530298b471f/html5/thumbnails/17.jpg)
Disclaimer
If what you offer sucks, don’t bother to cover it up with an API
![Page 18: More than the Sum of its parts, the API's whole](https://reader033.fdocuments.net/reader033/viewer/2022052504/554bb53cb4c90530298b471f/html5/thumbnails/18.jpg)
Writing a sucessful API
• If you are a programmer you know how to write an API
However, there are thingsthat can make it or break it
![Page 19: More than the Sum of its parts, the API's whole](https://reader033.fdocuments.net/reader033/viewer/2022052504/554bb53cb4c90530298b471f/html5/thumbnails/19.jpg)
Writing a sucessful API
• The simpler the better
– REST >> SOAP, JSON > XML– Functionality should be clear and
consice• If you do not know how to name it,
you are doing it wrong
– Adding is much more difficult than removing• Still, consider versioning since day 1
– API needs to be implementation agnostic
– Names should be self-explanatory
![Page 20: More than the Sum of its parts, the API's whole](https://reader033.fdocuments.net/reader033/viewer/2022052504/554bb53cb4c90530298b471f/html5/thumbnails/20.jpg)
Writing a sucessful API
• Implementation
– Watch out latencies• A human can wait 200ms, a
machine might not
– Machine generated traffic• Usage patterns and load can be
totally different than human generated traffic
– Handle errors beautifully• Don’t assume intelligence on the
other side
![Page 21: More than the Sum of its parts, the API's whole](https://reader033.fdocuments.net/reader033/viewer/2022052504/554bb53cb4c90530298b471f/html5/thumbnails/21.jpg)
Writing a sucessful API
• Documentation
– Document well, not everything• code is not the best documentation,
your users – developers -- won’t see it
– Provide code examples for your API
– Write plugins for multiple languages• Will make your users life easier and
help getting your API generic
![Page 22: More than the Sum of its parts, the API's whole](https://reader033.fdocuments.net/reader033/viewer/2022052504/554bb53cb4c90530298b471f/html5/thumbnails/22.jpg)
Writing a sucessful API
• Know your “users”
– They are developers like you, therefore “special”
– They are very comfortable with code examples and online docs
– Developers do not like talking to people, let alone sales• Remove hurdles like approval steps or
sales pitches to hook with your API
– Feedback is always good, in this case critical
![Page 23: More than the Sum of its parts, the API's whole](https://reader033.fdocuments.net/reader033/viewer/2022052504/554bb53cb4c90530298b471f/html5/thumbnails/23.jpg)
Writing a sucessful API
• Be open• Focus
– Your API needs to offer your core business to be connected to
– For the overhead derived from having a public API such as:
– Access control– Analytics and reporting– Billing and payments– Developer portal
there are API solutions,
![Page 24: More than the Sum of its parts, the API's whole](https://reader033.fdocuments.net/reader033/viewer/2022052504/554bb53cb4c90530298b471f/html5/thumbnails/24.jpg)
Writing a sucessful API
• Be open• Focus
– Your API needs to offer your core business to be connected to
– For the overhead derived from having a public API such as:
– Access control– Analytics and reporting– Billing and payments– Developer portal
there are API solutions, e.g.
Full Disclosure: I do work for 3scale