Faaaala galera, todos bem? Espero que sim! O texto de hoje vai ser um pouco mais extenso...
No post anterior a gente comentou sobre quem é você no rolê da firma, pontuando alguns dos perfis existentes dentro do desenvolvimento de software...
"Ah Rodrigo, mas não tem só isso..."
Verdade! eu disse que foi um apanhado bem específico da área onde eu atuo que é o desenvolvimento de software; mas existem várias descrições dentro da área de TI, do desenvolvimento ou fora dele, inclusive pra designar um mesmo cargo (haja sigla, em português, em inglês, uns bem auto descritivo, outros nem tanto).
Mas ainda falando do texto anterior eu dei introdução a uma palavrinha - e vou puxar a sardinha pro meu universo, o Backend - que acho que é legal a gente detalhar um pouco hoje:
- API - Application Programming Interface - O que é, como se reproduzem, o que comem? Calma...
A interface de programação de aplicação (API do inglês) nada mais é do que uma maneira que se criou de permitir a comunicação entre sistemas, usando variados tipos de protocolos (galera de redes e de circuitos tão ligados, né?) , isso vem bastante herdado do conceito de redes de computadores, protocolos de comunicação, envio/recebimento de pacotes e como cada unidade computacional pode ser integrada a um conceito maior e construir um novo conjunto de serviços.
Uma das primeiras interfaces visuais, foram as telas verdes com cursores de entrada de dados que piscavam numa tela que lembrava muito as TVs de cubo que a gente ainda vê por ai, eu já tive uma dessas TVs e vocês? Hahaha
E com a evolução dos conceitos dentro da computação, as APIs hoje são representações abstratas de sistemas que produzem algum tipo de interface (meio que permite que execuções internas possam ser consumidas externamente) que perpetuam o conceito de envio/recebimento mas agora não apenas dos pacotes e não apenas por uma rede privada, mas agora também pela imensidão da Internet. Essa troca segue outro, o conceito de cliente/servidor, onde o que chamamos de cliente, ou seja, outro sistema ou outra API que se deseja se comunicar com quem serve/disponibiliza a informação o servidor. Essa comunicação tem por objetivo suprir um dado fluxo de negocio.
"Caramba Rodrigo, buguei aqui, como assim?"
Vamos a um exemplo prático: Eu estou desenvolvendo uma API que precisa ter em uma das rotinas os dados de endereço dado um CEP qualquer. Neste instante eu posso fazer uma integração a outra API, por exemplo, a dos correios que possui detalhamento do endereço passando como parâmetro o CEP do lugar, neste momento eu posso criar esse mecanismo de integração entre as interfaces do cliente/servidor, pegando o CEP e usando para consumir a API dos correios e receber como resposta os detalhes do dado, como rua, cidade, estado, se a rua é uma avenida ou uma travessa...
Deu pra entender melhor o conceito?
Como esse tópico é um pouco mais extenso, pra fazermos um corte pra uma parte III, fica aqui algumas opções de protocolos de APIs que existem hoje por aí...
- API SOAP
- API REST
- API WEBSOCKET
- API RPC
Na próxima podemos detalhar cada uma delas, beleza, que tal...? E você gostou desse conteúdo? Que tipos de APIs você já trabalhou, quais os desafios que encontrou, me conta aí nos comentários?!
Até a próxima pessoal!
Top comments (0)