TIBCO na prática: Uso do BusinessWorks e Enterprise Message Service
No primeiro artigo você viu as ferramentas TIBCO BusinessWorks e TIBCO Enterprise Message Service e como elas podem melhorar o desempenho e a confiabilidade da sua aplicação. Hoje, você vê um exemplo prático de como a solução apresentada pode ser útil.
Imagine um ambiente hostil a computadores e à transmissão de dados, com todas as dificuldades possíveis incluindo umidade, sujeira, longas distâncias entre redes e muitas vezes localizado debaixo da terra. Esses são os desafios enfrentados em uma planta de mineração.
Nessas condições, a possibilidade de falha de equipamentos e de perda de informação é muito grande e garantir que as informações cheguem ao seu destino final se torna um grande desafio.
Além disso, as informações da planta de beneficiamento do minério e da mina alimentam os sistemas de gestão, Manufacturing Execution System (MES) e Entreprise Resource Planning (ERP), dessa forma, a perda de dados causa deformação da informação e pode interferir na tomada de decisões. Mas como evitar que isso aconteça? É aí que entra a solução apresentada anteriormente.
Sumário
Considere o seguinte cenário:
A planta de beneficiamento precisa enviar informações colidas em tempo real da vazão de minério do sistema de flotação para servidor que fica na sala de controle a mais de um quilômetro de distância e com todos os problemas citados anteriormente e através de um link de internet sem fio, que é comumente utilizado. Essa informação é a base do cálculo da produtividade da planta e sem todos os dados, a informação se torna inconsistente.
Considerando essas informações, temos a seguinte solução:
Primeiro, é preciso garantir a preservação dos dados mesmo que a transmissão esteja fora. Para isso, armazenamos os dados da planta em uma fila JMS utilizando o TIBCO Enterprise Message Service (EMS) no servidor na própria planta antes do envio dos dados. Com isso, mesmo se a conexão com a sala de controle estiver lenta ou se o link fora, nenhum dado será perdido. É importante configurar o tamanho da fila para suportar o tempo máximo que o link demora para se reestabelecer. Além disso, a aplicação não fica presa esperando o envio, que pode demorar, e fica livre para processar os próximos dados, aumentando a frequência de atualização dos dados.
Nesse mesmo servidor, criamos um processo do TIBCO Business Works para ler os dados da fila criada e enviar para a sala de controle através de um Web Service utilizando o protocolo SOAP, para se ter a confirmação do recebimento por parte do cliente. Caso o envio não seja completado, o dado retorna para a fila para ser processado novamente quando o link estiver online.
Do lado da sala de controle, o Web Service deve estar preparado para receber a requisição da planta para aí sim realizar o processamento do dado. Esse processamento pode ser simplesmente salvar as informações em uma base de dados ou efetuar algum cálculo com os valores.
Nesta solução, temos os seguintes benefícios:
– Garantia de que os dados não serão perdidos.
– Manutenção do funcionamento da aplicação mesmo com a queda do link.
– Redução do tempo de resposta e aumento da frequência de atualização dos dados ao processa-los de forma assíncrona.
Apesar de todas as vantagens, é preciso se atentar para os seguintes pontos:
– As filas possuem um tamanho limite. Caso esse limite seja ultrapassado, a escrita na fila se torna mais lenta e, após um certo valor, o armazenamento para. Por isso é importante dimensionar de forma correta o tamanho da fila.
– Devido ao processamento assíncrono, existe um atraso entre o momento da coleta do dado até a chegada dele à sala de controle, mas considerando que sistemas do tipo MES e ERP não levam em consideração dados isolados e esse atraso, em geral, não é um problema.
A DTI tem expertise na utilização de TIBCO, além do diferencial know-how em mineração. Se tiver alguma dúvida, entre em contato com a gente
Por: Felipe Guimarães
Revisão: Jéssica Saliba
Desenvolvimento de Software
Confira outros artigos
Testes end-to-end: sucesso na implementação da automação
Hoje, como você garante a entrega de valor, a confiabilidade e a eficiência do seu projeto? Com o intuito de responder a essa questão crucial, uma das melhores respostas é a automação de testes end-to-end. Muitas pessoas, principalmente nossos clientes, tendem a imaginar que automação de testes é apenas mais um tipo de teste de […]
Desenvolvimento de Software
Mecanismos de Acompanhamento no Desenvolvimento de Software
O uso de mecanismos de acompanhamento é imprescindível no mundo do desenvolvimento de software e pode potencializar a eficiência digital. O acompanhamento efetivo das operações é fundamental para garantir a entrega de soluções digitais de sucesso. Na nossa empresa, utilizamos uma metodologia única, o dti evolve, que incorpora inteligência artificial (IA) para acelerar nosso processo de […]
Desenvolvimento de Software
Eficiência digital com copilot: um caso de uso do GitHub
Em um mundo em constante evolução tecnológica, otimizar o tempo e potencializar a eficiência digital se torna cada vez mais crucial. Portanto, vamos apresentar alguns experimentos que estão sendo implementados com o Git Hub Copilot em busca de maior eficiência digital. Certamente quem nos acompanha sabe que estamos experimentando e introduzindo as melhores ferramentas de […]
Desenvolvimento de Software