Categoria DWR

Java Magazine 66 – DWR 2.0 Handerson Frota

Bem, tenho uma novidade para contar a vocês[talvez alguns já saibam].

Todos sabem que escrevo para a Java Magazine desde meados de 2006/2007, que tenho um contrato com a Devmedia etc. Já escrevi vários artigos, vídeo-aulas e palestras para a Devmedia.

Artigos esses que somados contabilizam 237548 [http://www.devmedia.com.br/handersonfrota?id2=0] visitas[contagem feita no dia 15/03/2009, incluindo artigos e vídeo-aulas] no site da Devmedia. Legal não ;) ?.

Estatísticas da Devmedia sobre o autor[ eu ;) ]:

Número de posts: 32
Total de visualizações: 237548
Conteúdo:
Didática:
Utilidade: 44  2

Mas, alguns me perguntavam porque eu nunca escrevi para a revista.

Bem, no começo eu recebi várias propostas de escrever para a revista, mas nunca aceitei, não pelo fato de não querer, e sim, de não ter tempo suficiente para escrever. Um artigo no blog, no portal da Devmedia é uma coisa[que já levava um tempo], agora, escrever para a revista é muito diferente e leva BEM mais tempo para fazer e tem muitos mais detalhes.

Em novembro de 2008 eu fui convidado novamente e dessa vez aceitei o desafio de escrever um artigo nunca antes visto sobre DWR 2.0. Queria algo bem diferente dos demais.

Isso mesmo, meu artigo sobre DWR 2.0 já está nas bancas, na edição 66 da Java Magazine e é um dos maiores deste edição com 6 páginas[frente e verso] e meia.

“Esse artigo já saiu a algumas semanas [mas somente para assinantes], mas não divulguei aqui pois ainda não tinha saído nas bancas, já que saiu recentemente, então estou agora divulgando.”

DWR 2.0
De uma maneira que você nunca viu

Aprenda de forma simples como utilizar um dos melhores frameworks Ajax para Java do mercado.

O artigo está com o layout bem bacana e não está cansativo para ler, apesar da quantidade de páginas.

Sobre o Artigo

Eu passo uma visão aprofundada de como o DWR funciona, seus conceitos, integrações, suportes e todas as suas principais funcionalidades.

Neste artigo veremos uma visão aprofundada de como o DWR funciona, seus conceitos, integrações, suportes e funcionalidades com uma apresentação das suas principais funcionalidades e exemplos de utilização.

Tentei ser direto, e didático[espero ter conseguido], para desmistificar de vez aquelas dúvidas que vários profissionais tem sobre o DWR. Dúvidas que infelizmente a documentação do DWR não é o suficiente ou clara para responder sobre todas as suas funcionalidades. Mas não respondo somente dúvidas técnicas, tentei também responder algumas perguntas que sempre recebo das pessoas que me enviam e-mail:

O DWR é robusto ?

Posso realmente confiar no DWR ?

Um dia o DWR pode ser descontinuado ?

É fácil colocar o DWR no meu projeto ?

Quem faz o DWR ?

Etc etc…

Mas para quem me acompanha, sabe que já escrevi muita coisa sobre o DWR, fora os artigos de outros autores espalhados pela WEB.

Então porque esse artigo é diferente dos demais ?

Artigos sobre DWR temos vários espalhados na WEB, principalmente os meus, já que posso dizer com certeza que sou um dos que mais escreve, palestra, faz vídeo-aulas e divulga o DWR aqui no Brasil.

A intenção do artigo é demonstrar algo diferente sobre o DWR, coisas que antes nunca foram mostradas, ou pelo menos com tantos detalhes.

Então, caso você leia o artigo, com certeza você irá se surpreender pelo conteúdo, pois como diz o título do artigo:

“DWR 2.0 de uma maneira que você nunca viu.”

A principal intenção do artigo, é desmitificar completamente o DWR para o leitor, sendo direto e didático e espero realmente ter conseguido.

Quando escrevi este post, recebi vários emails de muitos assinantes elogiando o artigo[os assinantes recebem semanas antes de sair nas bancas], e isso pra mim foi muito bom, pois acho que estou conseguindo atingir meu objetivo.

O artigo já está na revista que já está nas bancas [quem é assinante recebeu ela a semanas ;) ], mas para quem ainda não tem e se interessa em aprender ou saber mais sobre o DWR, vá já nas bancas e compre seu exemplar, garanto que não irá se arrepender, pois como todos sabem, todos meus artigos não possuem enchimento de “lingüiça” e gosto de manter essa qualidade.

Para quem utiliza ou quer começar a utilizar o DWR, com certeza esse artigo será um documento que irá ajudar e muito, pois foi essa a principal intenção. O artigo é um material de cabeceira para quem quer trabalha ou já trabalha com o DWR.

E em breve teremos mais um artigo meu na revista[estou pensando seriamente em aceitar fazer outro]. Apesar de ter sido bem “cansativo” foi muito prazeroso escrever um artigo deste nível para uma das melhores revista sobre Java do Brasil e uma das mais respeitadas.

E claro, não posso deixar de agradecer as pessoas que acessam meu blog, acessam meus artigos na Java Magazine, compram as minhas vídeo-aulas, compram a revista, mandam e-mails com dúvidas, críticas e/ou agradecimentos.

Obrigado a todos ;) e espero que os meus artigos, vídeo-aulas e palestras tenham sidos de grande ajuda para vocês, realmente obrigado.

“Quem já comprou, ou recebeu a revista e já leu o artigo, por favor, sinta-se a vontade para deixar seus comentários sobre o que achou do artigo, neste post ou no site da devmedia[http://www.devmedia.com.br/javamagazine/feedback], seria de grande ajuda para mim, pois assim eu sempre vou tentar fazer artigos melhores para vocês.”

Abraços e até o próximo post e ao próximo artigo.

AWR.net o DWR para dot.Net

Não você não leu errado. O AWR.NET é um framework que procura seguir a idéia do DWR, ou pelo menos tenta  :P .

Brincadeiras a parte…

O AWR.NET surgiu de algumas discussões com um amigo desenvolvedor .Net Paulo Jr. Ele diferente de outros desenvolvedores M$ realmente sabe programar[ok não pude deixar de dá a alfinetada :P ].

Conversando com o Paulo Jr, falei sobre o DWR e algumas de suas funcionalidades e tentamos “comparar” com o que existia no .Net e ele viu que não tinha algo do tipo, então ele resolveu criar esse framework, baseado um pouco na maneira que o DWR faz.

Conversamos muito, a nível bem baixo de como o DWR trabalha, chegamos as vezes de sentar juntos para discutir algumas coisas, isso foi muito bacana, pois botou a prova meu conhecimento em DWR e com isso pude ajuda-ló.

Por enquanto está na versão inicial, mas acho que esse projeto vai pra frente e como o Paulo sabe, estou a disposição para ajuda-ló no desenvolvimento deste framework.

Quem quiser saber mais sobre esse framework basta acessar o link.

Abraços

Reverse Ajax DWR != COMET

Alguns já devem ter visto uma palestra que ministrei no IV Natal Java Day 2008 sobre Reverse Ajax do DWR onde tento explicar como funciona essa funcionalidade do DWR. Porém, saiu alguns slides do Joe Walker sobre o DWR 3.0 onde no slide 37 ele fala que Reverse Ajax não é a mesma coisa do COMET.

O que tem isso ?

Na minha palestra acho que não fui bem claro e acabei gerando uma certa confusão, pois algumas pessoas me questionaram sobre isso. Vamos tentar aqui desmistificar e tentar novamente explicar o que é o Reverse Ajax do DWR.

Primeiro vamos entender alguns conceitos básicos.

Ajax

Ajax é qualquer chamada preferencialmente assíncrona que se utiliza do XMLHttpRequest(XHR) para se comunicar com o servidor. Quem dispara essa ação é sempre o cliente(browser ou usuário).

Reverse Ajax – Conceito

O Reverse Ajax seria algo inverso do Ajax padrão, ou seja, o servidor irá se comunicar com o cliente sem que o mesmo precise fazer essa solicitação. Não será mais o cliente fazendo uma solicitação ao servidor e esperando uma resposta e sim o servidor se comunicando com o cliente, sem que o mesmo precise fazer alguma solicitação.

COMET

COMET é uma das 3 técnicas de comunicação que o Ajax possui, as outras são Polling e Piggyback. Resumidamente o COMET é quando o servidor fica responsável em enviar mensagens para o cliente sem que o mesmo precise fazer alguma solicitação ao servidor.

O servidor é independente para atualizar “qualquer” cliente, sem que esse cliente tenha feito algum pedido.

Reverse Ajax do DWR

No DWR o Reverse Ajax envolve essas 3 técnicas: COMET, Polling e Piggyback.

Com ele você pode utilizar essas 3 individualmente ou juntas. Você pode definir que seu servidor irá ficar atualizando automaticamente os clientes que estão na sessão(browsers, usuários etc) -COMET, ou poderá definir o tempo em que o usuário/cliente poderá ficar enviando “perguntas” para o servidor -Polling, ou ainda permitir que o usuário faça uma solicitação e logo depois o servidor atualize todos os clientes em sessão ou os que ele desejar -Piggyback.

Conceitualmente Reverse Ajax é a mesma coisa do COMET, mas na prática no DWR isso não é completamente correto.

Conclusão

O DWR nos permite utilizar a técnica de COMET quando se ativa o Reverse Ajax, com isso acabamos que por comodidade utilizando somente o COMET para fazer as comunicações, logo essa funcionalidade de Reverse Ajax pode ser considerada igual ao COMET, pois essa é a funcionalidade “padrão” que utilizamos para esse fim. Claro, que no conceito geral, quando se ativa o Reverse Ajax no DWR você poderá utilizar as 3 técnicas.

Como foi dito também na minha palestra essa comunicação Reverse Ajax é dividida em 2 modos: Ativo e Passivo, onde o modo ativo possui ainda 3 sub-modos: Full Straming -que é equivalente ao Streaming do COMET “puro”, Early Closing -que é equivalente ao Long Polling e por fim o Polling.

Por isso o Reverse Ajax do DWR não é somente COMET, ele é a junção das 3 técnicas: Polling, Piggyback e COMET.

Bem espero ter esclarecido mais sobre esse assunto. Qualquer dúvida comentem ou enviem email ;)

Abraços

ReverseAjax DWR – IV Natal Java Day 2008

Bem todos sabem que palestrei no IV Natal Java Day em Natal/RN(veja a cobertura aqui).

Tive pouco tempo, todas as palestras foram de no máximo 40min, mas acho que deu para passar a idéia do que é o ReverseAjax no DWR e espero ter conseguido.

Adicionei a palestra no SlideShare, mas ele meio que “estragou” um pouco o layout, mas acho que dá para entender.



Com a ajuda do René Araujo foi possível também filmar, então para quem perdeu segue abaixo os vídeos.

[youtube u9mF2VDvFIA]

[youtube WkWep-wh_AU]

[youtube s335_YNSba0]

[youtube 4Av5cV7DJPc]

Queria mais uma vez agradecer aos organizadores do evento e parabenizar pelo excelente evento e de alto nível que foi esse ano, e em 2009 estaremos novamente marcando presença no evento.