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
FinOps: a ponte entre inovação tecnológica e sustentabilidade financeira nas organizações
Nos últimos anos, o FinOps tem se destacado como uma força vital na interseção entre o departamento financeiro e a TI, principalmente no que diz respeito à gestão de recursos em ambientes de nuvem. Essa solução nasceu da necessidade de alinhar os objetivos financeiros e operacionais das empresas, a fim de criar uma ponte sólida […]
Produtos Digitais
Desenvolvimento Android x iOS: 10 recomendações para o desenvolvimento produtivo
Entre agosto de 2022 e junho de 2023, o mercado de aplicativos móveis experimentou um crescimento notável, projetando um aumento anual de 13,4% até 2030, alcançando um mercado estimado em US$ 187,58 bilhões. E, certamente, a tendência é que essa expansão continue exponencialmente nos próximos anos. Portanto, agora é a hora de explorar as oportunidades […]
Produtos Digitais
Desenvolvimento Mobile ou Web: a integração de dispositivos para uma experiência omnichannel
Em 1977, Ken Olsen, fundador da DEC – Digital Equipment Corporation –, proferiu a frase “There is no reason anyone would want a computer in their home” (em tradução livre: “Não há motivo para alguém querer um computador em sua casa”). Já em 2007, a Apple confirmou que Olsen estava equivocado ao apresentar o primeiro […]
Produtos Digitais