Este ano estamos iniciando nossa convivência com sistemas interativos via web e escolhemos o Google Web Toolkit para nos apoiar, convictos em jamais usar pré-processamento de HTML no servidor.
Enquanto este toolkit (na versão 2.4) nos pareceu desde o início uma coisa totalmente excelente, uma preocupação se manteve firme: o ciclo de desenvolvimento ótimo do GWT exige o uso do DevMode.
O DevMode do GWT é um truque excelente que permite ao desenvolvedor usar um depurador Java para rastrar a execução do programa que roda no user agent. Como GWT é fundamentalmente um compilador de Java para Javascript, depurar o código-fonte de produção seria no mínimo desagradável.
A configuração padrão do DevMode (na versão 2.4) inclui o web container Jetty para servir o HTML, JS, CSS, Servlets e tudo o mais que compõe o programa. O Jetty é um container simples e não inclui, entre outras coisas, uma implementação de JPA ou EJB.
Ora, como este projeto pode permanecer confortável? Eventualmente a "camada de negócio" deverá ser movida de Servlets GWT para componentes EJB. Será preciso embutir um ejb container no projeto e fazer as ligações manualmente?
Não! É perfeitamente possível usar o GWT DevMode com seu servidor de aplicações favorito!
O fato é que o DevMode não exige o Jetty e na realidade é totalmente independente do seu web container. O DevMode é um serviço que oferece algum tipo de interface RPC usada pelo próprio programa GWT.
É possível usar o DevMode com o programa implantado em qualquer web container. É possível, por exemplo, implantar o programa no JBoss AS 7 e então usar um user agent qualquer para acessar o endereço publicado pelo JBoss AS 7 com o DevMode.
Para fazer isso é necessário:
Para depurar completamente o seu programa, você deve:
Observe que o endereço do GWT DevMode é um argumento para o programa Javascript; a ligação entre uma coisa e a outra é indireta o suficiente para permitir o programa ser hospedado em um servidor de aplicação completo, sem prejudicar o ciclo de desenvolvimento.
Enquanto este toolkit (na versão 2.4) nos pareceu desde o início uma coisa totalmente excelente, uma preocupação se manteve firme: o ciclo de desenvolvimento ótimo do GWT exige o uso do DevMode.
O DevMode do GWT é um truque excelente que permite ao desenvolvedor usar um depurador Java para rastrar a execução do programa que roda no user agent. Como GWT é fundamentalmente um compilador de Java para Javascript, depurar o código-fonte de produção seria no mínimo desagradável.
A configuração padrão do DevMode (na versão 2.4) inclui o web container Jetty para servir o HTML, JS, CSS, Servlets e tudo o mais que compõe o programa. O Jetty é um container simples e não inclui, entre outras coisas, uma implementação de JPA ou EJB.
Ora, como este projeto pode permanecer confortável? Eventualmente a "camada de negócio" deverá ser movida de Servlets GWT para componentes EJB. Será preciso embutir um ejb container no projeto e fazer as ligações manualmente?
Não! É perfeitamente possível usar o GWT DevMode com seu servidor de aplicações favorito!
O fato é que o DevMode não exige o Jetty e na realidade é totalmente independente do seu web container. O DevMode é um serviço que oferece algum tipo de interface RPC usada pelo próprio programa GWT.
É possível usar o DevMode com o programa implantado em qualquer web container. É possível, por exemplo, implantar o programa no JBoss AS 7 e então usar um user agent qualquer para acessar o endereço publicado pelo JBoss AS 7 com o DevMode.
Para fazer isso é necessário:
- acrescentar o parâmetro -noserver aos argumentos do DevMode
- modificar o parâmetro -startupUrl , nos argumentos do DevMode, para o local de publicação do seu programa
Para depurar completamente o seu programa, você deve:
- iniciar o servidor de aplicação no modo Debug
- publicar seu programa no servidor de aplicação
- iniciar o GWT DevMode configurado adequadamente
Observe que o endereço do GWT DevMode é um argumento para o programa Javascript; a ligação entre uma coisa e a outra é indireta o suficiente para permitir o programa ser hospedado em um servidor de aplicação completo, sem prejudicar o ciclo de desenvolvimento.
Comentários
Postar um comentário