Você já parou para pensar na história das integrações e como essa troca de informações tão essencial para todos os negócios é possível?
Nos dias atuais, as APIs são sempre muito bem faladas por facilitar a integração e trabalhar de maneira maravilhosa com o protocolo HTTP. Mas você conhece todos os diferenciais que ela pode te proporcionar?
Hoje, vou contar a história das integrações entre sistemas até chegar na atualidade, e mostrar o motivo pelo qual as APIs estão deixando esse universo tão incrível!
O início
Tudo começou com o saudoso FTP… Talvez você se lembre desse protocolo, onde cada sistema realizava troca de arquivos em um processo bastante simples, mas muito pobre e praticamente sem segurança.
Muitos sistemas trabalhavam com FTPs para poder se comunicar. Utilizando de um “mapa” de descrição de arquivos, cada sistema conseguia ler as informações necessárias e utilizar os dados contidos para realizar atividades críticas. Por exemplo, leitura de dados de venda dos arquivos de cupons fiscais gerados por um PDV (ponto de venda).
Porém, a segurança era feita somente por uma senha. Se um usuário conseguisse a senha, conseguiria pegar todos os arquivos mantidos na pasta e se divertir com o seu sistema inteiro.
Uma troca de informações totalmente sem segurança, controle, na qual o seu sistema inteiro estava vulnerável; mas é aí que se dá inicio a nossa jornada.
O avanço para Web Services
Com a evolução da tecnologia e das linguagens de programação, a integração passou para o próximo nível: os Web Services. Eles conseguem realizar a integração entre parceiros, e, como o próprio nome já nos conta, é um serviço disponível na Internet. Isso significa que é possível disponibilizar uma parte de seu backend através da web, de forma que qualquer um com a URL de chamada do seu serviço consegue acessar e ter um retorno (um XML, por exempo) com as respostas de sua requisição.
Nesse ponto da história já era possível abandonar a manipulação de arquivos de textos por uma tecnologia de XML SOAP mais elaborada e com maiores poderes de organização da informação. Tremendo avanço!
Assim, tornou-se possível identificar nós e tipos de informação, já que na leitura de arquivos era necessário um “mapa” para saber onde estava cada informação e convertê-la para o tipo de dado necessário no sistema do parceiro que estava consumindo a informação.
Apesar deste caminho mais estruturado, ainda é possível encontrar muitas falhas de segurança e controle da informação. Isso porque a exposição desta maneira faz com que a velocidade de alterações seja complicada, sem autenticação e reconhecimento de cada usuário que está utilizando o Web Service.
Ou seja, simplesmente não há controle de quem está acessando. Qualquer um com acesso poderia fazer barbaridades no sistema e o dono do backend teria poucas opções para limitar a pessoa certa.
Como então conseguir componetizar o seu backend?
Ou seja, como conseguir separar o seu sistema em pequenas partes ou serviços para que ele não fique totalmente aberto para ataques e para que as atualizações aconteçam de forma mais rápida, sem que afete todo o sistema?
A resposta é simples: SOA!
Arquitetura Orientada a Serviços (SOA) não é nada mais que uma maneira de organizar seu sistema e “separá-lo” baseado nos serviços que ele pode realizar ou oferecer.
Desta maneira, é possível expor apenas aquela funcionalidade que você desejar sem que o resto do seu backend seja afetado, realizar manutenções de maneira muito mais simples e deixar a porta aberta apenas para um pedaço específico de sua casa, ou melhor, de seu sistema.
Com esse avanço, o mundo já estava apenas a um passo da melhor solução para a exposição de informação até hoje: as APIs.
As maravilhosas APIs
Caso ainda não tenha lido, segue esses dois artigos incríveis sobre o que são e sobre a eficiência dessas belezinhas.
Vou passar rapidamente por um resumo do que é API para falar de tudo que ela pode proporcionar.
Application Programming Interface, as APIs, podem proporcionar a exposição de apenas um pedaço do seu sistema, de modo que o seu backend fique totalmente protegido e você consiga fazer a liberação de apenas algumas funcionalidades de seu serviço, como por exemplo, apenas consulta.
Um modo de uso deste método é a busca de hotéis, ou viagens, para anúncios em outros sites. Uma API que foi construída neste modelo é a do Hotel Urbano. A partir dela, é possível buscar as ofertas disponíveis (nesse artigo falei um pouco mais sobre ela).
Realizando a exposição de seu sistema através de APIs, é possível obter o máximo de segurança de seu backend, podendo controlar através de tokens de acesso todos os seus parceiros que irão acessar o seu sistema, e também customizar as chamadas que poderão ser feitas – por exemplo, apenas GETs (método do protocolo HTTP de “pegar” dados) – sem que possa ser alterado alguma informação no seu sistema.
Se quiser aprender ainda mais sobre segurança de APIs ou tudo que é necessário para a construção de uma API, basta assistir este webinar sobre segurança ou baixar este e-book. Ambos são gratuitos, então, aproveite!
Está gostando? Ainda não acabei!
A partir do momento em que você gerencia da maneira correta a sua API, você consegue ter dados dos maiores consumidores, e com isso bloquear uma quantidade de chamadas de um determinado parceiro, caso seja necessário.
É possível ter insights de negócio, como por exemplo, criar um programa de parceiros para bonificação dos maiores consumidores.
Além, é claro, de poder ter todo o trace de chamadas e log de erros de todos os parceiros e ter uma escabilidade sem igual!
E onde esse mundo pode parar? No momento, estamos vivendo a evolução para o HTTP 2.0, o novo protocolo que as APIs com certeza vão desfrutar.
Como você pode ter visto, o que existe de mais moderno, fácil e prático para expor o seu sistema e com certeza se integrar com parceiros são APIs!
O que você está esperando, então, para ter a sua própria e fazer com que a sua integração através de APIs do seu sistema (e consequentemente seu negócio) cresça da maneira mais rápida possível?
Abraços e até mais.