Boa noite Masters!
Tenho duas aplicações que revesam o desenvolver de um determinado processo e uma precisa esperar a outra para executar suas tarefas.
Descrevendo melhor:
Vamos imaginar um sistema de gestão, que é dividido em duas aplicações:
Aplicação 1: Obtém um pedido de um cliente e lista-o no primeiro estágio do fluxo de trabalho, o financeiro. Passando por este estágio, o próximo seria o setor de análise.
Aplicação 2: Obtém o pedido (pode ser recebido via WS) vindo da análise e adiciona-o no fluxo de produção.
Ao terminar a produção do produto, o pedido deve voltar para a primeira aplicação para que o fluxo seja encerrado.
A minha dúvida é:
Como fazer com que a aplicação 1 sempre fique atualizada quanto ao status deste pedido, para que possa realizar seus processos e encerramento? Neste exemplo que inventei, a aplicação 2 tem somente uma responsabilidade: produção. Mas, e se ela tivesse cinco, sendo que ao final de cada um, a aplicação 1 deveria receber esta atualização de status.
Imaginem que a aplicação 2, seja um grande servidor de serviços, que atendam a milhares de aplicações do tipo 1, agora chegamos no x da questão. É responsabilidade da aplicação master (aplicação 2), se comunicar com cada aplicação do tipo 1, para avisar quando há novidades?
Qual a melhor forma de fazer com que o trabalho de manter uma aplicação do tipo 1 atualizada, não dependa tando da aplicação master do tipo 2, fazendo-a consumir menos recurso do servidor, sendo menos sobrecarregada?
Para explicar a minha necessidade, eu falei de forma bem abstrata, mas gostaria de receber sugestões mais técnicas e objetivas, exemplo:
É possível fazer a aplicação 1 com web socket, que constantemente consulta o servidor da aplicação 2 para receber estas novidades.
Não sei se esta ideia daria certo, no quesito deixar a aplicação master 2 menos ocupada.
Espero ter sido claro pessoal, e desde já, agradeço pela atenção de todos.