@pzfreo #wso2 
API Management Workshop 
JAX London 
Paul Fremantle 
Senaka Fernando 
@pzfreo #wso2
Agenda 
• Introductions and Welcome 
• API Economy and Vision 
• API Management Overview 
• API Management Exercise 
• Short Introduction to WSO2 Identity Server 
• Identity Server demonstration 
@pzfreo #wso2
Open Enterprise 
Credit: KuppingerCole 
@pzfreo #wso2
Changing models of business 
@pzfreo #wso2
Frictionless Business 
• Integration with other companies and organizations 
• API Management 
• Self-signup for developers 
• Almost zero cost per transaction 
• Approaching zero time for onboarding 
@pzfreo #wso2
@pzfreo #wso2
Connected Platform 
@pzfreo #wso2
APIs meet SOA 
@pzfreo #wso2 
8
Managing APIs 
o An API is a business capability delivered over the Internet to 
internal or external consumers 
o Network accessible function 
o Available using standard web protocols 
o With well-defined interfaces 
o Designed for access by third-parties 
o A Managed API is: 
o Actively advertised and subscribe-able 
o Available with SLAs 
o Secured, authenticated, authorized and protected 
o Monitored and monetized with analytics 
@pzfreo #wso2 
9
API Centric Capabilities 
@pzfreo #wso2 
10
API Management Space 
o Create APIs 
o WSO2 Application Server, Data Services Server and ESB, any other platform 
o Find and subscribe/buy APIs 
o API Store and Governance 
o Manage, secure and protect APIs 
o API Management and Gateway 
o Monitor and Monetize APIs 
o API Monitoring and Analytics 
@pzfreo #wso2 
11
Core Concepts 
• Components 
• Users and Roles 
• Lifecycle Management 
• Publisher 
• Store 
• Gateway 
• Deployment 
• Analytics 
@pzfreo #wso2
API Manager Product and Platform 
@pzfreo #wso2 
13
API Manager Components 
@pzfreo #wso2 
14
Roles 
o API Creator 
o Designs, Implements, manages and versions API 
o Understand business and technical requirements 
o Cares about usage and scaling 
o Seeks feedback, ratings, usage 
o API Publisher 
o Publishes, Promotes and encourages consumers to adopt APIs 
o Determines usage patterns and how to best monetize asset 
o Monitors and secures 
o API Consumer 
o Understands the interface definition 
o Subscribes and connects application to API 
o Monitors own usage and cost basis 
o Provides feedback and ratings 
@pzfreo #wso2 
15
API Life Cycle Management 
@pzfreo #wso2 
16
Publisher 
https://apimgr:9443/publisher 
@pzfreo #wso2
Publisher 
@pzfreo #wso2
API Store (Portal) 
@pzfreo #wso2
API Store: Customization 
@pzfreo #wso2
API Store: Social Features 
o Share with fellow developers via social media or mail 
o Embed API link into blogs, Tweets, etc. 
@pzfreo #wso2
Workflows 
o Available for user self-sign up, API subscription and application creation 
o Provides extension point to engage custom workflow. Default sample implementation 
leverages WSO2 Business Process Server, but other engines could be used. 
@pzfreo #wso2
API Gateway Processing Flow 
@pzfreo #wso2
API Access Tokens 
o OAuth2 standard compliant 
o Supports multiple grant types 
o SAML, IWA/NTLM 
o Client credential, Implicit, Password 
o Pre-generated Access Token: can be used from an application, to identify the application 
itself 
o On-demand Access Token: generated via API call, using Consumer Key and Consumer 
Secret - Identifies the end user of an application (web applications, mobile applications) 
@pzfreo #wso2 
24
@pzfreo #wso2
Scalable Deployment 
@pzfreo #wso2
Other deployment aspects 
• Support for staging and migration between 
environments 
• Support for separate gateways for Prod and Sandbox 
• Support for splitting into DMZ / Intranet zones 
• Highly flexible architecture 
@pzfreo #wso2
Analytics 
o API Manager supports out of the box: 
o Google Analytics 
o WSO2 Business Activity Monitor Analytics 
@pzfreo #wso2 
28
Why Analytics are important 
• Build confidence in the API model 
• Understand your customer 
– Not just the developer but also the end-user 
• Help manage services and versions 
– Understand when deprecated services can be retired 
• Plan better 
– Monitor the growth of aggregated API traffic 
– Monitor the growth of specific apps 
@pzfreo #wso2 
29
Sample API Analytics 
@pzfreo #wso2 
30
Multi-Tenancy 
@pzfreo #wso2
Hands on 
• Use the API Publisher 
– As a creator and a publisher 
• Sign up as a third-party developer 
• Subscribe to an API 
• Utilize production and sandbox endpoints 
• View analytics and usage stats 
• Version an API (extension) 
@pzfreo #wso2
Hands on setup 
• VirtualBox VM 
• Ultra-simple node.js backend 
• Pre-configured API manager and Business Activity Monitor 
– Installed 
– Configured to work together 
– Setup to use hostname apimgr 
– Added users and roles 
• A subset of the “Quick Start Guide” http://freo.me/am170-qs 
@pzfreo #wso2
@pzfreo #wso2 
Identity Server and 
Federated Identity
@pzfreo #wso2
Multi-Factor Authentication 
@pzfreo #wso2
Multi-Factor Authentication 
• Something you just forgot 
• Something you just lost 
• Some part of your body you just injured 
@pzfreo #wso2
Tokens 
@pzfreo #wso2
Federated SAML2 
@pzfreo #wso2 
IdIdPP 
IdIdPP 
IdIdPP 
IdIdPP 
SSPP 
SSPP 
SSPP 
SSPP
The Enterprise Identity Bus 
@pzfreo #wso2
Demo 
• Quick overview of Identity Server console 
• Set up of Salesforce domain 
• Definition of the SP in IS 
• Demonstrate login 
• Show Facebook App definition 
• Show Facebook Configuration in IS 
• Change to use Facebook 
• Login with Facebook 
@pzfreo #wso2
Salesforce setup 
@pzfreo #wso2
Identity User Portal 
@pzfreo #wso2
SSO and Identity Federation 
@pzfreo #wso2
Identity Provisioning 
@pzfreo #wso2
Identity Bus 
Tokens and Claims 
@pzfreo #wso2
Identity Bus 
Provisioning Bus 
@pzfreo #wso2
Fine-grained Access Control 
@pzfreo #wso2
@pzfreo #wso2
@pzfreo #wso2 
Carbon Combinations 
• Identity Server + Governance Registry 
• Identity Server + BAM + CEP 
• Identity Server + API Manager 
• Identity Server + App Manager 
• Identity Server + Business Process Server 
• Etc… 
50
@pzfreo #wso2 
App Manager 
Launching Q4 
* 
IdP 
(WSO2 Identity Server) 
(WSO2 Business Activity 
Monitor)
More about WSO2 
• All 100% Open Source under the Apache License 
• A complete middleware platform 
• Sessions @ JAX: 
– Keynote – Connecting the World (Tuesday 9am) 
– Understanding Real Time Event Processing through Football 
• Senaka Fernando – Tuesday 11:45am 
– Apache Stratos: the PaaS from Apache 
• Lakmal Warusawithana – Wednesday 11:30am 
@pzfreo #wso2
Questions? 
@pzfreo #wso2 
https://www.flickr.com/photos/-bast-

Workshop: API Management

  • 1.
    @pzfreo #wso2 APIManagement Workshop JAX London Paul Fremantle Senaka Fernando @pzfreo #wso2
  • 2.
    Agenda • Introductionsand Welcome • API Economy and Vision • API Management Overview • API Management Exercise • Short Introduction to WSO2 Identity Server • Identity Server demonstration @pzfreo #wso2
  • 3.
    Open Enterprise Credit:KuppingerCole @pzfreo #wso2
  • 4.
    Changing models ofbusiness @pzfreo #wso2
  • 5.
    Frictionless Business •Integration with other companies and organizations • API Management • Self-signup for developers • Almost zero cost per transaction • Approaching zero time for onboarding @pzfreo #wso2
  • 6.
  • 7.
  • 8.
    APIs meet SOA @pzfreo #wso2 8
  • 9.
    Managing APIs oAn API is a business capability delivered over the Internet to internal or external consumers o Network accessible function o Available using standard web protocols o With well-defined interfaces o Designed for access by third-parties o A Managed API is: o Actively advertised and subscribe-able o Available with SLAs o Secured, authenticated, authorized and protected o Monitored and monetized with analytics @pzfreo #wso2 9
  • 10.
    API Centric Capabilities @pzfreo #wso2 10
  • 11.
    API Management Space o Create APIs o WSO2 Application Server, Data Services Server and ESB, any other platform o Find and subscribe/buy APIs o API Store and Governance o Manage, secure and protect APIs o API Management and Gateway o Monitor and Monetize APIs o API Monitoring and Analytics @pzfreo #wso2 11
  • 12.
    Core Concepts •Components • Users and Roles • Lifecycle Management • Publisher • Store • Gateway • Deployment • Analytics @pzfreo #wso2
  • 13.
    API Manager Productand Platform @pzfreo #wso2 13
  • 14.
    API Manager Components @pzfreo #wso2 14
  • 15.
    Roles o APICreator o Designs, Implements, manages and versions API o Understand business and technical requirements o Cares about usage and scaling o Seeks feedback, ratings, usage o API Publisher o Publishes, Promotes and encourages consumers to adopt APIs o Determines usage patterns and how to best monetize asset o Monitors and secures o API Consumer o Understands the interface definition o Subscribes and connects application to API o Monitors own usage and cost basis o Provides feedback and ratings @pzfreo #wso2 15
  • 16.
    API Life CycleManagement @pzfreo #wso2 16
  • 17.
  • 18.
  • 19.
    API Store (Portal) @pzfreo #wso2
  • 20.
  • 21.
    API Store: SocialFeatures o Share with fellow developers via social media or mail o Embed API link into blogs, Tweets, etc. @pzfreo #wso2
  • 22.
    Workflows o Availablefor user self-sign up, API subscription and application creation o Provides extension point to engage custom workflow. Default sample implementation leverages WSO2 Business Process Server, but other engines could be used. @pzfreo #wso2
  • 23.
    API Gateway ProcessingFlow @pzfreo #wso2
  • 24.
    API Access Tokens o OAuth2 standard compliant o Supports multiple grant types o SAML, IWA/NTLM o Client credential, Implicit, Password o Pre-generated Access Token: can be used from an application, to identify the application itself o On-demand Access Token: generated via API call, using Consumer Key and Consumer Secret - Identifies the end user of an application (web applications, mobile applications) @pzfreo #wso2 24
  • 25.
  • 26.
  • 27.
    Other deployment aspects • Support for staging and migration between environments • Support for separate gateways for Prod and Sandbox • Support for splitting into DMZ / Intranet zones • Highly flexible architecture @pzfreo #wso2
  • 28.
    Analytics o APIManager supports out of the box: o Google Analytics o WSO2 Business Activity Monitor Analytics @pzfreo #wso2 28
  • 29.
    Why Analytics areimportant • Build confidence in the API model • Understand your customer – Not just the developer but also the end-user • Help manage services and versions – Understand when deprecated services can be retired • Plan better – Monitor the growth of aggregated API traffic – Monitor the growth of specific apps @pzfreo #wso2 29
  • 30.
    Sample API Analytics @pzfreo #wso2 30
  • 31.
  • 32.
    Hands on •Use the API Publisher – As a creator and a publisher • Sign up as a third-party developer • Subscribe to an API • Utilize production and sandbox endpoints • View analytics and usage stats • Version an API (extension) @pzfreo #wso2
  • 33.
    Hands on setup • VirtualBox VM • Ultra-simple node.js backend • Pre-configured API manager and Business Activity Monitor – Installed – Configured to work together – Setup to use hostname apimgr – Added users and roles • A subset of the “Quick Start Guide” http://freo.me/am170-qs @pzfreo #wso2
  • 34.
    @pzfreo #wso2 IdentityServer and Federated Identity
  • 35.
  • 36.
  • 37.
    Multi-Factor Authentication •Something you just forgot • Something you just lost • Some part of your body you just injured @pzfreo #wso2
  • 38.
  • 39.
    Federated SAML2 @pzfreo#wso2 IdIdPP IdIdPP IdIdPP IdIdPP SSPP SSPP SSPP SSPP
  • 40.
    The Enterprise IdentityBus @pzfreo #wso2
  • 41.
    Demo • Quickoverview of Identity Server console • Set up of Salesforce domain • Definition of the SP in IS • Demonstrate login • Show Facebook App definition • Show Facebook Configuration in IS • Change to use Facebook • Login with Facebook @pzfreo #wso2
  • 42.
  • 43.
    Identity User Portal @pzfreo #wso2
  • 44.
    SSO and IdentityFederation @pzfreo #wso2
  • 45.
  • 46.
    Identity Bus Tokensand Claims @pzfreo #wso2
  • 47.
    Identity Bus ProvisioningBus @pzfreo #wso2
  • 48.
  • 49.
  • 50.
    @pzfreo #wso2 CarbonCombinations • Identity Server + Governance Registry • Identity Server + BAM + CEP • Identity Server + API Manager • Identity Server + App Manager • Identity Server + Business Process Server • Etc… 50
  • 51.
    @pzfreo #wso2 AppManager Launching Q4 * IdP (WSO2 Identity Server) (WSO2 Business Activity Monitor)
  • 52.
    More about WSO2 • All 100% Open Source under the Apache License • A complete middleware platform • Sessions @ JAX: – Keynote – Connecting the World (Tuesday 9am) – Understanding Real Time Event Processing through Football • Senaka Fernando – Tuesday 11:45am – Apache Stratos: the PaaS from Apache • Lakmal Warusawithana – Wednesday 11:30am @pzfreo #wso2
  • 53.
    Questions? @pzfreo #wso2 https://www.flickr.com/photos/-bast-