SlideShare une entreprise Scribd logo
1  sur  53
Télécharger pour lire hors ligne
Cra$ing	
  Consumable	
  APIs	
  
                  with	
  
         WSO2	
  API	
  Manager	
  




         Sumedha	
  Rubasinghe,	
  WSO2	
  
             November,	
  2012	
  
Cra$ing	
  Consumable	
  APIs	
  
Cra$ing	
  APIs	
  |	
  Consumable	
  APIs	
  
Cra$ing	
  APIs	
  |	
  Consumable	
  APIs	
  
Cra$ing	
  APIs	
  
•  API	
  Design	
  
•  API	
  Interface	
  
•  Documenta3on	
  
•  Versioning	
  
•  Adver3sing	
  
•  Community	
  Building	
  
   •    Feedback/Discussion	
  Channel	
  
•  Communica3on/no3fica3on	
  
•  Tooling	
  
•  Lifecycle	
  
API	
  Design	
  
•    Joshua	
  Bloch,	
  How	
  To	
  Design	
  A	
  Good	
  API	
  And	
  Why	
  It	
  MaJers,	
  hJp://
     www.youtube.com/watch?v=aAb7hSCtvGw	
  
API	
  Interface	
  
•  Contract	
  between	
  you	
  &	
  outside	
  world	
  
    o  Honor	
  it	
  –	
  all	
  the	
  3me	
  
•  Input	
  formats	
  
•  Output	
  formats	
  
•  Availability	
  
•  Performance	
  figures	
  
•  QoS	
  
DocumentaEon	
  
•  Most	
  important	
  channel	
  between	
  your	
  APIs	
  &	
  
     developers	
  
•    Has	
  to	
  be,	
  
      o  Up-­‐to-­‐date	
  
      o  Descrip3ve	
  
      o  Sufficient	
  examples	
  
      o  Reader	
  friendly	
  
      o  Intui3ve	
  
      o  Searchable	
  
API	
  Versioning	
  
•  Evolu3on	
  !!	
  
•  Backward	
  compa3bility	
  of,	
  
    o  Func3onality	
  
•  Forward	
  compa3bility	
  of	
  
    o  Access	
  Tokens	
  
    o  Rates/ThroJling	
  agreements	
  
•  	
  Different	
  versioning	
  mechanisms	
  
API	
  Versioning	
  
•  Version	
  as	
  query	
  parameter	
  
      o  Ne`lix	
  -­‐	
  
         hJp://api.ne`lix.com/catalog/3tles/series/70023522?v=1.5	
  
      o Google	
  Data	
  API	
  -­‐	
  “GData-­‐Version:	
  X.0″₺	
  or	
  “v=X.0″₺	
  
•    Version	
  as	
  part	
  of	
  URI	
  
      o  Salesforce	
  -­‐	
  hJps://na1.salesforce.com/services/data/v20.0/
         sobjects/Account/	
  
      o  TwiJer	
  -­‐	
  hJps://api.twiJer.com/1.1/statuses/
         men3ons_3meline.json	
  
API	
  Versioning	
  
•  Version	
  as	
  date	
  in	
  URI	
  
     o  Twillo	
  (hJp://www.twilio.com/docs/api/rest/making-­‐calls)	
  -­‐	
  /
        2010-­‐04-­‐01/Accounts/{AccountSid}/Calls	
  
•  Version	
  as	
  a	
  Custom	
  HTTP	
  Header	
  
•  Version	
  as	
  part	
  of	
  Accept	
  Header	
  
•  Version	
  as	
  part	
  of	
  Content-­‐Type	
  
Community	
  
•  Ac3ve	
  user	
  community	
  is	
  an	
  ‘asset’	
  
•  Protect	
  them	
  
•  Encourage	
  them	
  
•  Facilitate	
  them	
  
    o  Forums	
  
    o  Ra3ngs	
  
    o  Discussion	
  boards/wikis	
  
    o  Compe33ons	
  
    o  Offers	
  
    o  Early	
  adaptor/beta	
  users	
  
    o  Advisory	
  panels	
  
CommunicaEon/NoEficaEon	
  
•  Constantly	
  communicate	
  with	
  your	
  community	
  
   o  Upcoming	
  features	
  
   o  Offers/compe33ons,	
  etc.	
  
•  Support	
  for	
  automa3c	
  no3fica3ons	
  
   o  Subscrip3on	
  capabili3es	
  
   o  Selec3on/filtering	
  capabili3es	
  
Tooling	
  Support	
  
•  SDKs	
  
•  CLIs	
  
•  Stubs	
  /	
  generators	
  
	
  
API	
  Lifecycle	
  
•  An	
  API	
  can	
  pass	
  through	
  mul3ple	
  states	
  
•  Can	
  be	
  one	
  of,	
  
      •  CREATED	
  
      •  PUBLISHED	
  
      •  DEPRECATED	
  
      •  RETIRED	
  
      •  BLOCKED	
  
•    Integra3on	
  with	
  a	
  complete	
  governance	
  lifecycle	
  –	
  
     upcoming	
  feature	
  
API	
  Lifecycle	
  
API	
  Lifecycle	
  
API	
  Lifecycle	
  
API	
  Lifecycle	
  
API	
  Lifecycle	
  
Service	
  vs	
  API	
  Lifecycle	
  
Cra$ing	
  APIs	
  |	
  Consumable	
  APIs	
  
Consumable	
  APIs	
  
•  Adver3sing	
  
•  Subscrip3ons	
  
•  Authoriza3on	
  
    o    Mechanism	
  
•  Access	
  Token	
  
    o    Lifecycle	
  
    o    Management	
  
•  Extensible	
  
•  Collec3ng	
  Sta3s3cs	
  
•  Monitoring	
  
Consumable	
  APIs	
  
•  Metering	
  
•  Billing/Mone3za3on	
  
•  Deployment	
  
•  Scaling	
  
•  Maintenance	
  
   o    Running	
  Repairs	
  
   o    End	
  of	
  life	
  process	
  
Support	
  for	
  AdverEsing/MarkeEng	
  
•  Display	
  on	
  a	
  store	
  !!!	
  
•  Accessible	
  via	
  a	
  URL	
  
•  Start	
  Adver3sing	
  
     o    Compe33ons	
  
     o    Press	
  
     o    Blogs	
  
     o    Email	
  campaigns	
  
https://store.apicultur.com/
SubscripEon	
  
Subscribers	
  
Authentication Mechanisms
•  HTTP	
  Basic	
  authen3ca3on/SSL	
  
•  Form	
  based	
  authen3ca3on/SSL	
  
•  HTTP	
  Digest	
  authen3ca3on	
  
•  OAuth	
  
   •    OAuth	
  1.0	
  
   •    OAuth	
  2.0	
  
•  SSO	
  
•  Refer	
  Prabath’s	
  “Securing	
  APIs”	
  session	
  
Authentication
Authentication
Authentication
Authentication
Access Token
•  OAuth2	
  Token	
  
•  Lifecycle	
  
   •    Expired	
  -­‐>	
  Refresh	
  Token	
  
   •    Blocked	
  
   •    New	
  version	
  of	
  API	
  
   •    Deprecated	
  API	
  
•  Management	
  
API call with an access token
Extensible
•  Custom	
  sign	
  up	
  UIs	
  
       •    Sign	
  up	
  for	
  Store	
  
       •    Sign	
  up	
  for	
  publisher	
  
•  Custom	
  workflow	
  extensions	
  
       •    Sign	
  up	
  flow	
  for	
  store/publisher	
  
       •    API	
  Subscrip3on	
  flow	
  
•  Custom	
  representa3ons	
  of	
  UI	
  data	
  
       •    Theming	
  
       •    Powered	
  by	
  backend	
  data	
  APIs	
  -­‐>	
  JSON	
  
•  Custom	
  Data	
  Summariza3on	
  formats	
  
	
  
https://store.apicultur.com/
Collecting Statistics
•  During	
  API	
  Invoca3ons….	
  	
  
Event Stream Definition
Statistics Storage
Metering
•  API	
  Access	
  Sta3s3cs	
  -­‐>	
  Metering	
  data	
  
•  Metering	
  Data	
  -­‐>	
  Billing	
  System	
  
•  Exten3ons	
  
   •    Ability	
  to	
  create	
  custom	
  summary	
  data	
  
        •  Apache	
  Hive	
  Scripts	
  	
  
   •    Mul3ple	
  data	
  source	
  support	
  
Monetization
•  Decision	
  for	
  having	
  an	
  API	
  should	
  be	
  backed	
  by	
  a	
  
       clear	
  objec3ve.	
  Can	
  be	
  one	
  of,	
  
       •    Developer	
  adop3on	
  
       •    Community	
  building	
  
       •    Revenue	
  genera3on	
  
       •    And	
  many	
  more..	
  
•  Revenue	
  Genera3on	
  ….	
  
       o  Requires	
  a	
  billing	
  model	
  
	
  
	
  
Billing Models
•  Per-­‐transac3on	
  charging	
  
•  Subscrip3on-­‐based	
  charging	
  
•  Volume-­‐based	
  charging	
  
•  Zero-­‐ra3ng	
  
Billing Models




Source: John Musser,ProgrammableWeb, http://www.slideshare.net/jmusser/open-apis-whats-hot-whats-
not-12506063
Billing Models




Source: John Musser,ProgrammableWeb, http://www.slideshare.net/jmusser/open-apis-whats-hot-whats-
not-12506063
Billing Generation
Deployment - Standalone
Deployment - Standalone
Scaling
Maintenance
•  Regular	
  Monitoring	
  
   •    Access	
  paJerns	
  
   •    Load	
  averages	
  
   •    Geographical	
  Distribu3on	
  
•  Re3ring	
  
   •    Depreca3on	
  Process	
  
        •  No3fica3on	
  
        •  Migra3on	
  
   •    End	
  of	
  Life	
  
In return…
•  Yet	
  another	
  product	
  
•  Increasing	
  
   •    Revenue	
  
        •  Direct/In-­‐direct	
  
        •  Mone3ze	
  enterprise	
  data	
  
   •    Community/Developer	
  Innova3on	
  
   •    Awareness	
  
   •    Partner	
  Integra3on	
  
Next in line..
Thank you….
•  Contact	
  
    •    bizdev@wso2.com
    •    sumedha@wso2.com	
  
•  Visit	
  us	
  @	
  WSO2Con	
  -­‐	
  2013	
  

Contenu connexe

En vedette

Securing APIs
Securing APIsSecuring APIs
Securing APIsWSO2
 
WSO2 Guest Webinar: WSO2 Identity Server: Adding Hardware Security Module Wit...
WSO2 Guest Webinar: WSO2 Identity Server: Adding Hardware Security Module Wit...WSO2 Guest Webinar: WSO2 Identity Server: Adding Hardware Security Module Wit...
WSO2 Guest Webinar: WSO2 Identity Server: Adding Hardware Security Module Wit...WSO2
 
Enterprise Security Requirements
Enterprise Security RequirementsEnterprise Security Requirements
Enterprise Security RequirementsWSO2
 
Scaling Apache Storm - Strata + Hadoop World 2014
Scaling Apache Storm - Strata + Hadoop World 2014Scaling Apache Storm - Strata + Hadoop World 2014
Scaling Apache Storm - Strata + Hadoop World 2014P. Taylor Goetz
 
Realtime Analytics with Storm and Hadoop
Realtime Analytics with Storm and HadoopRealtime Analytics with Storm and Hadoop
Realtime Analytics with Storm and HadoopDataWorks Summit
 
Storm: distributed and fault-tolerant realtime computation
Storm: distributed and fault-tolerant realtime computationStorm: distributed and fault-tolerant realtime computation
Storm: distributed and fault-tolerant realtime computationnathanmarz
 
Apache Storm 0.9 basic training - Verisign
Apache Storm 0.9 basic training - VerisignApache Storm 0.9 basic training - Verisign
Apache Storm 0.9 basic training - VerisignMichael Noll
 
Hadoop Summit Europe 2014: Apache Storm Architecture
Hadoop Summit Europe 2014: Apache Storm ArchitectureHadoop Summit Europe 2014: Apache Storm Architecture
Hadoop Summit Europe 2014: Apache Storm ArchitectureP. Taylor Goetz
 

En vedette (10)

Securing APIs
Securing APIsSecuring APIs
Securing APIs
 
WSO2 Guest Webinar: WSO2 Identity Server: Adding Hardware Security Module Wit...
WSO2 Guest Webinar: WSO2 Identity Server: Adding Hardware Security Module Wit...WSO2 Guest Webinar: WSO2 Identity Server: Adding Hardware Security Module Wit...
WSO2 Guest Webinar: WSO2 Identity Server: Adding Hardware Security Module Wit...
 
Enterprise Security Requirements
Enterprise Security RequirementsEnterprise Security Requirements
Enterprise Security Requirements
 
Resource Aware Scheduling in Apache Storm
Resource Aware Scheduling in Apache StormResource Aware Scheduling in Apache Storm
Resource Aware Scheduling in Apache Storm
 
Scaling Apache Storm - Strata + Hadoop World 2014
Scaling Apache Storm - Strata + Hadoop World 2014Scaling Apache Storm - Strata + Hadoop World 2014
Scaling Apache Storm - Strata + Hadoop World 2014
 
Realtime Analytics with Storm and Hadoop
Realtime Analytics with Storm and HadoopRealtime Analytics with Storm and Hadoop
Realtime Analytics with Storm and Hadoop
 
Yahoo compares Storm and Spark
Yahoo compares Storm and SparkYahoo compares Storm and Spark
Yahoo compares Storm and Spark
 
Storm: distributed and fault-tolerant realtime computation
Storm: distributed and fault-tolerant realtime computationStorm: distributed and fault-tolerant realtime computation
Storm: distributed and fault-tolerant realtime computation
 
Apache Storm 0.9 basic training - Verisign
Apache Storm 0.9 basic training - VerisignApache Storm 0.9 basic training - Verisign
Apache Storm 0.9 basic training - Verisign
 
Hadoop Summit Europe 2014: Apache Storm Architecture
Hadoop Summit Europe 2014: Apache Storm ArchitectureHadoop Summit Europe 2014: Apache Storm Architecture
Hadoop Summit Europe 2014: Apache Storm Architecture
 

Similaire à Crafting Consumable APIs

API Gateways are going through an identity crisis
API Gateways are going through an identity crisisAPI Gateways are going through an identity crisis
API Gateways are going through an identity crisisChristian Posta
 
Global Azure 2022 - Architecting Modern Serverless APIs with Azure Functions ...
Global Azure 2022 - Architecting Modern Serverless APIs with Azure Functions ...Global Azure 2022 - Architecting Modern Serverless APIs with Azure Functions ...
Global Azure 2022 - Architecting Modern Serverless APIs with Azure Functions ...Callon Campbell
 
Open API and API Management - Introduction and Comparison of Products: TIBCO ...
Open API and API Management - Introduction and Comparison of Products: TIBCO ...Open API and API Management - Introduction and Comparison of Products: TIBCO ...
Open API and API Management - Introduction and Comparison of Products: TIBCO ...Kai Wähner
 
API Economy, Realizing the Business Value of APIs
API Economy, Realizing the Business Value of APIsAPI Economy, Realizing the Business Value of APIs
API Economy, Realizing the Business Value of APIsColdFusionConference
 
How to Build, Manage, and Promote APIs
How to Build, Manage, and Promote APIsHow to Build, Manage, and Promote APIs
How to Build, Manage, and Promote APIsWSO2
 
WSO2 Product Release Webinar - WSO2 API Manager 1.9
WSO2 Product Release Webinar - WSO2 API Manager 1.9WSO2 Product Release Webinar - WSO2 API Manager 1.9
WSO2 Product Release Webinar - WSO2 API Manager 1.9WSO2
 
Architecting an Enterprise API Management Strategy
Architecting an Enterprise API Management StrategyArchitecting an Enterprise API Management Strategy
Architecting an Enterprise API Management StrategyWSO2
 
#SPSOttawa introduction to the #microsoftGraph
#SPSOttawa introduction to the #microsoftGraph#SPSOttawa introduction to the #microsoftGraph
#SPSOttawa introduction to the #microsoftGraphVincent Biret
 
Integrating Alfresco with Portals
Integrating Alfresco with PortalsIntegrating Alfresco with Portals
Integrating Alfresco with PortalsPiergiorgio Lucidi
 
Introducing WSO2 API Manager for Mobile Applications and Rapid Integration
Introducing WSO2 API Manager for Mobile Applications and Rapid IntegrationIntroducing WSO2 API Manager for Mobile Applications and Rapid Integration
Introducing WSO2 API Manager for Mobile Applications and Rapid IntegrationWSO2
 
Exposing services with Azure API Management
Exposing services with Azure API ManagementExposing services with Azure API Management
Exposing services with Azure API ManagementCallon Campbell
 
ConnectPath Introduction
ConnectPath IntroductionConnectPath Introduction
ConnectPath IntroductionCloudHesive
 
WSO2Con USA 2017: Brokerage as a Service (BaaS), Transforming Fidelity Broker...
WSO2Con USA 2017: Brokerage as a Service (BaaS), Transforming Fidelity Broker...WSO2Con USA 2017: Brokerage as a Service (BaaS), Transforming Fidelity Broker...
WSO2Con USA 2017: Brokerage as a Service (BaaS), Transforming Fidelity Broker...WSO2
 
Redesigning PayPal APIs for Scale and Simplicity - QCon San Francisco 2013
Redesigning PayPal APIs for Scale and Simplicity - QCon San Francisco 2013Redesigning PayPal APIs for Scale and Simplicity - QCon San Francisco 2013
Redesigning PayPal APIs for Scale and Simplicity - QCon San Francisco 2013Deepak Nadig
 
Event-Based API Patterns and Practices
Event-Based API Patterns and PracticesEvent-Based API Patterns and Practices
Event-Based API Patterns and PracticesLaunchAny
 
Building Content-Rich Java Apps in the Cloud with the Alfresco API
Building Content-Rich Java Apps in the Cloud with the Alfresco APIBuilding Content-Rich Java Apps in the Cloud with the Alfresco API
Building Content-Rich Java Apps in the Cloud with the Alfresco APIJeff Potts
 
Event Bus as Backbone for Decoupled Microservice Choreography (Oracle Code, A...
Event Bus as Backbone for Decoupled Microservice Choreography (Oracle Code, A...Event Bus as Backbone for Decoupled Microservice Choreography (Oracle Code, A...
Event Bus as Backbone for Decoupled Microservice Choreography (Oracle Code, A...Lucas Jellema
 
Portal and Intranets
Portal and Intranets Portal and Intranets
Portal and Intranets Redar Ismail
 

Similaire à Crafting Consumable APIs (20)

API Gateways are going through an identity crisis
API Gateways are going through an identity crisisAPI Gateways are going through an identity crisis
API Gateways are going through an identity crisis
 
Global Azure 2022 - Architecting Modern Serverless APIs with Azure Functions ...
Global Azure 2022 - Architecting Modern Serverless APIs with Azure Functions ...Global Azure 2022 - Architecting Modern Serverless APIs with Azure Functions ...
Global Azure 2022 - Architecting Modern Serverless APIs with Azure Functions ...
 
Open API and API Management - Introduction and Comparison of Products: TIBCO ...
Open API and API Management - Introduction and Comparison of Products: TIBCO ...Open API and API Management - Introduction and Comparison of Products: TIBCO ...
Open API and API Management - Introduction and Comparison of Products: TIBCO ...
 
API Economy, Realizing the Business Value of APIs
API Economy, Realizing the Business Value of APIsAPI Economy, Realizing the Business Value of APIs
API Economy, Realizing the Business Value of APIs
 
How to Build, Manage, and Promote APIs
How to Build, Manage, and Promote APIsHow to Build, Manage, and Promote APIs
How to Build, Manage, and Promote APIs
 
WSO2 Product Release Webinar - WSO2 API Manager 1.9
WSO2 Product Release Webinar - WSO2 API Manager 1.9WSO2 Product Release Webinar - WSO2 API Manager 1.9
WSO2 Product Release Webinar - WSO2 API Manager 1.9
 
Open Banking & Open Insurance
Open Banking & Open InsuranceOpen Banking & Open Insurance
Open Banking & Open Insurance
 
M meijer api management - tech-days 2015
M meijer   api management - tech-days 2015M meijer   api management - tech-days 2015
M meijer api management - tech-days 2015
 
Architecting an Enterprise API Management Strategy
Architecting an Enterprise API Management StrategyArchitecting an Enterprise API Management Strategy
Architecting an Enterprise API Management Strategy
 
#SPSOttawa introduction to the #microsoftGraph
#SPSOttawa introduction to the #microsoftGraph#SPSOttawa introduction to the #microsoftGraph
#SPSOttawa introduction to the #microsoftGraph
 
Integrating Alfresco with Portals
Integrating Alfresco with PortalsIntegrating Alfresco with Portals
Integrating Alfresco with Portals
 
Introducing WSO2 API Manager for Mobile Applications and Rapid Integration
Introducing WSO2 API Manager for Mobile Applications and Rapid IntegrationIntroducing WSO2 API Manager for Mobile Applications and Rapid Integration
Introducing WSO2 API Manager for Mobile Applications and Rapid Integration
 
Exposing services with Azure API Management
Exposing services with Azure API ManagementExposing services with Azure API Management
Exposing services with Azure API Management
 
ConnectPath Introduction
ConnectPath IntroductionConnectPath Introduction
ConnectPath Introduction
 
WSO2Con USA 2017: Brokerage as a Service (BaaS), Transforming Fidelity Broker...
WSO2Con USA 2017: Brokerage as a Service (BaaS), Transforming Fidelity Broker...WSO2Con USA 2017: Brokerage as a Service (BaaS), Transforming Fidelity Broker...
WSO2Con USA 2017: Brokerage as a Service (BaaS), Transforming Fidelity Broker...
 
Redesigning PayPal APIs for Scale and Simplicity - QCon San Francisco 2013
Redesigning PayPal APIs for Scale and Simplicity - QCon San Francisco 2013Redesigning PayPal APIs for Scale and Simplicity - QCon San Francisco 2013
Redesigning PayPal APIs for Scale and Simplicity - QCon San Francisco 2013
 
Event-Based API Patterns and Practices
Event-Based API Patterns and PracticesEvent-Based API Patterns and Practices
Event-Based API Patterns and Practices
 
Building Content-Rich Java Apps in the Cloud with the Alfresco API
Building Content-Rich Java Apps in the Cloud with the Alfresco APIBuilding Content-Rich Java Apps in the Cloud with the Alfresco API
Building Content-Rich Java Apps in the Cloud with the Alfresco API
 
Event Bus as Backbone for Decoupled Microservice Choreography (Oracle Code, A...
Event Bus as Backbone for Decoupled Microservice Choreography (Oracle Code, A...Event Bus as Backbone for Decoupled Microservice Choreography (Oracle Code, A...
Event Bus as Backbone for Decoupled Microservice Choreography (Oracle Code, A...
 
Portal and Intranets
Portal and Intranets Portal and Intranets
Portal and Intranets
 

Plus de WSO2

Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessWSO2
 
How to Create a Service in Choreo
How to Create a Service in ChoreoHow to Create a Service in Choreo
How to Create a Service in ChoreoWSO2
 
Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023WSO2
 
Platform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on AzurePlatform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on AzureWSO2
 
GartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdfGartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdfWSO2
 
[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in Minutes[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in MinutesWSO2
 
Modernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos IdentityModernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos IdentityWSO2
 
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...WSO2
 
CIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdfCIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdfWSO2
 
Delivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing ChoreoDelivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing ChoreoWSO2
 
Fueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected ProductsFueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected ProductsWSO2
 
A Reference Methodology for Agile Digital Businesses
 A Reference Methodology for Agile Digital Businesses A Reference Methodology for Agile Digital Businesses
A Reference Methodology for Agile Digital BusinessesWSO2
 
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)WSO2
 
Lessons from the pandemic - From a single use case to true transformation
 Lessons from the pandemic - From a single use case to true transformation Lessons from the pandemic - From a single use case to true transformation
Lessons from the pandemic - From a single use case to true transformationWSO2
 
Adding Liveliness to Banking Experiences
Adding Liveliness to Banking ExperiencesAdding Liveliness to Banking Experiences
Adding Liveliness to Banking ExperiencesWSO2
 
Building a Future-ready Bank
Building a Future-ready BankBuilding a Future-ready Bank
Building a Future-ready BankWSO2
 
WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2
 
[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIsWSO2
 
[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native DeploymentWSO2
 
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”WSO2
 

Plus de WSO2 (20)

Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with Platformless
 
How to Create a Service in Choreo
How to Create a Service in ChoreoHow to Create a Service in Choreo
How to Create a Service in Choreo
 
Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023
 
Platform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on AzurePlatform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on Azure
 
GartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdfGartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdf
 
[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in Minutes[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in Minutes
 
Modernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos IdentityModernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos Identity
 
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
 
CIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdfCIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdf
 
Delivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing ChoreoDelivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing Choreo
 
Fueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected ProductsFueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected Products
 
A Reference Methodology for Agile Digital Businesses
 A Reference Methodology for Agile Digital Businesses A Reference Methodology for Agile Digital Businesses
A Reference Methodology for Agile Digital Businesses
 
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
 
Lessons from the pandemic - From a single use case to true transformation
 Lessons from the pandemic - From a single use case to true transformation Lessons from the pandemic - From a single use case to true transformation
Lessons from the pandemic - From a single use case to true transformation
 
Adding Liveliness to Banking Experiences
Adding Liveliness to Banking ExperiencesAdding Liveliness to Banking Experiences
Adding Liveliness to Banking Experiences
 
Building a Future-ready Bank
Building a Future-ready BankBuilding a Future-ready Bank
Building a Future-ready Bank
 
WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021
 
[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs
 
[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment
 
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
 

Crafting Consumable APIs

  • 1. Cra$ing  Consumable  APIs   with   WSO2  API  Manager   Sumedha  Rubasinghe,  WSO2   November,  2012  
  • 3. Cra$ing  APIs  |  Consumable  APIs  
  • 4. Cra$ing  APIs  |  Consumable  APIs  
  • 5. Cra$ing  APIs   •  API  Design   •  API  Interface   •  Documenta3on   •  Versioning   •  Adver3sing   •  Community  Building   •  Feedback/Discussion  Channel   •  Communica3on/no3fica3on   •  Tooling   •  Lifecycle  
  • 6. API  Design   •  Joshua  Bloch,  How  To  Design  A  Good  API  And  Why  It  MaJers,  hJp:// www.youtube.com/watch?v=aAb7hSCtvGw  
  • 7. API  Interface   •  Contract  between  you  &  outside  world   o  Honor  it  –  all  the  3me   •  Input  formats   •  Output  formats   •  Availability   •  Performance  figures   •  QoS  
  • 8. DocumentaEon   •  Most  important  channel  between  your  APIs  &   developers   •  Has  to  be,   o  Up-­‐to-­‐date   o  Descrip3ve   o  Sufficient  examples   o  Reader  friendly   o  Intui3ve   o  Searchable  
  • 9. API  Versioning   •  Evolu3on  !!   •  Backward  compa3bility  of,   o  Func3onality   •  Forward  compa3bility  of   o  Access  Tokens   o  Rates/ThroJling  agreements   •   Different  versioning  mechanisms  
  • 10. API  Versioning   •  Version  as  query  parameter   o  Ne`lix  -­‐   hJp://api.ne`lix.com/catalog/3tles/series/70023522?v=1.5   o Google  Data  API  -­‐  “GData-­‐Version:  X.0″₺  or  “v=X.0″₺   •  Version  as  part  of  URI   o  Salesforce  -­‐  hJps://na1.salesforce.com/services/data/v20.0/ sobjects/Account/   o  TwiJer  -­‐  hJps://api.twiJer.com/1.1/statuses/ men3ons_3meline.json  
  • 11. API  Versioning   •  Version  as  date  in  URI   o  Twillo  (hJp://www.twilio.com/docs/api/rest/making-­‐calls)  -­‐  / 2010-­‐04-­‐01/Accounts/{AccountSid}/Calls   •  Version  as  a  Custom  HTTP  Header   •  Version  as  part  of  Accept  Header   •  Version  as  part  of  Content-­‐Type  
  • 12. Community   •  Ac3ve  user  community  is  an  ‘asset’   •  Protect  them   •  Encourage  them   •  Facilitate  them   o  Forums   o  Ra3ngs   o  Discussion  boards/wikis   o  Compe33ons   o  Offers   o  Early  adaptor/beta  users   o  Advisory  panels  
  • 13. CommunicaEon/NoEficaEon   •  Constantly  communicate  with  your  community   o  Upcoming  features   o  Offers/compe33ons,  etc.   •  Support  for  automa3c  no3fica3ons   o  Subscrip3on  capabili3es   o  Selec3on/filtering  capabili3es  
  • 14. Tooling  Support   •  SDKs   •  CLIs   •  Stubs  /  generators    
  • 15. API  Lifecycle   •  An  API  can  pass  through  mul3ple  states   •  Can  be  one  of,   •  CREATED   •  PUBLISHED   •  DEPRECATED   •  RETIRED   •  BLOCKED   •  Integra3on  with  a  complete  governance  lifecycle  –   upcoming  feature  
  • 21. Service  vs  API  Lifecycle  
  • 22. Cra$ing  APIs  |  Consumable  APIs  
  • 23. Consumable  APIs   •  Adver3sing   •  Subscrip3ons   •  Authoriza3on   o  Mechanism   •  Access  Token   o  Lifecycle   o  Management   •  Extensible   •  Collec3ng  Sta3s3cs   •  Monitoring  
  • 24. Consumable  APIs   •  Metering   •  Billing/Mone3za3on   •  Deployment   •  Scaling   •  Maintenance   o  Running  Repairs   o  End  of  life  process  
  • 25. Support  for  AdverEsing/MarkeEng   •  Display  on  a  store  !!!   •  Accessible  via  a  URL   •  Start  Adver3sing   o  Compe33ons   o  Press   o  Blogs   o  Email  campaigns  
  • 29. Authentication Mechanisms •  HTTP  Basic  authen3ca3on/SSL   •  Form  based  authen3ca3on/SSL   •  HTTP  Digest  authen3ca3on   •  OAuth   •  OAuth  1.0   •  OAuth  2.0   •  SSO   •  Refer  Prabath’s  “Securing  APIs”  session  
  • 34. Access Token •  OAuth2  Token   •  Lifecycle   •  Expired  -­‐>  Refresh  Token   •  Blocked   •  New  version  of  API   •  Deprecated  API   •  Management  
  • 35. API call with an access token
  • 36. Extensible •  Custom  sign  up  UIs   •  Sign  up  for  Store   •  Sign  up  for  publisher   •  Custom  workflow  extensions   •  Sign  up  flow  for  store/publisher   •  API  Subscrip3on  flow   •  Custom  representa3ons  of  UI  data   •  Theming   •  Powered  by  backend  data  APIs  -­‐>  JSON   •  Custom  Data  Summariza3on  formats    
  • 38. Collecting Statistics •  During  API  Invoca3ons….    
  • 41. Metering •  API  Access  Sta3s3cs  -­‐>  Metering  data   •  Metering  Data  -­‐>  Billing  System   •  Exten3ons   •  Ability  to  create  custom  summary  data   •  Apache  Hive  Scripts     •  Mul3ple  data  source  support  
  • 42. Monetization •  Decision  for  having  an  API  should  be  backed  by  a   clear  objec3ve.  Can  be  one  of,   •  Developer  adop3on   •  Community  building   •  Revenue  genera3on   •  And  many  more..   •  Revenue  Genera3on  ….   o  Requires  a  billing  model      
  • 43. Billing Models •  Per-­‐transac3on  charging   •  Subscrip3on-­‐based  charging   •  Volume-­‐based  charging   •  Zero-­‐ra3ng  
  • 44. Billing Models Source: John Musser,ProgrammableWeb, http://www.slideshare.net/jmusser/open-apis-whats-hot-whats- not-12506063
  • 45. Billing Models Source: John Musser,ProgrammableWeb, http://www.slideshare.net/jmusser/open-apis-whats-hot-whats- not-12506063
  • 50. Maintenance •  Regular  Monitoring   •  Access  paJerns   •  Load  averages   •  Geographical  Distribu3on   •  Re3ring   •  Depreca3on  Process   •  No3fica3on   •  Migra3on   •  End  of  Life  
  • 51. In return… •  Yet  another  product   •  Increasing   •  Revenue   •  Direct/In-­‐direct   •  Mone3ze  enterprise  data   •  Community/Developer  Innova3on   •  Awareness   •  Partner  Integra3on  
  • 53. Thank you…. •  Contact   •  bizdev@wso2.com •  sumedha@wso2.com   •  Visit  us  @  WSO2Con  -­‐  2013