Date post: | 16-Apr-2017 |
Category: |
Technology |
Upload: | wso2-inc |
View: | 607 times |
Download: | 0 times |
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
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
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 : 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