Академический Документы
Профессиональный Документы
Культура Документы
+
Stages of the API Lifecycle
Nicolas Greni
!
Outline
1. Four business benefits of APIs
2. The API lifecycle
Plan/Design
Build/Integrate
Operate/Manage
Share/Engage
API
!
Whats an API?
"
The Family - Paris - Nov. 2014
#
Nicolas Greni - !picsoung
Example 1:
Create/revive revenue sources
Example 2:
Deliver wider reach
Example 3:
Foster (external) innovation
Example 4:
Increase eiciency
Source: http://apievangelist.com/2012/01/12/the-secret-to-amazons-success-internal-apis/
Side 2..n
Get most of
the services
Pays
$ A platform
The Family - Paris - Nov. 2014
/
an
Pl ign
s
De
e
r
a
e
h
g
S ga
n
E
Ma
/
e
at
er ge
na
Op
The API
Lifecycle.
ld
i
u
B g
e
t
In
e
t
ra
/
an
Pl ign
s
De
e
r
a
e
h
g
S ga
n
E
Ma
/
e
at
er ge
na
Op
The API
Lifecycle.
ld
i
u
B g
e
t
In
e
t
ra
Plan / Design
Why API?
!
Plan / Design
Resource
Plan / Design
Tools
API Blueprint
RAML
Swagger
!
See
API Blueprint
/
an
Pl ign
s
De
e
r
a
e
h
g
S ga
n
E
Ma
/
e
at
er ge
na
Op
The API
Lifecycle.
ld
i
u
B g
e
t
In
e
t
ra
Coding toools
Ruby
http://www.confreaks.com/videos/475-rubyconf2010-the-grapes-of-rapid
Sinatra http://www.sinatrarb.com/
Grape
PHP
Slim
http://coenraets.org/blog/2011/12/restful-services-with-jquery-php-and-the-slim-framework/
Node.js:
Express.js, Fortune.js
Restify http://mcavage.me/node-restify/
ASP.net
Python:
hype
App
http://www.django-rest-framework.org/
Java:
JAX-RS
REST.li http://rest.li/index.html
Now
!
!
app.get('/api', function(request,
response) {
//Do something to read a resource
});
app.post('/api', function(request,
response) {
//Do something to create a resource
});
app.put('/api', function(request,
response) {
//Do something to update a resource
});
app.delete('/api', function(request,
response) {
//Do something to delete a resource
});
!
!
!
app.get('/api/account', function(request, response) {
! //Set content-type
! response.type('application/json');
! //Send text response
! response.status(200).send(
! ! { message: 'Your balance is: '+ balance }); !
! //...!
});
!
!
app.put('/api/account', function(request, response) {
//Get the change in balance!
! balance = parseInt(request.body.updatebalance);
! //Update the balance...
! !
! //Notify client
! response.status(200).send(
! ! { message: 'Your new balance is: ' + balance });
! //...
});!
!
//...
A demo: HealthAPI
!
!
!
https://github.com/3scale/workshop-apistrat2014
!
Deployed on Heroku:
https://nicolashealthapi.herokuapp.com (UNSECURED!!)
A demo: HealthAPI
http://www.getpostman.com
/
an
Pl ign
s
De
e
r
a
e
h
g
S ga
n
E
Ma
/
e
at
er ge
na
Op
The API
Lifecycle.
ld
i
u
B g
e
t
In
e
t
ra
App /
Website
API
Operate / Manage
Backend
Operate / Manage
App /
Website
API
Management
API
http://api.2445581123523.proxy.3scale.net:80
Backend
http://manfredhealthapp.herokuapp.com
Whats left to do ?
Deployment
Proxy
infrastructure
OR
App /
Website
The Family - Paris - Nov. 2014
API
Management
API
Plugin
Backend
/
an
Pl ign
s
De
e
r
a
e
h
g
S ga
n
E
Ma
/
e
at
er ge
na
Op
The API
Lifecycle.
ld
i
u
B g
e
t
In
e
t
ra
Share / Engage
Image source:
http://dx.jeremiahlee.com/
Acceleration
Community
Building
Pilots /
Case Studies
Comms
Social Media
Events
Evangelist
Developer Portal
Measure
Out-of-the-box
API Management
For API
Providers
API Management
For Developers
apistrategyconference.com
3scale.net
www.apitools.com
apicodex.3scale.net
APIs.io
Take-aways
There can be an enormous benefit in APIs -- shown by many successful
examples.
It needs to be crystal clear what you want to achieve. The API needs to be
aligned with the business strategy.
APIs enable Asymmetric Business Models to tackle many markets.
Carefully consider all four stages in the API lifecycle.
Exposing data or services via APIs alone is not enough. Make sure you
secure, monitor and manage APIs.
Q&A
Manfred Bortenschlager
manfred@scale.net
I work at 3scale.net
@3scale
Nicolas Greni
!
www.apitools.com
APItools.com
reque
sts
APItools
respo
My app
Manage APIs
nses
Others
APItools
https://www.apitools.com/
Postman
http://www.getpostman.com/