ArtigosDestaques

Artigo: Criando experiências em tempo real com API Streaming

Por Julio Cesar Fernandes*

Nos dias de hoje é difícil encontrar alguém que nunca tenha escutado falar de streaming. A primeira lembrança que surge para a maioria das pessoas são plataformas como Netflix e YouTube, que provêm serviços de streaming para entretenimento, com vídeos e filmes.

Uma característica importante do streaming é que a informação chega até nós conforme é disponibilizada ou criada. No caso de vídeos com o streaming, não precisamos fazer o download do arquivo inteiro para começar a assistir, ao contrário, os dados chegam aos poucos, mantendo a sequência de imagens e áudio para termos a experiência contínua e sem pausas.

Se o vídeo é uma transmissão online, o dado completo ainda nem existe; eles vão sendo disponibilizados assim que são gerados ou capturados em tempo real. No stream de dados com APIs é a mesma lógica.

Nos processos de integração que envolvem estabelecer conexões com diversas entidades, como sistemas, fornecedores, clientes, pessoas e coisas, temos principalmente três estilos de comunicação: File-driven (como as baseadas em transferência de arquivos e EDI – Eletronic Data Interchange); Request-driven (como as APIs, onde a aplicação que consome dados precisa requisitar uma informação e obter respostas) e Event-driven (como as API streaming, em que a aplicação aguarda a informação do servidor).

Estas três opções endereçam a grande maioria ou totalidade das conexões. Em geral, são aplicadas de acordo com questões de maturidade, limitações, conformidades e modelos de negócios.

Também existem algumas opções para viabilizar o stream de dados por meio de uma Web API, como o Web Sockets e o SSE (Server Sent Events). O SSE é um padrão baseado em HTTP e padronizado ao HTML5 pela W3C, que descreve como servidores de aplicação podem iniciar uma transmissão de dados para o cliente, como Apps, por exemplo. Ele é suportado por diversos browsers e por várias linguagens, SDKs e frameworks de desenvolvimento e programação.

Para demonstrar o streaming, podemos utilizar a solução Axway AMPLIFY Streams, que possui funções importantes, como: suporte ao SSE para disponibilizar event-driven APIs; facilitadores para que este processo seja o mais simples e rápido possível (sem a necessidade de escrever nenhuma linha de código) e a capacidade de transformar uma API tradicional em uma API event-driven, onde o cliente recebe os eventos de dados e atualizações.

Benefícios do API Streaming

Utilizar API streaming traz diversos benefícios, como, por exemplo, a redução considerável do tráfego de dados, pois apenas os dados novos são proativamente enviados (não há necessidade de ações push/pull para a sua obtenção). Com a redução do tráfego, também se reduz o consumo de recursos de infraestrutura. Outra vantagem é que o cliente recebe proativamente os dados, em tempo real, sem precisar requisitá-los.

É importante notar que os benefícios somente existem quando o API streaming é utilizado em um cenário que realmente se aproveita dos eventos. Para casos em que há uma grande quantidade de informação, que não muda com frequência, ou onde toda a informação é modificada em cada requisição, a melhor opção pode ser file-driven baseado em arquivos. Em cenários onde há a necessidade transacional com informações que não se repetem, um modelo request-driven é o mais adequado. E, por fim, em cenários onde a informação muda com frequência, podemos utilizar event-driven.

A aplicação de streaming aos negócios é relevante para várias situações onde a informação é atualizada com frequência e a experiência do cliente é significativamente influenciada pela proatividade da informação, como em casos de dados financeiros que variam frequentemente (extratos, saldos, cotações, rankings e scores), dados logísticos e da cadeia de suprimentos que variam no tempo (dados de estoque e posições de abastecimento), na indústria 4.0  com o monitoramento de dispositivos e sensores, e dados de healthcare relacionados ao monitoramento da saúde do paciente em tempo real.

Enfim, a experiência do cliente pode ser beneficiada por informação em tempo real em qualquer situação de negócio.

*Julio Cesar Fernandes é Diretor de Negócios da Axway

 

Newsletter

Inscreva-se para receber nossa newsletter semanal
com as principais notícias em primeira mão.


    Deixe um comentário

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