O que é uma interface de programação de aplicações (API)?

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.

Como funcionam as APIs?

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.

WhatIsAnAPI-Glossary

A maneira como cada API é projetada, implantada e funciona depende de seu estilo arquitetônico ou protocolo.

Tipos de arquiteturas e protocolos de API

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:

  • REST – Também conhecido como RESTful, esse estilo arquitetônico é baseado nos princípios de transferência de estado representacional . Ele usa métodos HTTP (como GET, POST, PUT e DELETE) e informações abstratas (na forma de recursos e modelos de recursos) para criar estruturas escaláveis, flexíveis e tecnologicamente independentes. Hoje, REST continua sendo a arquitetura de API mais popular.
  • GraphQL – Uma linguagem de consulta de código aberto desenvolvida pela Meta (anteriormente Facebook), as arquiteturas GraphQL permitem a busca de dados de várias fontes por meio de uma chamada de API. Como os clientes solicitam apenas os dados necessários, as APIs GraphQL tendem a ser mais eficientes (embora menos armazenáveis em cache) do que as APIs REST.
  • SOAP – Esta abordagem arquitetônica usa o protocolo de acesso a objetos simples (SOAP). As mensagens SOAP geralmente são formatadas em XML, o que as torna mais volumosas que REST ou GraphQL. Ao contrário das APIs REST, as APIs SOAP têm diretrizes de implementação rígidas que definem a estrutura do protocolo da API.
  • WebSocket – Este protocolo de API é full-duplex, o que significa que o cliente e o servidor podem enviar e receber mensagens simultaneamente. Além disso, o servidor pode enviar uma mensagem que não é uma resposta a uma solicitação do cliente, mas sim (por exemplo) acionada por um evento no lado do servidor. Em contraste, as APIs REST seguem um padrão rigoroso de solicitação-resposta.
  • RPC – Com uma chamada de procedimento remoto , o desenvolvedor pode usar o mesmo código para invocar uma função que é executada em um espaço de endereço diferente (normalmente, em um servidor remoto) de uma função local, sem precisar especificar os detalhes da interação remota. Como vários idiomas podem ser usados, esse protocolo é flexível e comumente usado na comunicação cliente-servidor. Um exemplo de RPC é o gRPC (Google Remote Procedure Call).
Como as APIs são usadas hoje?

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.

APIs públicas

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

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.

APIs de parceiros

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

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.

Quais linguagens de aplicação são usadas para criar APIs?

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).

 

Linguagens

Estruturas

Java

Spring

JavaScript, Node.js

Angular , Express.js , Reagir , Vue

PHP

Laravel , Slim , Symfony

Python

Django , Frasco

Rust

Foguete , Yew , Actix-Web

Ruby

Rails

A escolha de qual linguagem e estrutura geralmente depende das necessidades do projeto ou das preferências pessoais do desenvolvedor.

Exemplos de APIs

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:

  • Não deixe que a governança da API crie gargalos. A governança da API precisa ser equilibrada com a agilidade do desenvolvedor para continuar impulsionando a inovação.
  • Trate as APIs como produtos, mesmo que você não planeje monetizá-las. Certifique-se de que cada API tenha um propósito e um público claros que estejam alinhados com os objetivos do negócio.
  • Descubra suas APIs antes que os hackers o façam. Priorizar a capacidade de descoberta e o monitoramento regular ajuda a evitar violações de segurança.
  • Gerenciar o ciclo de vida das APIs. O gerenciamento abrangente do ciclo de vida da API garante que as APIs continuem funcionando com a segurança adequada.
  • Escolha as tecnologias de API mais adequadas. O que funciona para uma organização pode não ser exatamente o que funciona para a sua, por isso é importante considerar em detalhes suas necessidades específicas de API agora e no futuro.
O que é conectividade de API?

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.