API Centric Enterprises
Sumedha Rubasinghe, WSO2
July, 2013
● Providing the only complete open source componentized cloud
platform
● Dedicated to removing all the stumbling blocks to enterprise
agility
● Enabling you to focus on business logic and business value
● Recognized by leading analyst firms as visionaries and leaders
● Gartner cites WSO2 as visionaries in all 3 categories of
application infrastructure
● Forrester places WSO2 in top 2 for API Management
● Global corporation with offices in USA, UK & Sri Lanka
● 200+ employees and growing
● Business model of selling comprehensive support &
maintenance for our products
About WSO2
150 globally positioned customers
API Centric Enterprises..
Information Systems in Enterprises..
Internal Integration
Internal Upgrades
Partner Integration
Business Expansions
You're not the only one ...
Business APIs - why?
Source : http://www.slideshare.net/jmusser/j-musser-apibizmodels2013
You're not alone..
Source : http://blog.programmableweb.com/2011/05/25/who-belongs-to-the-api-billionaires-club/
You're not alone..
Source : http://blog.programmableweb.com/2011/05/25/who-belongs-to-the-api-billionaires-club/
Challenges
● How to create API centric business?
○ Why?
○ For whom?
● Authentication & Authorization
○ Subscription Management
○ Access Provisioning
● How to control access?
○ Throttling
● Monitoring & SLA
Challenges
● Revenue Generation
○ Stat collection
○ Billing Model
● Selling your APIs
○ Advertising
○ Store
○ Subscription Tiers
● Deployment
○ Fail safe
○ Scalable
● many more..
An API Management Solution will help to
overcome/manage these challenges.
API Management using WSO2 Platform
WSO2 Platform
WSO2 API Manager
● Part of award winning WSO2 Carbon Platform
● API Publishing, API Store, Gateway, Statistics
collection
● Apache2 Licensed
● Only Open Source API Management Platform
● Utilizes proven WSO2 Components
○ WSO2 Enterprise Service Bus
○ WSO2 Identity Server
○ WSO2 Governance Registry
Key ComponentsKey Components
API lifecycle begins ..
● Production ready backend implementation
● Create API
○ API Design
○ Life cycle (created,published, blocked,...)
● Documentation, Samples
● Publish APIs
API Publisher
● Starting point of API creation
● Control API Lifecycle
● Manage API meta data
● Documentation
○ Supporting documents
○ API documentation (Swagger support)
● Versioning
● Subscription Management
● API Visibility Management
API Publisher
● Configuring Throttle settings
● Resource level authorization
● Extensions
○ Custom API definition
API Store
● Store of published APIs
● Enterprise API Store
○ Visibility : internal, partner, external
● Password controlled access
● Self-sign up
○ Authorization flow (coming up)
● Support for multiple user stores
● Theming Support
● Powered by data APIs
○ write your own store
○ Ability to integrate with existing portal
API Store
● Single Sign On (SSO) - existing enterprise portals
● http://store.apicultur.com
API Gateway
● API calls go through API Gateway
● Runtime actions(via handlers):
○ Token validation
○ Statistics collection
○ Throttling checks
● API traffic routing
● Extensions
○ Custom runtime actions
○ Custom routing logic
○ Mediation, enrichment
○ API gateway = WSO2 ESB Core + handlers
API Centric Enterprises - How WSO2 API
Manager can help?
Building API Centric Enterprises
● Identify the need
○ Answer the why question
○ Figure out
■ Audience
■ Business Model
Building API Centric Enterprises
● Protocol Style
○ REST
■ Per resource path authorization scheme
● eg:
○ GET /books/1.0.0/list - application token
○ POST /books/1.0.0/purchase - user token
● Same API (books), different token types
Building API Centric Enterprises
● Data Formats
○ JSON, XML
○ Message Relaying
■ Virtual any data format in message body
■ Not reading message body content
■ Faster message delivery
Building API Centric Enterprises
● Supported backends
○ OOB functionality for SOAP & REST
○ Through extensions:
■ eg:
● Sending to a JMS endpoint
● Write to a file (VFS transport)
● Custom connectors
Building API Centric Enterprises
● API Traffic Routing
○ OOB Support
■ Two endpoints : Production & Sandbox
○ Through extensions:
■ Message header based routing
■ Body based routing
■ User Profile based routing
■ Load balanced routing (default: round robin)
■ Failover endpoint routing
■ many more..
Building API Centric Enterprises
● Mediation Flow
○ OOB Support
■ Request Flow
● Accept the incoming message
● Perform token validation, throttling checks, statistics collection
● Dispatch to endpoint (Production | Sandbox)
■ Response Flow
● Receive response from backend
● Statistics collection
● Dispatch to API invoker
■ Faulty Message Flow
● If an error occurred while communicating with backend
Building API Centric Enterprises
● Mediation Flow
○ Through extensions:
■ Supports any mediation flow supported by WSO2
Enterprise Service Bus
Building API Centric Enterprises
● Connecting to existing User Stores
○ OOB Support
■ LDAP
■ Active Directory
■ Built-in RDBMS schema
■ Connecting to multiple user stores simultaneously
● Internal User Store
● External User Store
Building API Centric Enterprises
● Access Controlling the APIs
○ OOB Support
■ OAuth2 based token support
■ Standard endpoints for token
● obtaining/refreshing/revoking
■ Token Management capabilities
■ Per API invocation statistics collection
■ Token linked to user profile
○ Through extensions:
■ Ability to plugin custom authentication,
authorizations through handlers
Building API Centric Enterprises
● Information passing to backend systems
○ Backend systems tend to have their own AnA logic
○ OOB Support
■ Token is linked to a user profile
■ Obtain details of the user
■ Send to backend using a JWT (JSON Web Token)
Building API Centric Enterprises
● API Statistics
○ OOB support
■ Statistics collection per invocation
■ Request/Response/Faulty flows
■ Default support for storing in WSO2 BAM
● WSO2 BAM features an embedded Cassandra storage
● Analyze/store using Apache Hive
● Reporting on top of analyzed data
○ Through extensions
■ Pump data into different storage
■ Collect data @ different pointcuts
API Statistics
API Statistics
● Data Collection (Agents)
● Data Transfer
● Data Storage
○ scalable
● Post Processing
○ Data Summarization
○ Change of storage
○ Analytics
Building API Centric Enterprises
● App Developer Support
○ Documentation on how Application Developers should
use API Store
○ http://docs.wso2.org/wiki/dashboard.action
○ http://docs.wso2.
org/wiki/display/AM140/WSO2+API+Manager+Documen
tation
Building API Centric Enterprises
● API Versioning Support
○ Version - part of endpoint URI
■ eg: GET books/1.0.1/list
Building API Centric Enterprises
● Throttling Support
○ OOB support
■ Built-in throttling policies
■ Stored in Registry done using XML
○ Through extensions
■ define your own throttling policies
Building API Centric Enterprises
● API Store - Custom Theming
○ Different enterprises have their own themes
○ Existing portals
○ OOB Support
■ 3 built-in sample themes
■ Ability to override
○ Through extensions
■ Powered by backend data APIs (JSON, UT)
■ Write your custom API Store
https://store.apicultur.com
Building API Centric Enterprises
● Deployment Models
○ API Characteristics
■ Access Patterns
■ API domain
○ Volatile access load
■ Sudden spikes
■ Periodic spikes
○ Scalable deployment
■ Hosting Cost vs Benefit
■ Cost of scaling
■ IaaS
Summary
● Having a Business API is considered a strategic
advantage
● Enterprises are moving toward API centric
● WSO2 API Manager is part of WSO2’s Carbon
Middleware Platform
● WSO2 API Manager consists of many enterprise
ready features to convert your enterprise into an
API Centric one.
Engage with WSO2
•Helping you get the most out of your deployments
•From project evaluation and inception to development and
going into production, WSO2 is your partner in ensuring 100%
project success
Response Caching
● Time sensitivity / value of data
● Frequency of access
● Geographical distribution

Api centric enterprises

  • 1.
    API Centric Enterprises SumedhaRubasinghe, WSO2 July, 2013
  • 2.
    ● Providing theonly complete open source componentized cloud platform ● Dedicated to removing all the stumbling blocks to enterprise agility ● Enabling you to focus on business logic and business value ● Recognized by leading analyst firms as visionaries and leaders ● Gartner cites WSO2 as visionaries in all 3 categories of application infrastructure ● Forrester places WSO2 in top 2 for API Management ● Global corporation with offices in USA, UK & Sri Lanka ● 200+ employees and growing ● Business model of selling comprehensive support & maintenance for our products About WSO2
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
    You're not theonly one ...
  • 11.
    Business APIs -why? Source : http://www.slideshare.net/jmusser/j-musser-apibizmodels2013
  • 12.
    You're not alone.. Source: http://blog.programmableweb.com/2011/05/25/who-belongs-to-the-api-billionaires-club/
  • 13.
    You're not alone.. Source: http://blog.programmableweb.com/2011/05/25/who-belongs-to-the-api-billionaires-club/
  • 14.
    Challenges ● How tocreate API centric business? ○ Why? ○ For whom? ● Authentication & Authorization ○ Subscription Management ○ Access Provisioning ● How to control access? ○ Throttling ● Monitoring & SLA
  • 15.
    Challenges ● Revenue Generation ○Stat collection ○ Billing Model ● Selling your APIs ○ Advertising ○ Store ○ Subscription Tiers ● Deployment ○ Fail safe ○ Scalable ● many more..
  • 16.
    An API ManagementSolution will help to overcome/manage these challenges.
  • 17.
    API Management usingWSO2 Platform
  • 18.
  • 19.
    WSO2 API Manager ●Part of award winning WSO2 Carbon Platform ● API Publishing, API Store, Gateway, Statistics collection ● Apache2 Licensed ● Only Open Source API Management Platform ● Utilizes proven WSO2 Components ○ WSO2 Enterprise Service Bus ○ WSO2 Identity Server ○ WSO2 Governance Registry
  • 20.
  • 21.
    API lifecycle begins.. ● Production ready backend implementation ● Create API ○ API Design ○ Life cycle (created,published, blocked,...) ● Documentation, Samples ● Publish APIs
  • 22.
    API Publisher ● Startingpoint of API creation ● Control API Lifecycle ● Manage API meta data ● Documentation ○ Supporting documents ○ API documentation (Swagger support) ● Versioning ● Subscription Management ● API Visibility Management
  • 23.
    API Publisher ● ConfiguringThrottle settings ● Resource level authorization ● Extensions ○ Custom API definition
  • 24.
    API Store ● Storeof published APIs ● Enterprise API Store ○ Visibility : internal, partner, external ● Password controlled access ● Self-sign up ○ Authorization flow (coming up) ● Support for multiple user stores ● Theming Support ● Powered by data APIs ○ write your own store ○ Ability to integrate with existing portal
  • 25.
    API Store ● SingleSign On (SSO) - existing enterprise portals ● http://store.apicultur.com
  • 26.
    API Gateway ● APIcalls go through API Gateway ● Runtime actions(via handlers): ○ Token validation ○ Statistics collection ○ Throttling checks ● API traffic routing ● Extensions ○ Custom runtime actions ○ Custom routing logic ○ Mediation, enrichment ○ API gateway = WSO2 ESB Core + handlers
  • 27.
    API Centric Enterprises- How WSO2 API Manager can help?
  • 28.
    Building API CentricEnterprises ● Identify the need ○ Answer the why question ○ Figure out ■ Audience ■ Business Model
  • 29.
    Building API CentricEnterprises ● Protocol Style ○ REST ■ Per resource path authorization scheme ● eg: ○ GET /books/1.0.0/list - application token ○ POST /books/1.0.0/purchase - user token ● Same API (books), different token types
  • 30.
    Building API CentricEnterprises ● Data Formats ○ JSON, XML ○ Message Relaying ■ Virtual any data format in message body ■ Not reading message body content ■ Faster message delivery
  • 31.
    Building API CentricEnterprises ● Supported backends ○ OOB functionality for SOAP & REST ○ Through extensions: ■ eg: ● Sending to a JMS endpoint ● Write to a file (VFS transport) ● Custom connectors
  • 32.
    Building API CentricEnterprises ● API Traffic Routing ○ OOB Support ■ Two endpoints : Production & Sandbox ○ Through extensions: ■ Message header based routing ■ Body based routing ■ User Profile based routing ■ Load balanced routing (default: round robin) ■ Failover endpoint routing ■ many more..
  • 33.
    Building API CentricEnterprises ● Mediation Flow ○ OOB Support ■ Request Flow ● Accept the incoming message ● Perform token validation, throttling checks, statistics collection ● Dispatch to endpoint (Production | Sandbox) ■ Response Flow ● Receive response from backend ● Statistics collection ● Dispatch to API invoker ■ Faulty Message Flow ● If an error occurred while communicating with backend
  • 34.
    Building API CentricEnterprises ● Mediation Flow ○ Through extensions: ■ Supports any mediation flow supported by WSO2 Enterprise Service Bus
  • 35.
    Building API CentricEnterprises ● Connecting to existing User Stores ○ OOB Support ■ LDAP ■ Active Directory ■ Built-in RDBMS schema ■ Connecting to multiple user stores simultaneously ● Internal User Store ● External User Store
  • 36.
    Building API CentricEnterprises ● Access Controlling the APIs ○ OOB Support ■ OAuth2 based token support ■ Standard endpoints for token ● obtaining/refreshing/revoking ■ Token Management capabilities ■ Per API invocation statistics collection ■ Token linked to user profile ○ Through extensions: ■ Ability to plugin custom authentication, authorizations through handlers
  • 37.
    Building API CentricEnterprises ● Information passing to backend systems ○ Backend systems tend to have their own AnA logic ○ OOB Support ■ Token is linked to a user profile ■ Obtain details of the user ■ Send to backend using a JWT (JSON Web Token)
  • 38.
    Building API CentricEnterprises ● API Statistics ○ OOB support ■ Statistics collection per invocation ■ Request/Response/Faulty flows ■ Default support for storing in WSO2 BAM ● WSO2 BAM features an embedded Cassandra storage ● Analyze/store using Apache Hive ● Reporting on top of analyzed data ○ Through extensions ■ Pump data into different storage ■ Collect data @ different pointcuts
  • 39.
  • 40.
    API Statistics ● DataCollection (Agents) ● Data Transfer ● Data Storage ○ scalable ● Post Processing ○ Data Summarization ○ Change of storage ○ Analytics
  • 41.
    Building API CentricEnterprises ● App Developer Support ○ Documentation on how Application Developers should use API Store ○ http://docs.wso2.org/wiki/dashboard.action ○ http://docs.wso2. org/wiki/display/AM140/WSO2+API+Manager+Documen tation
  • 42.
    Building API CentricEnterprises ● API Versioning Support ○ Version - part of endpoint URI ■ eg: GET books/1.0.1/list
  • 43.
    Building API CentricEnterprises ● Throttling Support ○ OOB support ■ Built-in throttling policies ■ Stored in Registry done using XML ○ Through extensions ■ define your own throttling policies
  • 44.
    Building API CentricEnterprises ● API Store - Custom Theming ○ Different enterprises have their own themes ○ Existing portals ○ OOB Support ■ 3 built-in sample themes ■ Ability to override ○ Through extensions ■ Powered by backend data APIs (JSON, UT) ■ Write your custom API Store
  • 45.
  • 46.
    Building API CentricEnterprises ● Deployment Models ○ API Characteristics ■ Access Patterns ■ API domain ○ Volatile access load ■ Sudden spikes ■ Periodic spikes ○ Scalable deployment ■ Hosting Cost vs Benefit ■ Cost of scaling ■ IaaS
  • 47.
    Summary ● Having aBusiness API is considered a strategic advantage ● Enterprises are moving toward API centric ● WSO2 API Manager is part of WSO2’s Carbon Middleware Platform ● WSO2 API Manager consists of many enterprise ready features to convert your enterprise into an API Centric one.
  • 48.
    Engage with WSO2 •Helpingyou get the most out of your deployments •From project evaluation and inception to development and going into production, WSO2 is your partner in ensuring 100% project success
  • 49.
    Response Caching ● Timesensitivity / value of data ● Frequency of access ● Geographical distribution