Login / Registre-se Account

Integração

O que é API REST?

API REST, também chamada de API RESTful, é uma interface de programação de aplicações que segue conformidade com as restrições da arquitetura REST. A sigla REST significa Representational State Transfer (Transferência Representacional de Estado, em português).

Uma interface de programação de aplicações (API) é um conjunto de definições e protocolos para criar e integrar softwares de aplicações. Às vezes, as APIs são referidas como um contrato entre um provedor e um usuário de informações, estabelecendo o conteúdo exigido pelo consumidor (a chamada) e o conteúdo exigido pelo produtor (a resposta). Por exemplo, uma API de um serviço meteorológico pode especificar que o usuário forneça um CEP e o produtor responda em duas partes, a primeira contendo a temperatura mais elevada e a segunda com a temperatura mais baixa.  

Em outras palavras, ao interagir com um computador ou sistema para recuperar informações ou executar uma função, a API ajudará a comunicar o que você quer ao sistema para que ele entenda e realize o que foi solicitado. 

Pense nas APIs como um mediador entre os usuários ou clientes e os recursos que eles querem obter. As APIs também servem para que organizações compartilhem recursos e informações e, ao mesmo tempo, mantenham a segurança e o controle, pois permitem determinar quem tem acesso e o que pode ser acessado. 

Outra vantagem de usar APIs é que não é necessário saber todos os detalhes sobre como os recursos são recuperados ou qual é a origem deles.

REST

REST não é um protocolo ou padrão, mas sim um conjunto de princípios de arquitetura. Os desenvolvedores de API podem implementar a arquitetura REST de maneiras variadas.

Quando uma solicitação é feita por meio de uma API RESTful, essa API transfere uma representação do estado do recurso ao solicitante. Essa informação, ou representação, é fornecida utilizando um dos vários formatos possíveis via HTTP: Javascript Object Notation (JSON), HTML, XLT ou texto simples. O formato JSON é o mais usado porque, apesar de seu nome, é independente de qualquer linguagem e pode ser lido por máquinas e humanos. 

Para que uma API seja considerada do tipo RESTful, ela precisa está em conformidade com os seguintes critérios:

  • Ter uma arquitetura cliente/servidor formada por clientes, servidores e recursos, com solicitações gerenciadas por meio de HTTP.
  • Realizar comunicação cliente/servidor stateless. Isso significa que cada solicitação é separada e não conectada com outras, e que nenhuma informação do cliente é armazenada entre elas.
  • Armazenar dados em cache para otimizar as interações entre cliente e servidor.
  • Ter uma interface uniforme entre os componentes para que as informações sejam transferidas em um formato padronizado. Para tanto, é necessário que:
    • os recursos solicitados sejam identificáveis e estejam separados das representações enviadas ao cliente;
    • os recursos possam ser manipulados pelo cliente por meio da representação recebida com informações suficientes para tais ações;
    • as mensagens autodescritivas retornadas ao cliente contenham informações suficientes para descrever como processá-las;
    • hipermídia seja incorporada. Isso significa que após acessar um recurso, o cliente precisa ser capaz de usar hiperlinks para encontrar todas as demais ações disponíveis para ele no momento.
  • Ter um sistema em camadas que organiza os tipos de servidores (responsáveis pela segurança, pelo carregamento de carga e assim por diante) envolvidos na recuperação das informações solicitadas em hierarquias que o cliente não pode ver.
  • Possibilitar código sob demanda (opcional): a capacidade de enviar do servidor para o cliente um código executável quando solicitado, a fim de ampliar as funções do cliente. 

Embora uma API REST precise estar em conformidade com os critérios acima, ela é considerada mais fácil de usar do que um protocolo prescrito, como o Protocolo Simples de Acesso a Objetos (SOAP). Esse tipo de protocolo tem requisitos específicos, como o sistema de mensageria XML, além de precisar cumprir com exigências de segurança incorporada e transações, o que o torna mais lento e pesado. 

Em comparação, a arquitetura REST é composta de um conjunto de diretrizes que podem ser implementadas conforme necessário. Isso faz com que as APIs REST sejam mais rápidas e leves, o que é ideal para a Internet das Coisas (IoT) e o desenvolvimento de aplicações mobile

Por que escolher a Red Hat?

Red Hat® Integration é uma solução orientada a APIs que proporciona conectividade de aplicações, transformação de dados, composição e orquestração de serviços, streaming de mensagens em tempo real, coleta de dados de mudanças e gerenciamento de APIs. Tudo isso em um único lugar para conectar aplicações e dados em infraestruturas híbridas. Essa solução é combinada a uma plataforma nativa em nuvem e uma cadeia de ferramentas para viabilizar o desenvolvimento de aplicações modernas. 

O Red Hat 3scale API Management é um componente do Red Hat Integration que permite compartilhar, distribuir, controlar e monetizar APIs em uma plataforma de infraestrutura desenvolvida para proporcionar alto desempenho, controle, segurança e crescimento. Implemente os componentes do 3scale on-premise, na nuvem ou em ambos. 

Algumas ferramentas de integração disponíveis

Red Hat Integration logo

Um conjunto abrangente de tecnologias de integração e mensageria.

Red Hat 3scale API Management

Uma plataforma de gerenciamento de APIs.

Monetização de ativos com o gerenciamento de APIs