Workshop: API Management

53
@pzfreo #wso2 API Management Workshop JAX London Paul Fremantle Senaka Fernando @pzfreo #wso2

description

Co-Founder and CTO, Paul Fremantle and Solutions Architect, Senaka Fernando facilitated this workshop at Jax London 2014. The workshop illustrated how API management helps organizations participate in the API Economy; with the first half of the workshop looking at the overall landscape and approaches, while the second half focusing on using Open Source API Management tooling to expose, monitor and manage APIs.

Transcript of Workshop: API Management

Page 1: Workshop: API Management

@pzfreo #wso2

API Management WorkshopJAX London

Paul FremantleSenaka Fernando

@pzfreo #wso2

Page 2: Workshop: API Management

@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

Page 3: Workshop: API Management

@pzfreo #wso2

Open EnterpriseCredit: KuppingerCole

Page 4: Workshop: API Management

@pzfreo #wso2

Changing models of business

Page 5: Workshop: API Management

@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

Page 6: Workshop: API Management

@pzfreo #wso2

Page 7: Workshop: API Management

@pzfreo #wso2

Connected Platform

Page 8: Workshop: API Management

@pzfreo #wso2

APIs meet SOA

8

Page 9: Workshop: API Management

@pzfreo #wso2

Managing APIs

o An API is a business capability delivered over the Internet to internal or external consumerso Network accessible function o Available using standard web protocolso With well-defined interfaceso Designed for access by third-parties

o A Managed API is:o Actively advertised and subscribe-ableo Available with SLAso Secured, authenticated, authorized and protectedo Monitored and monetized with analytics

9

Page 10: Workshop: API Management

@pzfreo #wso2

API Centric Capabilities

10

Page 11: Workshop: API Management

@pzfreo #wso2

API Management Spaceo Create APIs

o WSO2 Application Server, Data Services Server and ESB, any other platform

o Find and subscribe/buy APIso API Store and Governance

o Manage, secure and protect APIso API Management and Gateway

o Monitor and Monetize APIso API Monitoring and Analytics

11

Page 12: Workshop: API Management

@pzfreo #wso2

Core Concepts

• Components• Users and Roles• Lifecycle Management• Publisher• Store• Gateway• Deployment• Analytics

Page 13: Workshop: API Management

@pzfreo #wso2

API Manager Product and Platform

13

Page 14: Workshop: API Management

@pzfreo #wso2

14

API Manager Components

Page 15: Workshop: API Management

@pzfreo #wso2

Roles

o API Creatoro 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 Publishero Publishes, Promotes and encourages consumers to adopt APIs

o Determines usage patterns and how to best monetize asset

o Monitors and secures

o API Consumero Understands the interface definition

o Subscribes and connects application to API

o Monitors own usage and cost basis

o Provides feedback and ratings

15

Page 16: Workshop: API Management

@pzfreo #wso2

API Life Cycle Management

16

Page 17: Workshop: API Management

@pzfreo #wso2

Publisherhttps://apimgr:9443/publisher

Page 18: Workshop: API Management

@pzfreo #wso2

Publisher

Page 19: Workshop: API Management

@pzfreo #wso2

API Store (Portal)

Page 20: Workshop: API Management

@pzfreo #wso2

API Store: Customization

Page 21: Workshop: API Management

@pzfreo #wso2

API Store: Social Features

o Share with fellow developers via social media or mailo Embed API link into blogs, Tweets, etc.

Page 22: Workshop: API Management

@pzfreo #wso2

Workflows

o Available for user self-sign up, API subscription and application creationo Provides extension point to engage custom workflow. Default sample implementation

leverages WSO2 Business Process Server, but other engines could be used.

Page 23: Workshop: API Management

@pzfreo #wso2

API Gateway Processing Flow

Page 24: Workshop: API Management

@pzfreo #wso2

API Access Tokenso OAuth2 standard complianto 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)

24

Page 25: Workshop: API Management

@pzfreo #wso2

Page 26: Workshop: API Management

@pzfreo #wso2

Scalable Deployment

Page 27: Workshop: API Management

@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

Page 28: Workshop: API Management

@pzfreo #wso2

Analytics

o API Manager supports out of the box:o Google Analyticso WSO2 Business Activity Monitor Analytics

28

Page 29: Workshop: API Management

@pzfreo #wso2

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

29

Page 30: Workshop: API Management

@pzfreo #wso2

Sample API Analytics

30

Page 31: Workshop: API Management

@pzfreo #wso2

Multi-Tenancy

Page 32: Workshop: API Management

@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)

Page 33: Workshop: API Management

@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

Page 34: Workshop: API Management

@pzfreo #wso2

Identity Server and Federated Identity

Page 35: Workshop: API Management

@pzfreo #wso2

Page 36: Workshop: API Management

@pzfreo #wso2

Multi-Factor Authentication

Page 37: Workshop: API Management

@pzfreo #wso2

Multi-Factor Authentication

• Something you just forgot• Something you just lost• Some part of your body you just injured

Page 38: Workshop: API Management

@pzfreo #wso2

Tokens

Page 39: Workshop: API Management

@pzfreo #wso2

Federated SAML2

IdPIdP

IdPIdP

IdPIdP

IdPIdP

SPSP

SPSP

SPSP

SPSP

Page 40: Workshop: API Management

@pzfreo #wso2

The Enterprise Identity Bus

Page 41: Workshop: API Management

@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

Page 42: Workshop: API Management

@pzfreo #wso2

Salesforce setup

Page 43: Workshop: API Management

@pzfreo #wso2

Identity User Portal

Page 44: Workshop: API Management

@pzfreo #wso2

SSO and Identity Federation

Page 45: Workshop: API Management

@pzfreo #wso2

Identity Provisioning

Page 46: Workshop: API Management

@pzfreo #wso2

Identity Bus Tokens and Claims

Page 47: Workshop: API Management

@pzfreo #wso2

Identity BusProvisioning Bus

Page 48: Workshop: API Management

@pzfreo #wso2

Fine-grained Access Control

Page 49: Workshop: API Management

@pzfreo #wso2

Page 50: Workshop: API Management

@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

Page 51: Workshop: API Management

@pzfreo #wso2

App Manager Launching Q4

*

IdP (WSO2 Identity Server)

(WSO2 Business Activity Monitor)

Page 52: Workshop: API Management

@pzfreo #wso2

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

Page 53: Workshop: API Management

@pzfreo #wso2

Questions?

https://www.flickr.com/photos/-bast-