Atualizar tela automatico!

7 respostas
A

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.

7 Respostas

E

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

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

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

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

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

Opa! fico feliz com tantas mensagem uteis assim.
Atualmente estou tentando usar o comando:

<p:socket onMessage="handleMessage" channel="/mapa" />

e no Bean:

public void send() {
        PushContext pushContext = PushContextFactory.getDefault().getPushContext();
        pushContext.push("/mapa", new FacesMessage("NOVO", "Novo Link"));
    }

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

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.
Criado 6 de junho de 2013
Ultima resposta 10 de jun. de 2013
Respostas 7
Participantes 5