APIs e Microsserviços

30 nov, 2015

A alquimia das APIs

Publicidade

Como já falei para você no artigo sobre a evolução das integrações (se ainda não deu uma lida, vale a pena), as APIs são o modo mais seguro e adequado de consumir dados de um sistema nos dias de hoje. Com isso, eu sempre paro para pensar: até onde vamos chegar e como podemos nos especializar ainda mais?

Deixando sempre um sistema mais leve, com utilização das últimas tecnologias provadas.  Fazendo a mistura de elementos já existentes para a criação de algo realmente valioso. Algo como transformar ferro, que é abundante e fácil de manipular, em ouro, que é precioso e único. Seria bem legal, né?!

A partir disso, sempre acabo pesquisando tecnologias e diferenciais sobre utilização de APIs; e a partir das minhas últimas conversas e pesquisas sobre esse mundo, percebi a existência de uma espécie de “Alquimia das APIs”, em que algumas APIs definem protocolos com o principal objetivo de tornar a experiência em outros sistemas externos muito mais interessante.

É com muito orgulho que lhe apresento o “futuro presente” das APIs.

Pensando no futuro

A maioria das modelagens para APIs segue a arquitetura RESTful, que é o mais recomendado nos dias de hoje; porém, quando começamos a lidar com casos específicos, essa modelagem acaba se tornando um pouco limitada. Você deve estar se perguntando agora, se é a mais recomendada, como ela pode se tornar limitada? Bom, eu te explico.

Para realizarmos uma consulta no banco de dados com o REST, por exemplo, precisamos fazer uma requisição que irá construir uma query SQL, para, só então, buscar o dado no banco; ou seja, temos três passos no processo: chamada da API, construção do SQL, requisição para o banco de dados.

Essa é uma forma muito bem estruturada de se fazer requisições, porque é simples de entender e bastante eficiente. É por isso que o REST é tão popular. Porém, e se eu te disser que temos uma maneira de realizar todo o protocolo REST, mas já realizar uma query de forma simples e padronizada? Demais, né?!

É assim que funciona o protocolo OData, mas não é só isso. Deixe-me lhe apresentar ao próximo passo da utilização de APIs.

A alquimia das APIs propriamente dita

Para te mostrar os elementos com que você pode criar ouro, eu separei quatro tipos (das várias) especializações que estão surgindo e deixando tudo de modo mais simples, rápido e prático.

OData

Esse é um protocolo livre, que permite a criação e consumo de REST APIs como queries de forma muito simples e com um padrão muito interessante. Como eu ouvi em uma palestra: “Depois de uma cerveja, você já começa a ler as requisições como SQL”.

A partir de um metadata, é possível criar vários proxies e ferramentas diferentes, que faz com que você interaja com ele, mesmo sem saber que está trabalhando com REST APIs. No site do OData existe um manual muito simples de como realizar a criação e utilização deles, são apenas 6 passos!

O OData nasceu como uma versão inspirada no GData, que foi um protocolo feito pelo Google para o mesmo fim, porém, por ser de uma empresa específica, acabou não sendo tão utilizado quanto o OData, que hoje desponta como o principal recurso neste contexto.

Streaming APIs

No cenário de streaming temos empresas muito famosas. Inclusive, já falei de alguma delas, como o Twitch.tv. Por se tratar de algo (praticamente) em tempo real, as requisições naturais REST acabam ficando pesadas demais, causando um delay maior para quem está assistindo a transmissão.

Por este motivo, nasceram as streaming APIs. Com o uso dessas belezinhas, você consegue uma menor latência no acesso aos dados, chegando o mais próximo possível de uma transmissão “ao vivo”.

Para você ter noção da importância desse tipo de API, até mesmo o Twitter possui uma API para este propósito, liberando os tweets de maneira mais rápida e fácil para quem vai consumir.

É desta maneira que os vídeos vêm se especializando cada vez mais, achando melhorias de conexão para que o tempo de resposta seja cada vez menor, deixando a experiência do usuário da Internet cada vez mais parecida com a da TV. O Youtube também não fica de fora dessa.

OpenID

O OpenID talvez seja o mais conhecido dentre as alquimias de APIs que estou te apresentando. Por exemplo, eu o usava todos os dias (e você também), porém não sabia o que estava utilizando até começar a estudar de maneira mais profunda.

Esse fenômeno se trata da possibilidade de acessar múltiplos sites com uma mesma conta. Você provavelmente está fazendo isso todos os dias, toda vez que passa do GMail para o Drive, por exemplo. Muito prático!

Além do Google, Yahoo, WordPress e Microsoft estão utilizando deste recurso para manter uma experiência de usuário muito interessante, já que ele não precisa mais ficar fazendo login para acessar outras contas (e vamos ser sinceros: ficar fazendo login é bem chato!).

Então, OpenID para o fim de vários logins \o/

CMIS

Como conseguir manipular vários conteúdos e tipos de conteúdo de uma maneira simples utilizando protocolos HTTP? A resposta é bem simples: CMIS, ou Content Management Interoperability Services.

O CMIS consegue alterar os documentos de um repositório em objetos, facilitando a manipulação dos mesmos, e ainda fazendo com que seja possível um controle muito restrito perante esses arquivos.

Um exemplo muito prático da utilização de CMIS são documentos governamentais, que são de diferentes tipos, porém aplicando essa metodologia é possível manipulá-los de uma maneira simples.

Existem diversos tipos de ferramentas que disponibilizam esse tipo de serviço, e entre as mais conhecidas delas estão a Alfresco e o OpenText.

O que mais podemos esperar?

Com a evolução constante das APIs e também a especialização para otimização de serviços, a cada dia mais vamos ver esta grande alquimia possuindo mais e mais elementos.

As grandes empresas já estão adotando muito o uso destes estilos de APIs, como é o caso da Google que, como comentei, criou o seu próprio GData, e também tem uma iniciativa bem forte em Streaming APIs. E essas novidades conseguem nos mostrar quem está sempre um passo a frente no mercado.

Porém, o maior recado que quero deixar para você neste momento é que com tantas novidades surgindo, é preciso sempre utilizar a especialização para facilitar o trabalho, deixando -o cada vez mais ágil para novas ideias e com o menor número de passos possíveis para fazer o seu objetivo se tornar realidade.

Desta maneira, trabalhe com os melhores elementos para o seu negócio, manipulando as seus experimentos e entregando para o seu cliente a melhor experiência possível.

Use as dicas desse artigo para criar essa experiência em seus produtos e encantar seus clientes!

Um abraço e até a próxima!