planning your api journey: the lifecycle of an api

18
Planning Your API Journey:The Lifecycle of an API Lalaji Sureshika Associate Technical Lead, WSO2 Chamila Adhikarinayake Software Engineer, WSO2

Upload: wso2-inc

Post on 16-Apr-2017

608 views

Category:

Technology


0 download

TRANSCRIPT

Planning Your API Journey:The Lifecycle of an API

Lalaji SureshikaAssociate Technical Lead, WSO2

Chamila AdhikarinayakeSoftware Engineer, WSO2

An API

o A= Application P= Programming I = Interface

o A contract provided by one piece of computer software to another

o

Facebook Infrastructure

Interfaces

My ApplicationAPI calls

Why a Good API

o For API Providers

-- Increase interest and sales in the company products and services

-- Brand building

-- Increase website traffic

o For API consumers

-- Integration with different services/infrastructures

-- Customizable data

To have a Good API

o Have a proper RESTful Design & Implementation

-- Intuitive

-- Secured

-- Stable & Consistent

o Have proper API Lifecycle Management

Lifecycle of an API

o An agile process for managing the life of an API

Why API Lifecycle Management

o Increase reliability,stability and the availability of an API

o Enables effective collaboration between business,developers and IT

operations

o Manages the version strategy for an API

o Helps to attract app developers to adopt API

WSO2 API Manager o A complete 100% open-source solution for designing and publishing APIs,

creating and managing a developer community, and for scalably routing

API traffic.

o Capable of;

-- API Lifecycle management

-- API portal view for discover

-- API runtime [gateway and API key management]

o It leverages proven, production-ready integration, security, and governance

components from the WSO2 Enterprise Service Bus, WSO2 Identity

Server, and WSO2 Governance Registry.

http://wso2.com/api-management/try-it/

WSO2 API Manager

http://wso2.com/api-management/try-it/

WSO2 API Manager Default API Lifecycle

WSO2 API Manager Default API Lifecycle

o CREATED: API metadata is added to the API Store, but it is not deployed in the API gateway

and therefore, is not visible to subscribers in the API Store.

o PROTOTYPED: the API is deployed and published in the API Store as a prototype. A prototyped

API is usually a mock implementation made public in order to get feedback about its usability.

Users can invoke the API without a subscription.

o PUBLISHED: The API is visible in the API Store and available for subscription.

WSO2 API Manager Default API Lifecycle

o DEPRECATED: When an API is deprecated, new subscriptions are disabled. But the API is still

deployed in the Gateway and is available at runtime to existing subscribers. Existing subscribers

can continue to use it as usual until the API is retired.

o RETIRED: The API is unpublished from the API gateway and deleted from the store.

o BLOCKED: Access to the API is temporarily blocked. Runtime calls are blocked and the API is

not shown in the API Store anymore.

With previous WSO2 API Manager releases o The API lifecycle is a pre-configured one

-- Lifecycle states are static

-- The state transition execution process is pre-defined

o Couldn’t modify to have custom lifecycle states /execution processes

based on organization needs

Example Requirements:

-- Change the API lifecycle states environmental specific

-- Add custom execution processes such as workflow approval

processes/notification processes during state transition

What’s new in WSO2 API Manager 1.10.0

o Ability to plug a configurable API lifecycle [xml based]

o Ability to customize life-cycle states & state transition execution process

o Dynamic UI for API Publisher lifecycle tab view

o Have integrated WSO2 Governance Registry lifecycles

http://wso2.com/library/tutorials/lifecycles-aspects-wso2-governance-registry/

Demo - Extending the default API lifecycle

Use-Case :

An organization needs to govern the APIs across multiple environments through common API Publisher.

QA Environment

Performance testing Environment

Common API Publisher

Demo:Design the Lifecycle

Demo : Developing the Executor to move APIs across environments

1. Use publisher REST api -- Allows any user with create permission

-- Creates the structure of the api

https://docs.wso2.com/display/AM1100/apidocs/publisher/

2. Use import/export api feature-- Required admin permission-- Exports the API and it’s dependencies (images, documents,sequences, etc.)

https://docs.wso2.com/display/AM1100/Migrating+the+APIs+to+a+Different+Environment

Questions?