reverse ajax dwr

of 45/45

Post on 28-Jun-2015

3.094 views

Category:

Documents

5 download

Embed Size (px)

DESCRIPTION

Palestra sobre ReverseAjax com DWR. COMET

TRANSCRIPT

  • 1.

2.

  • Handerson Frota Analista Programador;
  • Scio Fundador da Triadworks;
  • Atualmente Analista Programador da IVIA;
  • Envolvido na programao desde os 13 anos iniciando com C, web desde 1997 e com Java desde 2001;
  • Entusiasta Java e Ajax;
  • Colunista da DevMedia, com artigos e vdeo aulas;
  • Coordenador e Fundador da Clula Java na Faculdade Loureno Filho;
  • J atuou em vrios projetos de mdio e grande porte exercendo as funes de: Programador, Analista, Arquiteto e Lder Tcnico;

3.

  • O que COMET ?
  • Comet ou ReverseAjax ?
  • Voc no conhece o DWR ?
  • Quer saber mais sobre o DWR ?
  • E agora como utilizar ?
  • Mas, como vou configurar isso ?
  • Preste ateno em alguns exemplos.
  • Consideraes finais.

4. 5.

  • Polling;
  • Piggyback;
  • Comet;

6. Polling (Ativo) Quando o navegador(cliente) faz pedidos ao servidor em intervalos regulares e freqentes. Gerando assim um trfico extra e pesado na rede. 7. Servidor voc tem alguma atualizao pra mim ? SIM NO 8. Piggyback (Passivo) O servidor tendo alguma atualizao para o cliente aguarda at que o cliente faa uma nova solicitao, ento ele aproveita para enviar juntamente com a respostas do cliente a sua atualizao. No gera trfego extra, em contra partida muito demorado. 9. Op, tenho uma nova atualizao pra voc ! Servidor preciso do extrato da minha conta. Receba seu extrato eum dbito no seu carto . 10. Comet (Ativo) O servidor fica responsvel em atualizar a qualquer momento o cliente. Uma nica conexo aberta e mantida pelo servidor. 11.

  • Ele se utiliza basicamente de duas estratgias:
  • Streaming;
  • Long polling;

12.

  • Streaming
  • O navegador abre uma nica conexo persistente
  • para o servidor.
  • Quando o servidor envia algum evento a conexo
  • no fechada.

13. 2. Long polling O navegador faz um pedido para o servidor, que mantido em aberto at que o servidor tenha novos dados a ser enviado.Aps enviar um evento, o servidor encerra a conexo e imediatamente o navegador abre uma nova. 14. Seja qual for a tcnica, o servidor capaz de enviar novas informaes com baixa latncia; Streaming considerado de melhor desempenhocomparado ao Long Polling; 15. Opa, a sua mulher acabou de efetuar uma compra com o seu carto ! Vtima receba essa atualizao. 16. 17. 18. 19. 20. O DWR o Framework Ajax para JAVA mais robusto,simples e confivel que existe no mercado atualmente. Ele possui integrao com os principais frameworks domercado: JSF, EJB2, EJB3, Struts 1x, Struts 2.x, Webwork, Hibernate, Hibernate 2, Hibernate 3, Spring dentre outros. 21. 22. 23. Site Oficial:http://directwebremoting.org/dwr Artigos, Vdeo Aulas:http://www.handersonfrota.com.br/artigos-tutoriais/dwr/ 24. 25. Por padro o DWR comea com o Reverse Ajax(Comet) desligado, permitindo apenas a transferncia via Piggyback. O Reverse Ajax do DWR possui dois modos: Ativo e Passivo. O Modo Ativo possui ainda mais 3 modos. 26. 27.

  • Full Streaming(Comet - Streaming)
  • Early Closing (Comet - Long Polling)
  • Polling

28. 29. 30. 1. Basta acrescentar o trecho de cdigo no seu web.xml. Com isso voc ativa o Reverse Ajax. 31. 2. Depois de ativado no web.xml, agora no segundo passo voc vai definir qual a pgina que vai se utilizar do Reverse Ajax. Basta acrescentar na sua pgina a seguinte linha de cdigo: Voc poder adicionar noonloadda pgina ou no incio de um arquivo JS, ou apenas como Script na pgina. 32. 33. 34. Este o modo padro quando o Reverse Ajax ativado paraas verses 2.0.3 e anteriores.A partir da verso 2.0.4 o padro a Early Closing. Ele tem como caractersticas respostas mais rpidas,porque ele fecha a conexo apenas uma vez a cada 60segundos, ou verifica se o browser ainda est ativo. 35. Para ativar o modo Full Streaming na verso DWR 2.0.4 emdiante, basta seguir as configuraes: No web.xml ative o uso de Reverse Ajax. 36. Ainda no web.xml adicione o seguinte trecho. Depois basta acrescentar na sua pgina a seguinte linha de cdigo: 37. No modo Early Closing ele ir manter a conexo abertaassim como na Full Streaming, no entanto ele ocupa apenasa conexo durante 60 segundos, se no houver uma sadapara o navegador. Esse modo nas verses DWR 2.0.4 e superiores, no se faznecessria nenhuma configurao adicional.Para as verses 2.0.3 para baixo preciso adicionar oseguinte trecho. 38. Neste caso o DWR ir manter a conexo aberta por mais de500 milissegundos aps a primeira sada, depois ele fecha ej solicita o a sua reabertura. Ele faz isso antes de forar umflush. 39. Caso este modo esteja sendo utilizado em aplicaes comum elevada taxa de transferncia de dados(servidor-cliente)se faz necessrio em alguns casos aumentar a o tempo deconexo aberta com o servidor. Bastando alterar o valor no maxWaitAfterWrite = 1000 ouMais, dependendo da sua necessidade. 40. 41. Se por algum motivo voc deseje utilizar essa tcnica,tambm bem simples configurar. Alm da configurao padro:web.xml(activeReverseAjaxEnabled=true) precisoadicionar dois init-params, veja a seguir: 42. Voc deve definir o PollingServerLoadMonitor. No modo Polling o default de 5 segundos, mas recomendado que voc altere esse valor, pelo menos para 60segundos. Isso para as verses DWR 2.0.3 em diante. 43. 44. Como vimos o DWR tem um excelente suporte a ReverseAjax(Comet) em geral. Bem simples de se utilizar, fcil deconfigurar e robusto. O DWR 3.0 promete muito mais, com novas features,suporte a Rest, melhor integrao com Spring, suporte aoGoogle Gears e Dojo Offline,Aptana Jaxer, OpenAjax,PubSub, Bayeux etc. 45.