Interfaces de programação de aplicativos, ou APIs, estão na moda.
Embora as APIs não sejam novas, fenômenos recentes, como a transformação digital acelerada durante a COVID-19, integrações de software aprimoradas e esforços para reformular aplicativos legados para a nuvem, resultaram em uma proliferação contínua de APIs , impactando o gerenciamento, a segurança e até mesmo as escolhas arquitetônicas que as organizações fazem para ter sucesso na economia digital moderna.
As APIs, em essência, podem representar a ascensão das máquinas. Exceto que, felizmente, os humanos ainda têm controle sobre sua construção, gerenciamento e segurança (pelo menos por enquanto).
Fundamentalmente, na “linguagem de API” (por assim dizer), o consumidor geralmente envia consultas ou solicitações ao produtor , por meio de interfaces unificadas que consistem em vários padrões, esquemas e especificações.
Por exemplo, o Serviço Nacional de Meteorologia (o produtor ) contém dados meteorológicos diários. O aplicativo de clima no seu telefone (o consumidor ) chama, ou mais especificamente, consulta, este sistema por meio da API REST do WeatherKit e, em seguida, renderiza os dados por meio da interface do usuário do aplicativo de clima. Embora este seja um exemplo simples de um aplicativo popular usado por milhões de usuários , vale ressaltar que a comunicação máquina a máquina representa a maior parte do tráfego para experiências digitais modernas e é alimentada por APIs.
Há uma série de benefícios tecnológicos que se traduzem em valor comercial proporcionado pelas APIs:
Benefício da tecnologia | Valor do negócio |
---|---|
Resumo da implementação subjacente de um aplicativo web. | As organizações podem implantar rapidamente aplicativos móveis e arquiteturas baseadas em microsserviços. |
Especifique tipos para que os desenvolvedores possam implementar consumidores de API por meio de ferramentas. | Os líderes podem otimizar os processos de desenvolvimento para facilitar o tempo de colocação do produto no mercado. |
Defina semântica/comportamento para modelar troca de informações consistente e previsível. | Os parceiros podem desenvolver e monetizar integrações de terceiros. |
Quando se trata da implementação de APIs, há uma série de considerações. Especificamente, com relação à modelagem, controle de versão e testes de contrato, que ajudam a desacoplar dependências e garantir a interoperabilidade durante o projeto, a construção e a manutenção.
Consideração | Descrição | Beneficiar |
---|---|---|
Modelagem | A semântica ou comportamento para representar e estruturar a troca de informações. | Gerenciamento simplificado de arquiteturas distribuídas. |
Controle de versão | Estratégias de governança para lançamento e manutenção durante todo o ciclo de vida da API. | Máxima usabilidade e compatibilidade com versões anteriores. |
Teste de contrato | Interação definida e respostas esperadas entre o consumidor e o produtor. | Interações determinísticas com integrações de negócios de terceiros. |
Não há uma maneira certa ou errada de construir, gerenciar e proteger uma API. Na verdade, quando as APIs começaram a proliferar, tornou-se necessário padronizar o formato e a estrutura das APIs para consumi-las em escala. Entre na Iniciativa OpenAPI e na resultante Especificação OpenAPI (OAS). O Swagger foi a implementação de referência original da especificação OpenAPI, e a maioria das ferramentas agora convergiu para o uso do OpenAPI, que ainda mantém seu estilo (HA!)
Na verdade, uma API pode ser construída usando uma variedade de padrões, esquemas e especificações. Por exemplo, uma apresentação RESTful , um serviço gRPC e conexões em um esquema GraphQL .
Implementação | Visão geral | Benefícios | Quando usar |
---|---|---|---|
![]() |
REST é de longe a implementação mais amplamente implantada de arquiteturas baseadas em API. |
|
|
![]() |
GraphQL é uma linguagem de consulta e manipulação de dados de código aberto para APIs e um tempo de execução para atender a essas consultas com dados existentes (desenvolvido pelo Facebook e agora parte da Linux Foundation). |
|
|
![]() |
gRPC é uma estrutura moderna, de código aberto e de alto desempenho de Chamada de Procedimento Remoto (RPC) sob a administração da Linux Foundation. |
|
|
Com essa introdução aos fundamentos da API, exploraremos como construir, gerenciar e proteger a arquitetura da API em postagens subsequentes antes de juntar tudo, reformulando um aplicativo legado para a nuvem.
Quer progredir? Baixe o eBook hoje mesmo: