23
Sub$tle text Last Updated: June 2014 VP, Product Management Isabelle Mauny APIs Design and Development Thursday, June 26, 14

Open APIs Design

Embed Size (px)

DESCRIPTION

Presentation from OpenSource Expo - Why APIs ? - Impl recommendations - Analytics

Citation preview

Page 1: Open APIs Design

Sub$tle  text

Last Updated: June 2014

VP,  Product  Management  Isabelle  Mauny

APIs  Design  and  Development

Thursday, June 26, 14

Page 2: Open APIs Design

2

About  the  speaker...

๏ French  na)ve

๏ Living  in  Spain

๏ Works  mostly  with  Sri  Lanka

๏ 18  years  of  IBM,  4  years  in  startups

๏ Managing  the  overall  WSO2  porDolio

๏ Linux  command  line  user

Thursday, June 26, 14

Page 3: Open APIs Design

Many  APIs  !

3Thursday, June 26, 14

Page 4: Open APIs Design

4Thursday, June 26, 14

Page 5: Open APIs Design

Why  APIs  ?

5

Mobile  Apps  Development

Marke)ng  channel

Find  new  customers

Drive  Innova)on

Drive  Internal  Projects

Integra)on  with  Partners

Sales  Channel

New  Product

Thursday, June 26, 14

Page 6: Open APIs Design

Ok,  I  am  convinced...  Now  what  ?  

6Thursday, June 26, 14

Page 7: Open APIs Design

7

๏ Service  deals  with  implementa)on

๏ API  deals  with  subscrip)on  (consumer)

๏ Two  very  dis)nct  life  cycles  !

๏ You  don’t  need  the  service  to  create  the  API...

Services  and  APIs

Thursday, June 26, 14

Page 8: Open APIs Design

8

Building  a  Managed  API

๏ Crea)ng  APIs  (interface,  docs,  samples,etc.)

๏ Adver)sing  APIs

๏ Making  APIs  subscribe-­‐able  by  consumers

๏ Associa)ng  SLAs

๏ Securing  APIs

๏ Mone)za)on  and  Analy)cs

Thursday, June 26, 14

Page 9: Open APIs Design

Magic  API  triangle

9

RESTful

JSONOAuth

Thursday, June 26, 14

Page 10: Open APIs Design

SOAP  vs.  REST

10Thursday, June 26, 14

Page 11: Open APIs Design

11Thursday, June 26, 14

Page 12: Open APIs Design

12Thursday, June 26, 14

Page 13: Open APIs Design

JSON  vs.  XML

13Thursday, June 26, 14

Page 14: Open APIs Design

OAuth2๏ Standard  used  by  most  API  billionaires  (  TwiWer,  Facebook,  Google  for  example)

๏ Covers  authoriza)on  to  access  selected  informa)on/data  (scopes)

๏ Authen)ca)on  is  covered  using  OpenID  Connect  protocol

๏ Mul)ple  grant  types:  Authoriza)on  code  (below),  client_creden)als,  password,  SAML  ,  Kerberos)

14Thursday, June 26, 14

Page 15: Open APIs Design

15

Need  for  API  Versioning

๏ Need  to  support  API  evolu)on

๏ While  Maintaining๏ Backward  compa)bility  -­‐>  Func)onality

๏ Rates/ThroWling  agreements

๏ Different  versioning  mechanisms

Thursday, June 26, 14

Page 16: Open APIs Design

16

API  Versioning  Strategies

๏ Version  as  a  query  parameter๏ NeUlix  -­‐  hWp://api.neDlix.com/catalog/)tles/series/70023522?v=1.5

๏ Google  Data  API  -­‐  “GData-­‐Version:  X.0″₺  or  “v=X.0″₺

๏ Version  as  part  of  URI๏ Salesforce  -­‐  hWps://na1.salesforce.com/services/data/v20.0/sobjects/Account/

๏ TwiYer  -­‐  hWps://api.twiWer.com/1.1/statuses/men)ons_)meline.json

๏ Version  as  a  date  in  URI๏ Twilio  -­‐  /2010-­‐04-­‐01/Accounts/{AccountSid}/Calls

๏ hWp://www.twilio.com/docs/api/rest/making-­‐calls

๏ Version  as  a  ๏ Custom  HTTP  Header

๏ Accept  Header

Thursday, June 26, 14

Page 17: Open APIs Design

17

You  can’t  manage  what  you  can’t  measure.

Thursday, June 26, 14

Page 18: Open APIs Design

18

Why  AnalyZcs  and  API  Management  are  important  together?

๏ Build  confidence  in  the  API  model

๏ Understand  your  customer  

๏ Help  manage  services  and  versions๏ e.g.  understand  when  deprecated  services  can  be  re)red

๏ Plan  beWer๏ Monitor  the  growth  of  aggregated  API  traffic

๏ Monitor  the  growth  of  specific  apps

๏ Make  sure  you  capture  all  events  right  from  beginning  of  project.

Thursday, June 26, 14

Page 19: Open APIs Design

Monitoring

19Thursday, June 26, 14

Page 20: Open APIs Design

Deployment

20

API Management Layer

Services LayerApplications

Cloud Services

MediationLayer

Services Composition

Services Orchestration

Thursday, June 26, 14

Page 21: Open APIs Design

Who  is  WSO2  ?  

๏ Open  Source  Middleware  PlaDorm  Provider

๏ All  products  are  released  under  Apache  2.0  License

๏ No  community  vs.  Enterprise  edi)ons

๏ Provides  Integra)on,  API  Management  and  Mobile  management  products

๏ 350+  people  in  Sri  Lanka,  USA  and  Europe

21Thursday, June 26, 14