Como deixar sua aplicação rápida e confiável
Em um mundo em que o volume de informação é cada vez maior e os sistemas precisam fornecer respostas cada vez mais rápidas, não podemos ficar esperando as coisas acontecerem!
Em tarefas demoradas que consomem preciosos segundos, é preciso ser assíncrono. Ninguém vai aos correios enviar uma carta e aguarda na agência até que a sua carta chegue ao destinatário. Da mesma forma, as operações de armazenamento em banco de dados, escrita de arquivo ou chamadas de serviço podem causar grandes atrasos e muitas vezes podem ser evitadas.
Mas como fazer isso e garantir que a informação chegará ao seu destino final? Uma excelente saída é a utilização do TIBCO Enterprise Message Service (EMS). Esta é uma solução de envio e recebimento de mensagens que fornece Java Message Service (JMS) compatível com diversas plataformas e tecnologias.
Através do JMS, é possível armazenar dados rapidamente em uma fila para depois fazer o tratamento dos dados, armazenar em banco ou qualquer outra tarefa que possa prejudicar o desempenho da aplicação.
Com os dados armazenados na fila, a ferramenta garante a sua persistência até que o dado seja processado, e assim, a aplicação pode continuar suas operações enquanto os dados são processados de forma assíncrona.
Em seguida, é preciso dar destino aos dados armazenados. Existem diversas opções para fazer isso, já que, como foi dito anteriormente, a tecnologia é multi-plataforma e compatível com diversas tecnologias.
Após testes, a melhor solução encontrada foi a utilização de outra ferramenta da TIBCO, o TIBCO BusinessWorks (BW). Ele é utilizado para conectar as aplicações e dados, com pouca ou nenhuma programação.
As vantagens de se usar o BW são:
– Respostas mais rápidas
– Processamento de dados em tempo real
– Integrado a outras ferramentas TIBCO
O TIBCO BW é capaz de dar diversos destinos para os dados, porém, em algumas tarefas como armazenamento em banco de dados, ele não possui desempenho satisfatório.
Dessa forma, é recomendado que o dado processado seja enviado para outro WebService, sendo que o BW fica responsável por pegar o dado na fila e enviar para o WebService e também por tratar as exceções caso ocorra alguma falha no serviço.
Como nem tudo é perfeito, ao utilizar essa solução é preciso ter cuidado para não perder informações. Primeiro, é preciso garantir que as informações foram armazenadas na fila e essa parte deve ser síncrona. Em seguida, é necessário tratar possíveis erros ao chamar o webservice e na leitura dos dados da lista. Neste caso, é necessário que os dados sejam enviados novamente e armazenados no final da fila. Já em caso de sucesso, é necessário confirmar ao JMS e removê-lo da fila.
E quando utilizar?
Essa solução pode ser usada em todas as situações em que há uma ou mais operações que consomem muito tempo, desde que seu retorno não seja usado imediatamente. Essa limitação existe já que o processamento do dado pode demorar e como se trata de uma fila, pode haver outros dados para serem processados antes. Dessa forma, o tempo aguardado seria maior do que ao processo síncrono.
Possui integrações em TIBCO? Precisa de ajuda para integrar? Entre em contato com a gente! Se preferir, veja um exemplo de aplicação de TIBCO aqui.
Por: Felipe Guimarães e Jéssica Saliba.
Produtos Digitais
Confira outros artigos
Inteligência Conversacional: conecte-se com seus clientes!
Em um mundo cada vez mais digital, a capacidade de se conectar com os clientes de forma personalizada e eficiente é crucial para o sucesso de qualquer negócio. Dessa forma, a Inteligência Conversacional surge como uma poderosa ferramenta para alcançar esse objetivo, revolucionando a forma como as empresas interagem com seu público e otimizam suas […]
Produtos Digitais
Produtos digitais: entregas contínuas com IA
Nas últimas semanas, lançamos uma série de artigos sobre o uso de inteligência artificial no processo de construção de produtos digitais. Neles, apresentamos alguns aceleradores que a dti tem utilizado para potencializar a eficiência dos times. Abordamos a fase de concepção do produto, as atividades de gestão e design, o desenvolvimento do software e a […]
Produtos Digitais
Inteligência Artificial: acelerando o design e gestão de produtos digitais
Como aproveitar o melhor da Inteligência Artificial Generativa para gerar mais valor? Essa tem sido uma pergunta recorrente no mercado conforme as empresas buscam entender e adotar a tecnologia. Embora existam muitas dúvidas e hipóteses não comprovadas, parece ser consenso que os avanços na Inteligência Artificial impactarão significativamente muitas profissões. No relatório The economic potencial […]
Produtos Digitais