Olá, Tudo bem1 Vamos neste artigo direto ao ponto para  entender a comunicação de API Rest.

Uma API – Application Programming Interface – serve para realizar a comunicação entre software-software, ou seja, entre duas aplicações web utilizando o protocolo http. Ela expõe um serviço sem que o software consumidor conheça o interior do aplicativo. Desse modo, podendo ser utilizada  dentro da mesma equipe, ou consumir por aplicativos de terceiros.

Logo, a API, possui a interface para aplicação entre dois software. Tendo a característica primária, interoperabilidade – que é compreendida como uma característica que se refere à capacidade de diversos sistemas e organizações trabalharem em conjunto de modo a garantir que pessoas, organizações e sistemas computacionais interajam para trocar informações de maneira eficaz e eficiente. Criado geralmente pela equipe de desenvolvimento backend.

Voltando ao interface gráfica, UI(User Interface) – tem interface para Humanos, comunicação entre o software e  um humano. Sua característica principal é a usabilidade, que definimos como a facilidade com que as pessoas empregam uma interface gráfica para realização de uma tarefa. Recapitulando essa ideia para ficar mais concisa na característica básica entre API e UI. Veja o resumo abaixo:

API = INTEROPERABILIDADE

UI = USABILIDADE

Então, a API funciona como uma caixa preta, olhado o exterior sem conhecer o interior. Uma boa API precisa ter alta interoperabilidade. Por esse motivo, precisa utilizar um padrão arquitetural estabelecido pela engenharia de software para realizar uma boa comunicação entre software consumir e o disponibilizador. Como estão falando de API Rest utilizaremos o padrão HTTP e troca de dados por JSON, entre os sistemas envolvidos na comunicação.

Quando utilizamos API Rest, vamos implementar o código baseado nos verbs HTTP tais como:

  • GET – Obter dados
  • POST – Criar dados
  • PUT – Atualizar dados
  • DELETE – Deletar dados

Existe outros verbos http, mas estes são os mais relevante para compreender a dinâmica de acesso aos dados. Veremos abaixo uma comunicação entre as camadas API, Controller, Service, Repository

API -> request -> Controller -> request -> Service -> request -> Repository ->request-> Data

API <- response <- Controller <- response <- Service <- response <- Repository <- response <- Data

  • API – É interface comunicação entre o software consumidor e disponibilizador que vamos definir como formato JSON.
  • Controller – É porta de entrada e saída dos dados para o mundo exterior disponibilizado via HTTP. Observação: O Arquiteto de Software também pode restringir os dados de acesso implementando na infraestrutura a rede pública e rede privada. Lembrando que esta parte estrutural não depende exclusivamente do desenvolvedor backend.
  • Service: Responsável por todas as regras de negócios da aplicação fazendo a intermediação entre o controller e repository.
  • Repository: responsável pela comunicação dos dados persistente na camada Data e entregar a resposta ao service.
  • Data: Responsável pelo o armazenamento dos dados, banco de dados, repositório de arquivos de imagens, vídeos.

Acredito que seja pertinente conhecer o CRUD- em banco de dados.

  1. C – Create
  2. R – Read
  3. U – Update
  4. D – Delete

Sempre vamos encaixar os dados crud com verb http

  • CREATE – POST
  • READ – GET
  • UPDATE – PUT
  • DELETE – DELETE

 

Concluímos que os software presente não precisa ser implementado numa mesma linguagem de programação mais precisamos manter uma comunicação entre os mesmo utilizando JSON, formato muito difundido em 2022, pela comunidade de desenvolvedores ativos backend.

 

 

 

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *