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 permite a comunicação entre duas entidades: usuários (pessoas ou softwares) e informações (recursos de dados disponibilizados por aplicações online e web).
Hoje, as APIs constituem a estrutura básica dos 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ócios.
Como as APIs funcionam?
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 disponibiliza a API de um aplicativo, ele permite que outros aplicativos se comuniquem com esse aplicativo.
Em muitos casos, as APIs poupam um tempo valioso dos desenvolvedores, pois disponibilizam prontamente funções de uso comum. Em vez de duplicar a funcionalidade de uma aplicação existente, os desenvolvedores podem integrá-la às suas próprias aplicações fazendo chamadas à API da aplicação existente.
A forma como cada API é projetada, implantada e funciona depende de seu estilo arquitetural ou protocolo.
Tipos de arquiteturas e protocolos de API
Uma arquitetura de API, ou estilo arquitetural, refere-se ao design de alto nível de uma API. Isso abrange como a API é estruturada e organizada, bem como seu formato de solicitação/resposta. Um protocolo de API também especifica o formato, além de descrever as mensagens exatas.
Arquiteturas e protocolos de API comuns incluem:
- REST – Também conhecido como RESTful, esse estilo arquitetural se baseia nos princípios da transferência de estado representacional. Ele usa métodos HTTP (como GET, POST, PUT e DELETE) e informações abstraídas (na forma de recursos e modelos de recursos) para criar estruturas escaláveis, flexíveis e tecnologicamente independentes. Atualmente, REST continua sendo a arquitetura de API mais popular.
- GraphQL – Uma linguagem de consulta de código aberto desenvolvida pela Meta (antigo Facebook), as arquiteturas GraphQL permitem buscar dados de várias fontes por meio de uma única 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 – Essa abordagem arquitetural usa o protocolo simples de acesso a objetos (SOAP). As mensagens SOAP geralmente são formatadas em XML, o que as torna mais volumosas do que as mensagens REST ou GraphQL. Ao contrário das APIs REST, as APIs SOAP têm diretrizes rígidas de implementação 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 seja uma resposta a uma solicitação do cliente, mas que seja, por exemplo, acionada por um evento no lado do servidor. Em contrapartida, as APIs REST seguem um padrão estrito de solicitação e resposta.
- RPC – Com uma chamada de procedimento remoto, o desenvolvedor pode usar o mesmo código para invocar uma função executada em um espaço de endereçamento diferente (normalmente, em um servidor remoto) e uma função local, sem precisar especificar os detalhes da interação remota. Como várias linguagens podem ser usadas, esse protocolo é flexível e amplamente utilizado na comunicação cliente-servidor. Um exemplo de RPC é o gRPC (Google Remote Procedure Call).
Como as APIs são usadas atualmente?
As APIs são uma parte essencial dos softwares modernos. Hoje, organizações e empresas criam ou usam diversos tipos de APIs, de acordo com suas necessidades.
Os quatro tipos mais comuns de APIs encontrados nas organizações atualmente são APIs públicas, APIs privadas, APIs de parceiros e APIs de terceiros.
APIs públicas
As APIs públicas podem ser acessadas por usuários externos à sua empresa (de forma monetizada ou gratuita) e permitem estabelecer parcerias com desenvolvedores terceirizados e expandir todo o ecossistema de negócios da sua empresa.
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 estabelecer novas parcerias.
APIs privadas
As APIs privadas são acessíveis apenas às equipes internas da sua empresa. Elas ajudam a liberar o acesso aos dados e a promover a colaboração interna, ou podem dar suporte, de forma 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 desenvolvê-las com foco em otimização. As APIs privadas também proporcionam maior capacidade de composição para aplicações modernas, permitindo que as empresas se adaptem às necessidades atuais. Os desenvolvedores podem integrar facilmente APIs privadas ao criar microsserviços, o que reduz a duplicação de trabalho entre as equipes.
APIs de parceiros
As APIs de parceiros são usadas para integração direta com parceiros comerciais (por exemplo, quando uma companhia aérea firma parceria com uma rede de hotéis, permitindo que você reserve simultaneamente o voo e a hospedagem). As APIs de parceiros não estão disponíveis publicamente — elas podem ser acessadas por desenvolvedores selecionados que atendam aos requisitos de autenticação (AuthN) e autorização (AuthZ) de ambas as empresas.
A interoperabilidade fortalece as relações por meio das APIs de parceiros, pois elas eliminam silos e permitem que diferentes organizações se comuniquem entre si.
APIs de terceiros
As APIs de terceiros são usadas pela sua organização para acessar dados ou recursos que não estão disponíveis em seus aplicativos e serviços. Essas APIs são executadas no servidor do terceiro e geralmente fornecem um serviço amplamente necessário (um exemplo é a API de processamento de pagamentos da Stripe, usada por muitos sites de comércio eletrônico). Dependendo da API, sua organização pode usá-la gratuitamente ou mediante pagamento.
Como as APIs de terceiros já são desenvolvidas por outro desenvolvedor ou organização, um de seus benefícios evidentes é a redução de custos. Além disso, elas são uma forma essencial de as organizações desenvolverem aplicativos mais rapidamente, pois os desenvolvedores podem usar uma funcionalidade de imediato, em vez de programá-la por conta própria.
Quais linguagens de programação são usadas para criar APIs?
Praticamente qualquer linguagem de programação moderna pode ser usada para programar uma API. Ao programar uma API, muitos desenvolvedores podem optar por usar um framework. Os frameworks fornecem componentes básicos, como bibliotecas de código e outros utilitários necessários, que tornam mais rápido e fácil desenvolver aplicações usando a linguagem.
Cada linguagem de programação geralmente tem um ou mais frameworks populares entre os desenvolvedores. A tabela apresenta várias opções de frameworks (muitas delas de código aberto).
Idiomas
Frameworks
Java
JavaScript, Node.js
Angular, Express.js, React, Vue
PHP
Python
Rust
Ruby
A escolha da linguagem e do framework geralmente depende das necessidades do projeto ou das preferências pessoais do desenvolvedor.
Exemplos de APIs
Hoje, as organizações precisam de uma estratégia de API moderna e alinhada aos seus objetivos. Uma estratégia de API define um plano para a organização projetar, desenvolver, gerenciar, administrar e proteger suas APIs.
De acordo com as 5 principais lições da Gartner sobre APIs para líderes de engenharia de software, há cinco práticas recomendadas para garantir que sua estratégia de API seja sólida:
- Não deixe que a governança de APIs crie gargalos. A governança de APIs precisa ser equilibrada com a agilidade dos desenvolvedores para continuar impulsionando a inovação.
- Trate as APIs como produtos, mesmo que você não pretenda monetizá-las. Certifique-se de que cada API tenha um propósito e um público-alvo claros e alinhados aos objetivos de negócios.
- 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.
- Gerencie o ciclo de vida das APIs. O gerenciamento abrangente do ciclo de vida das APIs garante que elas continuem funcionando com a segurança adequada.
- Escolha as tecnologias de API mais adequadas. O que funciona para uma organização pode não funcionar exatamente para a sua. Por isso, é importante analisar detalhadamente suas necessidades específicas de API, tanto atuais quanto futuras.
Independentemente do tipo de arquitetura de API escolhido ou do tipo de API que você esteja desenvolvendo, é fundamental considerar a segurança da API desde o início, e não como algo a ser pensado posteriormente. Para saber mais sobre como manter suas APIs seguras desde o início e combater problemas comuns, como a proliferação de APIs, consulte Segurança de APIs: práticas recomendadas para proteger APIs.
E nem todas as métricas são iguais. Saiba mais em Quais são as 12 métricas que devem ser monitoradas para uma estratégia de API bem-sucedida.
O que é conectividade de APIs?
Embora as APIs tenham surgido como uma ferramenta para desenvolvedores, elas evoluíram e se tornaram ativos estratégicos de negócios que aumentam a receita e promovem a agilidade empresarial. A conectividade de APIs refere-se ao uso de APIs modulares e reutilizáveis para conectar dados e aplicações em ambientes nativos da nuvem, com o objetivo de solucionar desafios relacionados à visibilidade, à segurança e à governança.

