Diferente de integrações do tipo ponto a ponto nas quais um aplicativo se encontra diretamente conectado a uma fonte de dados, as APIs permitem o desacoplamento, ou seja, retiram as dependências diretas entre o aplicativo consumidor da fonte de dados.
Para empresas com um número cada vez mais crescente de sistemas e aplicações que compartilham dados, a integração de APIs faz ainda mais sentido, já que proporciona segurança, flexibilidade, governança, velocidade e reutilização. E justamente sobre este último item que vou comentar neste artigo.
O que é reutilização
Quando falo do reuso de APIs me refiro em optar pela reutilização de uma ou mais funcionalidades de uma API em outras aplicações em vez de adicionar a mesma funcionalidade em uma API existente e em seguida introduzi-la em um aplicativo.
Os beneficiários da reutilização de APIs podem variar dependendo dos negócios da sua empresa:
1. Dentro da própria organização: Acelerar o desenvolvimento de produtos ou serviços que consomem uma determinada informação previamente desenvolvida, como por exemplo, uma API de gerenciamento de endereços pode ser utilizada por uma aplicativo de comércio eletrônico ou sistema ERP.
2. Fora da organização: Ao optar por abrir suas APIs para o mercado, por exemplo, para algum parceiro comercial, a mesma API poderá ser utilizada pelo parceiro para conectar e compartilhar informações em sua solução. No caso de alguma necessidade de personalização, uma nova API deverá será criada, consumindo a API anterior como base para reutilizar as funcionalidades e filtros existentes de acordo com a necessidade e devolvendo apenas as informações necessárias.
Como isso pode ser realizado?
Antes de mais nada, para poder reutilizar uma API, é necessário que você tenha em mente os seguintes tópicos:
1. Objetivo da API
Qual o problema que ela se propõe a resolver?
Existe potencial para consumo deste serviço além do contexto de negócio que ela está sendo demandada?
Quais serão os requisitos para cada cliente consumir?
Quais são as perspectivas de evolução da API no futuro?
2. Segurança da API
Quem terá acesso a API?
Qual o nível de informação será compartilhado com o cliente?
Existirá limite ou restrição de consumo por quantidade de requisição?
Algo que ajudará no desenho de APIs futuras é compreender a direção geral dos negócios, para que assim seja projetada um API que não supra apenas as necessidades do momento mas as futuras também, garantindo a sua reutilização.
Falar de APIs reutilizáveis significa mais que uma redução de tempo e dinheiro no desenvolvimento, pois o reuso representa uma série de outras vantagens para as empresas como:
Entregas mais rápidas de valor ao reutilizar serviços existentes
Otimizar custos para evolução constante de serviços reutilizáveis
Monetização de serviços com potencial para clientes externos
Como deu para notar, desenvolver uma API já pensando na capacidade de reutilização é uma redução significativa de esforços no futuro, e o que você terá em mãos é uma infraestrutura projetada e preparada para mudanças. Dessa forma é possível avançar com mais velocidade em novos projetos graças aos ativos reutilizáveis e organização integrada.
Como promover a reutilização das APIs
Uma das formas para que possamos promover a reutilização de APIs é justamente tomando conhecimento delas. Pode até parecer um pouco simplório, mas na verdade, ter conhecimentos sobre os tipos de APIs e suas funcionalidades ajudará e muito para que os desenvolvedores encontrem APIs reutilizáveis ao seu propósito.
Para isso nada melhor do que os Portais de APIs. Tais plataformas são de extrema relevância quando a questão é engajamento de desenvolvedores e parceiros. A partir delas seu desenvolvedor poderá publicar e promover suas APIs, sua documentação e gerenciá-las.
Além das informações encontradas nos portais de APIs, é necessário que elas tenham algumas características fundamentais para que posteriormente sejam reutilizadas. As APIs deverão ser fáceis de se usar, pois de nada adianta desenvolver a melhor API do mundo se uso desta não é claro, se sua documentação apresenta legibilidade ruim e se suas respostas não apresentam a velocidade esperada. O que acaba por ocorrer é uma frustração na experiência de consumo e outros desenvolvedores não terão interesse em reutilizá-la.
No decorrer do desenvolvimento da API é importante levar em conta o comportamento dos desenvolvedores e o que se espera. Soluções simples como respostas personalizadas, dicas nos status code e links para documentação já ajudam na compreensão do uso de uma API.
Outro ponto que você deve prestar atenção é quanto a estabilidade da sua API. Os usuários precisam ver que a solução criada a partir da API é confiável, afinal quem pensaria em reutilizar um serviço com uma quantidade significativa de bugs e com falhas em sua performance? Lembre-se: uma API deve apresentar soluções para seus usuários e não gerar obstáculos.