Vitor Darela

Gestão do ciclo de vida completo de API com WSO2

O crescimento e constante evolução do uso de sistemas computacionais em todas as áreas do desenvolvimento humano associados à necessidade de as empresas se integrarem umas às outras, para além de oferecerem serviços aos seus clientes através da Internet, resulta na multiplicação de sistemas abertos, que fornecem serviços através de interfaces de comunicação. Muitas empresas existem apenas graças a este tipo de interface de integração – as chamadas APIs (Application Program Interface).

Ao longo dos anos, têm sido criados vários protocolos de comunicação de redes para fornecer uma troca de dados normalizada: RPC, CORBA, DCOM, RMI, WebSocket, SOAP (Serviços Web) e REST. Estes três últimos protocolos são os protocolos que costumam ser mais utilizados, já que são baseados num protocolo de transporte HTTP aberto, que normaliza e populariza a troca de dados e serviços através de APIs públicas ou privadas. O número de APIs que as empresas disponibilizam, tanto interna como externamente, pode crescer exponencialmente em quantidade.

É por causa destes movimentos que a necessidade de documentar e monitorizar a criação e utilização deste APIs está a aumentar.

Principais características da Gestão de API

Algumas das principais características de uma solução de gestão de API são:

  • Performance e Fiabilidade – deve suportar alto throughput sem causar sobrecarga no sistema;
  • Ciclo de vida e Regência – deve fornecer workflows para o desenvolvimento e subscrição de API, versões de API e capacidades de gestão/monitorização;
  • Throttling e Monetização – capaz de controlar o tráfego de API e cobrar pela utilização de API;
  • Envolvimento – fácil acolher novos subscritores, fornecendo um bom e bem documentado ambiente de teste;
  • Composição e Instrumentalização – capaz de implementar funcionalidades específicas numa API (por exemplo, ligar 2 APIs diferentes e receber um resultado conjunto).

O ciclo de vida de API WSO2

O gestor de API WSO2 supera estes desafios com um conjunto de características de criação, publicação, gestão do ciclo de vida, divulgação, monetização, regência, segurança, etc.

Desde desenhar a construir e utilizar uma API, existe um processo que envolve engenharia, publicação e administração. Este processo é denominado Ciclo de vida de API. O clico de vida de uma API é algo crucial e estratégico para uma organização. Geralmente, a definição do ciclo de vida é definida em: Planear e Desenhar o API, Desenvolver o API, Testar o API, Fazer deploy do API, Reformar o API. O Gestor de API WSO2 tem fluxos mais detalhados de cada ciclo, em que pode criar sub-fluxos dentro de cada ciclo, como, por exemplo: em Reformar o API, antes de se proceder à remoção, existe o fluxo de bloqueamento. Quando uma API é bloqueada, é possível fazer deprecate da API ou voltar ao estado de publicação. Desta maneira, cada empresa pode definir o seu ciclo de vida e trabalhar internamente de acordo com as suas necessidades.  Uma das principais propriedades diferenciadoras do Gestor API WSO2 é o facto de ter liberdade total para modificar todos os fluxos internos e customizá-los de acordo com as suas necessidades.

O Gestor de API WSO2 define, por predefinição, este ciclo entre os seguintes componentes:

Imagem 1 – Arquitetura e ciclo de vida da API
  • API Publisher: responsável pela criação, monitorização, gestão e publicação de APIs. É a web interface para Criadores e Publishers de API.
  • API Portal (Portal do developer):web interface destinada a consumidores de APIs, developers, etc. Nesta interface, é possível explorar as APIs existentes, testar, subscrever e monitorizar todos as APIs subscritos pelo utilizador.
  • API Gateway:O Gateway é o componente principal do Gestor de API. Recebe todas as chamadas de API e redireciona-as para backend, mas antes de as redirecionar, é necessário passar este pedido pelo Key Manager e pelo Gestor de Tráfego para validar todas as políticas de seguranças antes de proceder.
  • Key Manager: responsável por todas as autenticações e segurança de API, trata de toda a gestão do ciclo de vida de Token Oauth.
  • Gestor de Tráfego: responsável por todas as partes da política de Throttling, logo, verifica se as chamadas pertencem a algum utilizador com limitações de pedidos nessa API e se o utilizador não esgotou o limite de pedidos.
  • Analytics:Analytics é um motor de análise a tempo real, que, para além de expor gráficos detalhados das APIs, também trata da monitorização em tempo real, gerando vários tipos de alertas como incidentes de segurança, chamadas anormais para uma determinada API, etc.

O Gestor de API WSO2 é uma solução API muito robusta e completa, tendo como propriedade diferenciadora toda a sua interface de implementação gráfica, que o diferencia de muitos adversários que têm um maior foco no Gateway, para construir um gateway robusto e não dão muita importância aos outros componentes necessários para o ciclo de vida da API, como a Loja e o Publisher. WSO2 colocou-se na frente com este produto, porque é capaz de responder a todos os aspetos de uma solução completa, quer seja com um gateway muito robusto ou com uma interface intuitiva que facilita o deploy e todo o ciclo de vida. É por causa disto que, no quadrante Gartner, o Gestor de API WSO2 é considerado um “Visionário”.

Só para ficar com uma ideia da robustez do produto, com uma configuração mínima recomendada, cada nó consegue suportar até 3000 TPS (Transações Por Segundo).

Se quiser saber mais sobre o Gestor de API WSO2 e as suas características, aceda ao website de  Gestor de API WSO2 e explore todas as possibilidades de implementação.

Vitor Darela

Senior Consultant, Xpand IT

Vitor DarelaGestão do ciclo de vida completo de API com WSO2
read more

Full Life Cycle API Management with WSO2

The growth and constant evolution of the use of computer systems in all areas of human development, together with the need of companies to integrate with each other, besides offering services to their clients through the Internet, results in the multiplication of open systems, which provide services through communication interfaces. Many companies exist only because of this type of integration interface – the so called APIs (Application Program Interface).

Over the years, several network communication protocols have been created to provide standardized data exchange: RPC, CORBA, DCOM, RMI, WebSocket, SOAP (Web Services) and REST. These last three protocols are the most commonly used protocols since they are based on an open HTTP transport protocol, standardizing and popularizing the exchange of data and services, through public or private APIs. The amount of APIs made available by companies, both internally and externally, can grow exponentially in quantity.

Because of these movements there will be a growing need to document and monitor the creation and use of these APIs.

Key features of API Management

Some of the key features of an API management solution include:

  • Performance and Reliability– must support high throughput with reduced overhead;
  • Lifecycle and Governance– should provide workflows for API development and subscription, API versioning and management/monitoring capabilities;
  • Throttling and Monetization– capable of controlling API traffic and charge for API usage;
  • Engagement– easy to onboard new subscribers, providing a good and well documented test environment;
  • Composition and Orchestration– able to implement specific functionality to an API (e.g. call 2 different APIs and return aggregated result).

The WSO2 API lifecycle

WSO2 API Manager overcomes these challenges with a set of features for creating, publishing, lifecycle management, release, monetization, governance, security, etc.

From designing to building and using an API, there is a process that involves engineering, publishing and administration this process is called the API Lifecycle. The life cycle of an API is something crucial and strategic for an organization. Generally, the definition of the life cycle is defined in Planning and Designing the API, Developing the API, Testing the API, Deploying the API, Retiring the API. WSO2 API Manager has more detailed flows for each cycle, where you can create sub flows within each cycle, for example: In the Retiring the API, before doing the removal there is the blocking flow, where when an API is blocked it is possible to deprecate the API or return to the published state. In this way, each company can define its life cycle, and work internally according to its needs. One of the great differentials of WSO2 API Manager is that you have complete freedom to modify all internal flows and customize according to your needs.

By default the WSO2 API Manager defines this cycle between the components below:

Picture 1 – API life cycle and Architecture
  • API Publisher:Is responsible for creating, monitoring, managing, and publishing the APIs. It is the web interface for API Creators and Publishers.
  • API Portal (Developer Portal):Web interface intended for consumers of APIs, developers etc. In this interface it is possible to explore the existing APIs, test, subscribe and monitor all the APIs that were subscribed by the user.
  • API Gateway:The Gateway is the main component of the API Manager, it receives all API calls and forwards to the backend, before forwarding it, it is necessary to pass this request on to Key Manager and Traffic Management to validate all the policies of security before proceeding.
  • Key Manager: responsible for all authentication and security of the API, takes care of all Token Oauth lifecycle management.
  • Traffic Manager: takes care of every part of Throttling’s policy, thus verifying if the calls belong to some user with limitation of request in that API and if the user has not exhausted his limit of requests.
  • Analytics:Analytics is a real-time analytics engine, which in addition to exposing detailed graphs about the APIs, also takes care of the real-time monitoring part generating several types of alerts such as security incident, abnormal calls to a certain API, etc.

WSO2 API Manager is a very robust and complete API solution, having as a differential its entire graphical implementation interface, which differs a lot from the competitors that have a greater focus on the Gateway, to build a robust gateway and not giving much focus to the other components needed for the API lifecycle such as the Store and the Publisher. WSO2 came out ahead with this product because it was able to meet all aspects of full solution either with a very robust gateway as well as an intuitive interface facilitating deploy and the entire lifecycle. Due to this, in the Gartner quadrant, the WSO2 API Manager is considered as a “Visionary”.

Just to get an idea of the robustness of the product, with a minimum recommended configuration, each node can support up to 3000 TPS (Transactions Per Second).

If you’d like to know more about WSO2 API Manager and its features, go to WSO2 API Manager web site and explore all implementation possibilities.

Vitor Darela

Senior Consultant, Xpand IT

Vitor DarelaFull Life Cycle API Management with WSO2
read more