Struts: primeiros passos - Conceitos, arquitetura e exemplos
Artigo publicado pela Java Magazine 06.
Clique aqui para ler esse artigo em PDF.
Struts: primeiros passos
Conceitos, arquitetura e exemplos
Conheça o framework líder no desenvolvimento web
No desenvolvimento de aplicações web, a mistura de código Java com HTML e JavaScript pode trazer muitos problemas no desenvolvimento, questão que se agrava quando a aplicação possui design gráfico complexo e funcionalidades avançadas. Torna-se difícil a manutenção do código e a interação entre a equipe de desenvolvimento e a de design gráfico fica comprometida. Como solucionar as divergências, separar melhor o trabalho das equipes e fazê-las trabalhar com produtividade em suas especialidades?
Um passo importante é padronizar a arquitetura das aplicações, usando as melhores práticas do mercado e evitando partir do zero. É nesse ponto que entram os frameworks web, entre os quais o Struts do projeto Apache Jakarta é o mais conhecido e respeitado.
O framework
Com o nome completo Apache Struts Web Application Framework, o Struts é quase um consenso entre os desenvolvedores de aplicações web com Java. Além de ser software livre e bem documentado (tanto na web como em diversos livros), o Struts é flexível, extensível e suportado pelas principais ferramentas de desenvolvimento do mercado (entre elas JBuilder, Eclipse, JDeveloper, NetBeans e IDEA).
O Struts é baseado em uma variação do tradicional padrão de arquitetura MVC (Model-View-Controller) e se integra bem, na camada de apresentação, com outras tecnologias e frameworks web tais como Java Server Pages, Jakarta Velocity e XLST. Para a camada de dados, as opções são igualmente amplas: de JDBC a Enterprise JavaBeans, passando por JDO.
É a arquitetura do Struts que o torna tão extensível e adaptável. Antes de entrarmos nos detalhes sobre o framework, vamos conhecer um pouco sobre as origens e características dos padrões adotados pelo framework.
Arquiteturas e variações
O padrão de arquitetura MVC (em português: Modelo-Visão-Controlador) divide uma aplicação em três partes ou papéis: dados e classes de negócio (o modelo), apresentação (a visão) e controle. Centralizando o controle, o padrão MVC reduz a duplicação de código e simplifica a manutenção e evolução de aplicações web, além de fomentar o reuso dos componentes da visão e do modelo.
O JSP suporta parcialmente o padrão MVC, desde a versão 0.91, com a integração de JavaBeans com páginas JSP, em um padrão que ficou conhecido como Model 1. O Model 1, no entanto, não traz uma separação clara entre os papéis – são apenas dois componentes (JSPs e JavaBeans) para desempenhar os três papéis do MVC. O controle é descentralizado e tanto os desenvolvedores como os designers precisam editar páginas JSP, dificultando o trabalho em equipe e a manutenção. Por apresentar essas deficiências, a arquitetura Model 1 é considerada adequada apenas para aplicações pequenas e praticamente estáticas, sem um fluxo complexo de navegação.
Para projetos de grande porte, manter uma clara separação entre os papéis torna-se muito importante. Isso é atingido com a arquitetura Model 2, que adiciona um elemento: o controlador. Implementado geralmente por um servlet, o controlador tem a responsabilidade de receber solicitações, acessar classes de negócio e coordenar a geração do conteúdo da apresentação (páginas HTML, WML etc.). O pouco código Java que resta na apresentação (nas páginas JSP) pode ser substituído por tags personalizadas, que, para os designers, são mais fáceis de compreender e manter.
Em cena, o Struts
O Struts é uma implementação completa e madura do padrão de arquitetura Model 2. As melhores práticas dos Blueprints da Sun (veja " [...] continue lendo...
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo