APIs e Microsserviços

20 ago, 2015

As evoluções e maravilhas da integração através de APIs

Publicidade

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!

SENSEDIA-evolucao-apis-ftp

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.

SENSEDIA-evolucao-apis-web-service

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?

SENSEDIA-evolucao-soa

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.

SENSEDIA-evolucao-apis-love

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.

SENSEDIA-evolucao-apis-all-the-things

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.