Download - Open APIs Design
![Page 1: Open APIs Design](https://reader034.vdocument.in/reader034/viewer/2022050904/5473ae80b4af9fa90a8b53a8/html5/thumbnails/1.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050904/5473ae80b4af9fa90a8b53a8/html5/thumbnails/2.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050904/5473ae80b4af9fa90a8b53a8/html5/thumbnails/3.jpg)
Many APIs !
3Thursday, June 26, 14
![Page 4: Open APIs Design](https://reader034.vdocument.in/reader034/viewer/2022050904/5473ae80b4af9fa90a8b53a8/html5/thumbnails/4.jpg)
4Thursday, June 26, 14
![Page 5: Open APIs Design](https://reader034.vdocument.in/reader034/viewer/2022050904/5473ae80b4af9fa90a8b53a8/html5/thumbnails/5.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050904/5473ae80b4af9fa90a8b53a8/html5/thumbnails/6.jpg)
Ok, I am convinced... Now what ?
6Thursday, June 26, 14
![Page 7: Open APIs Design](https://reader034.vdocument.in/reader034/viewer/2022050904/5473ae80b4af9fa90a8b53a8/html5/thumbnails/7.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050904/5473ae80b4af9fa90a8b53a8/html5/thumbnails/8.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050904/5473ae80b4af9fa90a8b53a8/html5/thumbnails/9.jpg)
Magic API triangle
9
RESTful
JSONOAuth
Thursday, June 26, 14
![Page 10: Open APIs Design](https://reader034.vdocument.in/reader034/viewer/2022050904/5473ae80b4af9fa90a8b53a8/html5/thumbnails/10.jpg)
SOAP vs. REST
10Thursday, June 26, 14
![Page 11: Open APIs Design](https://reader034.vdocument.in/reader034/viewer/2022050904/5473ae80b4af9fa90a8b53a8/html5/thumbnails/11.jpg)
11Thursday, June 26, 14
![Page 12: Open APIs Design](https://reader034.vdocument.in/reader034/viewer/2022050904/5473ae80b4af9fa90a8b53a8/html5/thumbnails/12.jpg)
12Thursday, June 26, 14
![Page 13: Open APIs Design](https://reader034.vdocument.in/reader034/viewer/2022050904/5473ae80b4af9fa90a8b53a8/html5/thumbnails/13.jpg)
JSON vs. XML
13Thursday, June 26, 14
![Page 14: Open APIs Design](https://reader034.vdocument.in/reader034/viewer/2022050904/5473ae80b4af9fa90a8b53a8/html5/thumbnails/14.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050904/5473ae80b4af9fa90a8b53a8/html5/thumbnails/15.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050904/5473ae80b4af9fa90a8b53a8/html5/thumbnails/16.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050904/5473ae80b4af9fa90a8b53a8/html5/thumbnails/17.jpg)
17
You can’t manage what you can’t measure.
Thursday, June 26, 14
![Page 18: Open APIs Design](https://reader034.vdocument.in/reader034/viewer/2022050904/5473ae80b4af9fa90a8b53a8/html5/thumbnails/18.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022050904/5473ae80b4af9fa90a8b53a8/html5/thumbnails/19.jpg)
Monitoring
19Thursday, June 26, 14
![Page 20: Open APIs Design](https://reader034.vdocument.in/reader034/viewer/2022050904/5473ae80b4af9fa90a8b53a8/html5/thumbnails/20.jpg)
Deployment
20
API Management Layer
Services LayerApplications
Cloud Services
MediationLayer
Services Composition
Services Orchestration
Thursday, June 26, 14
![Page 21: Open APIs Design](https://reader034.vdocument.in/reader034/viewer/2022050904/5473ae80b4af9fa90a8b53a8/html5/thumbnails/21.jpg)
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
![Page 22: Open APIs Design](https://reader034.vdocument.in/reader034/viewer/2022050904/5473ae80b4af9fa90a8b53a8/html5/thumbnails/22.jpg)
References๏ OAuth
๏ hWp://blog.facilelogin.com/2013/02/why-‐oauth-‐it-‐self-‐is-‐not-‐authen)ca)on.html
๏ hWp://openid.net/specs/openid-‐connect-‐basic-‐1_0.html
๏ WSO2 API Manager
๏ wso2.com/products/api-‐manager/
22Thursday, June 26, 14
![Page 23: Open APIs Design](https://reader034.vdocument.in/reader034/viewer/2022050904/5473ae80b4af9fa90a8b53a8/html5/thumbnails/23.jpg)
Contact us !
Thursday, June 26, 14