Artigo Webmobile 07 - Struts na prática de ponta a ponta
Querendo conhecer o Struts? Ao longo desse artigo serão abordadas as tecnologias envolvidas no Framework Struts.
Clique aqui para ler esse artigo em PDF.
Struts na prática de ponta a ponta
Boa parte do framework Struts foi desenvolvido entre maio de 2000 e junho de 2001, quando sua primeira versão foi lançada. A responsabilidade esteve com uma equipe de aproximadamente 30 desenvolvedores, sendo que Craig R. MacClanahan foi o primeiro arquiteto e desenvolvedor do framework. Após quatro anos de estrada, o Struts tornou-se padrão de mercado para aplicações web em java. Atualmente, vários frameworks são apontados como substitutos para o Struts, como o Java Server Faces, de responsabilidade do próprio Craig MacClanahan. No entanto, a procura por profissionais com conhecimento neste framework deve continuar por muitos anos.
A estrada para o sucesso das aplicações web é um caminho árduo, despendendo suor de pesquisadores e também do próprio desenvolvedor. Neste caso, como aplicação web fica subentendido de que esta não é apenas uma aplicação trivial, composta por um formulário contendo dois ou três campos que são armazenados em um banco de dados. Mas sim uma aplicação robusta que atravessa diversas camadas, utiliza diferentes tecnologias, cobertas por análise e utilização de padrões (design-patterns).
O projeto e desenvolvimento deste tipo de aplicação levam os desenvolvedores para o limite da lógica. Soluções mirabolantes são criadas para resolução de certos problemas. Algumas destas soluções funcionam, outras não.
O framework Struts, criado por Craig R. McClanahan e doado para a fundação Apache (Apache Software Foundation) em 2000 é uma implementação de código aberto do Modelo 2, bastante similar ao modelo MVC (Model, View and Controller – design pattern para que as camadas de regra de negócio, visualização e controle estejam bem separadas na aplicação).
Neste contexto, ao longo desse artigo serão abordadas as tecnologias envolvidas no framework struts, já que este não é uma tecnologia específica, mas sim um conjunto de tecnologias que tornam o seu aprendizado ainda mais desafiador.
Frameworks
Um framework pode ser entendido como sendo uma aplicação reutilizável e semi-completa que pode ser especializada para produzir softwares personalizados. As aplicações construídas com o apoio de um framework são, de um modo geral, bastante semelhantes.
Os desenvolvedores que trabalham em aplicações eletrônicas convencionais estão acostumados a kits de ferramentas e a ambientes de desenvolvimento que aproveitam a igualdade entre as aplicações. Os frameworks da aplicação fornecem uma base comum reutilizável podendo servir como fundação para um produto específico.
Um framework de aplicação deve possuir as seguintes características:
·compreender múltiplas classes ou componentes, cada qual provendo uma abstração de um conceito em particular;
·definir como estes conceitos trabalharão juntos para resolver um determinado problema;
·possuir componentes reutilizáveis;
·permitir um alto nível de padronização.
Framework Jakarta Struts
O Struts é um framework para web que se tornou padrão na comunidade JEE (Java Enterprise Edition). O Struts provê uma implementação do modelo MVC-2 (ver Nota 1) para construções de aplicações web.
Nota 1. Modelo MVC-2 x Modelo MVC
O termo Modelo 2 (ou MVC-2) surgiu na especificação 0.92 da Servlet/JSP. Este modelo era especificado como uma arquitetura que utiliza servlets e as páginas JSP juntas na mesma aplicação. No modelo 2, os servlets são responsáveis pelo acesso a dados e também pelo fluxo navegacional, enquanto as páginas JSP lidam com a apresentação. Este modelo permite que engenheiros Java e os desenvolvedores HTML trabalhem cada um em sua parte da aplicação. Desta forma, a aparência da aplicação pode ser alterada (HTML) sem que a sua funcionalidade ou fluxo de navegação precise acompanhar as alterações.
O framework Struts é baseado na arquitetura do modelo 2. Fornece um servlet controlador para lidar com o fluxo navegacional e as classes especiais para ajudar com o acesso dos dados. Uma biblioteca de tags personalizadas é enviada com o framework para tornar o Struts ainda mais fácil de usar com as páginas JSP. Pode-se observar que o Struts implementa o pattern MVC, onde as camadas de Modelo, Visualização e Controle devem ser implementadas separadamente na aplicação.
Mas qual a finalidade do Struts? Da mesma forma que a construção de uma casa, ponte e prédio necessitam de uma base mantenedora, os desenvolvedores utilizam o Struts para suportar cada camada de uma aplicação. O nome Struts deve-se ao papel por ele desempenhado nas aplicações web, o de fornecer toda a estrutura inicial. O Struts implementa o controlador da aplicação (a letra C da sigla MVC-2), sendo este controlador o responsável por toda a logística e também pela integração das camadas de visualização e regra de negócio do sistema.
Struts de ponta a ponta
Para facilitar o entendimento do Struts, observe na Figura 1 o fluxo normal de uma aplicação utilizando o Struts, e também quais tecnologias estão envolvidas em cada uma das etapas.
Figura 1. Fluxo de uma aplicação Struts.
As etapas estão descritas a seguir, de acordo com a numeração indicada na Figura 1:
1. Cada solicitação HTTP tem que ser respondida neste mesmo protocolo. Desta forma, inicia-se uma aplicação que utiliza o Struts. Esta solicitação normalmente é definida como requisicao.do, que é um nome lógico para a requisição do usuário.
2. A solicitação requisicao.do é mapeada no arquivo struts-config.xml. Neste arquivo estão todas as definições do controlador do framework. O arquivo é então lido por um ActionServlet (que fará efetivamente o papel do controlador da aplicação) na inicialização da aplicação criando então um banco de objetos com o arquivo de configuração. No arquivo de configuração são definidos os Actions (requisições dos usuários) para cada solicitação.
3. O "
[...] continue lendo...Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo