Tenho 2 sistemas, e meu problema é o seguinte, um sistema vai ficar aberto 24 horas por dia, e o outro é o de produção(onde ira ser feito as inserções de informações no banco de dados), e quero fazer o seguinte, quando uma informação for salva em tal tela do sistema eu quero que a segunda aplicação atualize com o novo resistro ja inserido.
Basicamente é assim a aplicação 2(Produção) insere um novo registro e então a aplicação 1 atualiza a tela trazendo o novo registro na tela.
Alguem tem sabe como poço fazer isso? Obrigado pela atenção.
Fora o fato que “posso” é do verbo poder e “poço” é onde você joga uma moeda para desejar alguma coisa:
Esse é o tipo de coisa que é mais difícil de fazer que parece, e depende um pouco da arquitetura geral do seu sistema.
A
alextr
Obrigado pela aula de portugês.
Dizer que é dificil de fazer não é a solução do problema.
Realmente sua mensagem não deve nenhuma utilidade, para a solução desse problema.
N
nebster
vc pode fazer ele atualizar atravez de uma trigger dentro do banco de dados e atualizar a tela a cada 5 segundos…
a outra maneira é atravez de socket de um sistema para o outro fazendo o sistema 24 horas ficar sempre esperando o socket.
G
GodZilla_XF
alextr:
Boa Tarde.
Tenho 2 sistemas, e meu problema é o seguinte, um sistema vai ficar aberto 24 horas por dia, e o outro é o de produção(onde ira ser feito as inserções de informações no banco de dados), e quero fazer o seguinte, quando uma informação for salva em tal tela do sistema eu quero que a segunda aplicação atualize com o novo resistro ja inserido.
Basicamente é assim a aplicação 2(Produção) insere um novo registro e então a aplicação 1 atualiza a tela trazendo o novo registro na tela.
Alguem tem sabe como poço fazer isso? Obrigado pela atenção.
Olá tudo bem, então, eu tenho um sistema semelhante ao seu que já esta em e estou estudando uma nova forma de fazer esta atualização, por enquanto a solução que encontrei foi a seguinte, na tela que precisa ser avisada de novos registros eu fiz uma Thread que se atualiza a cada X tempo de acordo com a configuração desejava e esta refaz a pesquisa no banco, só que isso ocasiona um outro problema, caso o volume de dados seja muito grande, o sistema que monitora pode ficar lento e o servidor tbm por conta de muitas pesquisas!! estou estudando uma nova forma de fazer isso, to pensando em usar o setFetchSize(int rows) com mais algumas configurações juntas para poder tirar um pouco do peso do banco!! vou acompanhar o topico para ver o que podemos fazer.
E
entanglement
Completando a resposta do Webster:
Usualmente, em vez de socket (que é sempre difícil de controlar), pode-se usar uma solução de mensageria (como o Apache ActiveMQ, o MQSeries se você for cliente da IBM, etc) para enviar as tais mensagens de um sistema para o outro.
Assim o outro sistema pode ser avisado das alterações efetuadas pelo sistema principal.
Dependendo do que você quer, se o sistema quer é fazer monitoração (é um caso de uso um pouco diferente do que você citou), pode-se usar JMX no sistema principal, e fazer o sistema secundário (o que quer monitorar o principal) atender a traps SNMP ou coisas parecidas.
A
alextr
Opa! fico feliz com tantas mensagem uteis assim.
Atualmente estou tentando usar o comando:
porem se eu abrir o mesmo sistema 2 vezes, a mensagem é exibida, porem quando abro os dois sistemas a mensagem não é atribuida.
Pelo que eu entendi o socket faz comunicação pelo glassfish tornando possivel essa comunicação, mais esta complicado.
Respondendo o nosso amigo: GodZilla_XF
Achei otimo essa solução pois eu irei buscar no banco de dados poucas informações para atualizar, irei estudar esse metodo.
B
brunocia2000
Já tentou simplesmente, usar XMLHttpRequest? Eu uso, porém com PHP, mas o efeito seria o mesmo.
Caso não saiba, XMLHttpRequest é uma função em Javascript que vai acessar a página e retornar em tempo real (definido por você) o que o script retornou, sem atualização da página. Com este, você envia requisições POST ou GET pra qualquer script, e consegue obter o retorno em algum elemento da página.
Tipo:
Dentro da
acima, o script vai atualizando de x em x segundos, o que o script vai retornar.