Desenvolvimento simples e dinâmico com o WebWork

Veja neste artigo a integração do WebWork com o Spring Framework e os novos recursos que tornam o desenvolvimento mais simples e dinâmico.

Clique aqui para ler este artigo em pdf

 

Clique aqui para ler todos os artigos desta edição

 

Desenvolvimento simples e dinâmico com o WebWork

Adicione recursos avançados à sua aplicação de forma simplificada

No artigo anterior, apresentamos o WebWork, um poderoso framework open source para desenvolvimento de aplicações web em Java.

Neste segundo artigo sobre o WebWork, será demonstrada a integração do WebWork com o Spring Framework e os novos recursos que tornam o desenvolvimento mais simples e dinâmico. Os recursos a seguir serão abordados nesse artigo: upload de arquivos, suporte Ajax e tags avançadas.

As novas versões

Nos últimos meses foram lançadas duas novas versões do WebWork, 2.2.3 e 2.2.4. No primeiro artigo sobre o WebWork publicado na edição 11 da WebMobile, utilizamos a versão 2.2.2. A seguir detalharemos as principais característica de cada versão.

?Versão 2.2.3: possui principalmente correções que foram detectadas na versão 2.2.2. Alguns componentes foram incluídos, como:

-date picker, uma calendário popup;

-head, tag que renderiza a tag HTML <head>;

-form, tag que renderiza a tag HTML <form>;

-radio, tag que renderiza a tag HTML <radio>;

-tree, tag que renderiza um menu em árvore;

-text, tag que renderiza textos

 

Além disso, outros componentes foram melhorados como o suporte a Ajax.

?Versão 2.2.4: essa é a atual versão do WebWork. A equipe de desenvolvimento do WebWork trabalhou arduamente para lançar essa versão pois possui uma série de correções de erros provenientes da versão 2.2.3. A maioria desses erros foram encontrados por usuários do framework e foram relatados no sistema de controle de bugs (consulte a seção links no fim do artigo para maiores informações sobre o endereço do sistema de controle de bugs do WebWork).

 

Para maiores informações sobre a instalação do WebWork, consulte o primeiro artigo sobre o WebWork publicado na edição 11 da WebMobile.

A seguir conheceremos a integração do WebWork com outros frameworks, e logo após, as principais novidades das versões 2.2.3 e 2.2.4.

Integrando o WebWork com outros frameworks

O WebWork é um framework que foi construído pensando na fácil integração com outros frameworks, para que o desenvolvedor não precise “reinventar a roda”, e sim reaproveitar o que já existe. A maioria das integrações existentes foca na disponibilização de recursos que muitas vezes não estão disponíveis no próprio framework.

É possível integrar o WebWork com:

?SiteMesh: é um mecanismo de templates open source que foca na reutilização de layouts através da utilização de Design Patterns na camada de apresentação;

?Quartz: é um framework open source que fornece aos desenvolvedores uma forma transparente de agendar tarefas. O Quartz pode ser utilizado tanto em aplicações Java EE quanto Java SE;

?Spring Framework: é, entre tantas outras coisas, um framework de injeção de dependências.

 

 Um ótimo exemplo de integração é o suporte a injeção de dependências do WebWork. O WebWork possui desde suas primeiras versões um suporte a injeção de dependências baseado no framework Apache Avalon, mas com o surgimento de novos frameworks, a equipe de desenvolvimento decidiu recomendar a integração com o Spring, ao invés de criar outro suporte baseado em novos conceitos que estão sendo utilizados pelos novos frameworks. A integração entre o Spring e o WebWork é feita de maneira simples. Detalhes sobre o conceito de injeção de dependências e sobre a integração do Spring com o WebWork serão vistos a seguir.

Injeção de dependências

A injeção de dependências, também conhecida como dependency injection (DI) em inglês, é uma abordagem de programação onde as dependências de uma classe são fornecidas por um mecanismo externo, ou seja, as dependências são injetadas na classe ao invés da classe criar os objetos que ela necessita. A injeção de dependências também é conhecida como “Princípio Hollywood - Não nos chame, nós chamamos você”.

Ao utilizar a injeção de dependências, conseguimos obter algumas vantagens como: baixo acoplamento e facilidade para criar testes unitários.

Existem três formas de injetar dependências em uma classe:

?Injeção via interface (tipo 1):    onde as dependências são injetadas através de uma interface;

?Injeção via setter (tipo 2): onde as dependências são injetadas através de métodos setter (seguindo o padrão JavaBean);

?Injeção via construtor (tipo 3): onde as dependências são injetadas através do construtor.

 

A partir da versão 1.3 do WebWork, o time de desenvolvimento decidiu incluir o suporte a injeção de dependências. Após passar algum tempo generalizando o conceito e se basear na estrutura do Apache Avalon, uma implementação similar foi adicionada ao WebWork. Essa implementação utiliza a injeção de dependências do tipo 1.

Com o passar do tempo, surgiram novos containers IoC, como o PicoContainer e o Spring. Então a equipe de desenvolvimento decidiu adotar o Spring como container de injeção de dependências recomendado para o desenvolvimento com o WebWork a partir da versão 2.2.

"
[...] continue lendo...
Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados