Open APIs Design

Preview:

DESCRIPTION

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

Citation preview

Sub$tle  text

Last Updated: June 2014

VP,  Product  Management  Isabelle  Mauny

APIs  Design  and  Development

Thursday, June 26, 14

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

Many  APIs  !

3Thursday, June 26, 14

4Thursday, June 26, 14

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

Ok,  I  am  convinced...  Now  what  ?  

6Thursday, June 26, 14

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

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

Magic  API  triangle

9

RESTful

JSONOAuth

Thursday, June 26, 14

SOAP  vs.  REST

10Thursday, June 26, 14

11Thursday, June 26, 14

12Thursday, June 26, 14

JSON  vs.  XML

13Thursday, June 26, 14

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

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

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

17

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

Thursday, June 26, 14

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

Monitoring

19Thursday, June 26, 14

Deployment

20

API Management Layer

Services LayerApplications

Cloud Services

MediationLayer

Services Composition

Services Orchestration

Thursday, June 26, 14

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

Recommended