Front End

22 jan, 2010

Server Push com Javascript e JSP

Publicidade

Resumidamente, o conceito de ServerPush é abrir um canal de comunicação http e
ficar recebendo os dados da aplicação sem efetuar posts. Essa tecnologia foi
introduzida em 1996 por PointCast e Marimba e, em 1997, Microsoft e NetScape
aplicaram esse canal dentro de seus Browsers. Para mais detalhes, wikipedia!

Vou demonstrar como desenvolver este mecanismo de comunicação utilizando JSP e
Javascript.

Nosso exemplo terá três páginas:

  1. Index.jsp
  2. Display.jsp
  3. Streamer.jsp

Index.jsp: nessa página criaremos os frames [display.jsp e streamer.jsp] e os tratamentos
javascript para as mensagens que chegarão.

A página display.jsp vai conter nossos objetos que serão atualizados. Ex: Grids,
Divs, Tabelas, ou pode ser também uma página em branco, se for apenas printar a
mensagem recebida.

A página Streamer.jsp irá conter a regra de negócio. O grande lance aqui é a
possibilidade de utilizar a “Thread.sleep” do Jsp… Nesse exemplo estamos apenas
printando de tempo em tempo um contador, mas uma implementação significativa
seria a ida em um banco de dados resgatando os últimos cadastrados, as melhores
ofertas de compra, etc…

Quando a aplicação estiver rodando, o streamer.jsp enviará o conteúdo para a
função push localizada no Index.jsp.

O push pegará o conteúdo e jogará no frame “display”. Podemos também acessar
através do button que chamará a função SendEvent, que enviará para o
tratarMensagemPublicada a mensagem digitada no input. Nesse caso, o
tratarMensagemPublicada fará um Split na mensagem e, de acordo com as condições,
encaminhará a mensagem para os devidos métodos.

Faça o download do Exemplo