Uma interface de programação de aplicações, ou API, é um conjunto de definições, regras e protocolos que permitem a comunicação entre duas entidades: usuários (pessoas ou software) e informações (recursos de dados disponibilizados por aplicações on-line e da web).
Hoje, as APIs formam a estrutura básica de aplicativos modernos, melhoram a experiência do usuário e aprimoram os modelos de negócios. Às vezes, uma API pode até ser o próprio modelo de negócio.
As APIs são a “face pública” dos aplicativos, revelando as funções que eles desempenham e as informações que podem fornecer, além de definir o formato adequado das solicitações. Quando um desenvolvedor cria e expõe a API de um aplicativo, ele permite que outros aplicativos se comuniquem com ele.
Em muitos casos, as APIs economizam um tempo valioso do desenvolvedor porque tornam funções comumente usadas prontamente disponíveis. Em vez de duplicar a funcionalidade de um aplicativo existente, os desenvolvedores podem integrar a funcionalidade em seus aplicativos fazendo chamadas para a API do aplicativo existente.
A maneira como cada API é projetada, implantada e funciona depende de seu estilo arquitetônico ou protocolo.
Uma arquitetura de API, ou estilo arquitetônico, refere-se ao design de alto nível de uma API. Isso abrange como a API é estruturada, organizada e seu formato de solicitação/resposta. Um protocolo de API também especifica o formato, ao mesmo tempo em que descreve as mensagens exatas.
As arquiteturas e protocolos de API comuns incluem:
As APIs são uma parte essencial do software moderno. Hoje, organizações e empresas criam ou usam muitos tipos diferentes de APIs, dependendo de suas necessidades.
Os quatro tipos mais comuns de APIs encontrados em organizações hoje são APIs públicas, APIs privadas, APIs de parceiros e APIs de terceiros.
As APIs públicas são acessíveis a usuários fora da sua empresa (monetizadas ou gratuitas) e permitem que você crie parcerias com desenvolvedores terceirizados e expanda todo o seu ecossistema de negócios.
Como as APIs públicas podem ser usadas por desenvolvedores terceirizados para criar novos produtos, elas ajudam a impulsionar a inovação e são uma ferramenta importante para ajudar a construir novas parcerias.
APIs privadas são acessíveis apenas por equipes internas da sua empresa. Eles ajudam você a desbloquear dados e promover a colaboração interna, ou podem oferecer suporte invisível aos aplicativos públicos da sua organização (por exemplo, seu site).
Como as APIs privadas estão disponíveis apenas para usuários internos, as organizações podem criá-las com a otimização em mente. APIs privadas também permitem maior componibilidade para aplicativos modernos, permitindo que as empresas se adaptem às necessidades atuais. Os desenvolvedores podem integrar facilmente APIs privadas ao criar microsserviços, o que reduz o trabalho duplicado entre as equipes.
As APIs de parceiros são usadas para integração direta com parceiros de negócios (por exemplo, quando uma companhia aérea faz parceria com uma rede de hotéis e você pode reservar seu voo e hospedagem simultaneamente). As APIs de parceiros não estão disponíveis publicamente – elas são acessíveis a desenvolvedores selecionados que atendem aos requisitos de autenticação (AuthN) e autorização (AuthZ) de ambas as empresas.
A interoperabilidade fortalece os relacionamentos com APIs parceiras, pois elas quebram silos e permitem que diferentes organizações se comuniquem entre si.
APIs de terceiros são usadas pela sua organização para acessar dados ou recursos que estão ausentes em seus aplicativos e serviços. Essas APIs são executadas no servidor de terceiros e geralmente fornecem um serviço amplamente necessário (um exemplo é a API de processamento de pagamentos Stripe usada por muitos sites de comércio eletrônico). Dependendo da API, eles podem ser usados pela sua organização com ou sem taxa.
Como as APIs de terceiros já são criadas por outro desenvolvedor ou organização, um de seus benefícios claros é a economia de custos. Além disso, as APIs de terceiros funcionam como uma forma essencial para as organizações desenvolverem aplicativos mais rapidamente, pois os desenvolvedores podem usar uma funcionalidade imediatamente em vez de codificá-la eles mesmos.
Quase qualquer linguagem de programação moderna pode ser usada para codificar uma API. Ao codificar uma API, muitos desenvolvedores podem escolher usar um framework. Frameworks fornecem blocos de construção, como bibliotecas de código e outros utilitários necessários que tornam mais rápido e fácil criar aplicativos usando a linguagem.
Cada linguagem de programação geralmente tem uma ou mais estruturas que são populares entre os desenvolvedores. A tabela lista diversas opções de framework (muitas das quais são de código aberto).
A escolha de qual linguagem e estrutura geralmente depende das necessidades do projeto ou das preferências pessoais do desenvolvedor.
As organizações de hoje exigem uma estratégia de API moderna que esteja alinhada com seus objetivos. Uma estratégia de API define um plano de como uma organização irá projetar, desenvolver, gerenciar, governar e proteger suas APIs.
De acordo com as 5 principais lições de API para líderes de engenharia de software da Gartner , há cinco práticas recomendadas para garantir que sua estratégia de API seja forte:
Independentemente do tipo de arquitetura de API que você escolher ou do tipo de API que estiver codificando, é crucial considerar a segurança da API desde o início, não como uma reflexão tardia. Para saber mais sobre como manter suas APIs seguras desde o início e combater problemas comuns, como proliferação de APIs , consulte Segurança de API: Melhores práticas para proteger APIs .
E nem todas as métricas são criadas iguais; saiba mais em Quais 12 métricas monitorar para uma estratégia de API bem-sucedida .
Embora as APIs tenham começado como uma ferramenta para desenvolvedores, elas se tornaram ativos comerciais estratégicos que aumentam a receita e dão suporte à agilidade empresarial. Conectividade de API refere-se ao uso de APIs modulares e reutilizáveis para vincular dados e aplicativos em ambientes nativos da nuvem, com o objetivo de resolver desafios de visibilidade, segurança e governança.
O NGINX oferece uma variedade de recursos gratuitos para atender você em qualquer ponto da sua jornada de API.