A resenha crítica comparativa - Inovando o Desenvolvimento Web com JSF e Design Patterns relaciona o contexto de desenvolvimento web com Java, com a utilização de frameworks e design patterns. O texto ressalta meios de se tornar mais produtivo em projetos de curto prazo.
Resenha Crítica Comparativa - Inovando o Desenvolvimento Web com JSF e Design Patterns
1. Resenha Crítica Comparativa
Bibliografia:
PITANGA, Talita. JavaServer Faces: A mais nova tecnologia Java para
desenvolvimento WEB. Disponível em:
<www.guj.com.br/content/articles/jsf/jsf >. Acesso em: 01 de Dez. de 2013.
PONTE, Rafael. Anatomia do JFS – JavaServer Faces. Disponível em:
<http://www.slideshare.net/rponte/anatomia-j-s-f-java-server-faces-c-c-t>. Acesso em:
01 de Dez. de 2013.
Esdras da Silva
Estudante de Sistemas de Informação. Atualmente é estagiário de testes da TRIBUTUS
INFORMÁTICA, empresa que desenvolve soluções em software para o setor tributário
municipal.
Inovando o desenvolvimento Web com JSF
e Design Patterns
A análise de ambos os artigos promove a importância, e a constante transição
das tecnologias utilizadas no desenvolvimento de aplicações Web; o aumento da
complexidade nos projetos; a utilização de frameworks; as requisições do cliente no
desenvolvimento de soluções cada vez mais interativas, e fáceis de utilizar, construídas
em curto prazo; e a utilização de Design Patterns com JSF.
Pitanga, e Ponte procuram mostrar, baseando-se em suas experiências pessoais
nas organizações que atuam, que problemas como portabilidade, escalabilidade,
requisições ao servidor, e definição de regras de negócio, só podem ser resolvidos com a
utilização de design patterns no desenvolvimento das páginas Web.
2. Talita Pitanga cita em seu texto algumas das tecnologias utilizadas na criação de
aplicações Web dinâmicas, como CGI (Common Gateway Interface), Servlets, e JSP
(Java Server Pages), suas limitações quanto à manutenção, e destaca também a
utilização do padrão de projeto MVC (Model View Controller). Ponte também cita os
Servlets, e a JSP, porém acrescenta à sua lista o framework Apache Struts, e a JSTL
(JavaServer Faces Standard Template Library), além de descrever dois padrões de
projeto bastante utilizados no desenvolvimento Web, a arquitetura em camadas (MVC),
e a arquitetura centrada em páginas JSP. Rafael Ponte ainda critica a limitação do Java
na construção aplicações Web com produtividade, a integração com vários frameworks,
e a ausência de uma API padrão para o desenvolvimento Web.
Para que o texto possa ser compreendido de forma mais clara, se faz necessário,
ao menos, o conhecimento do paradigma orientado a objetos, ou uma breve introdução
aos conceitos básicos da linguagem Java, e seus fluxos internos.
Os dois autores chegam ao consenso de que a utilização do framework JSF é
altamente indicada para suprir os problemas de produtividade, e manutenção. O
JavaServer Faces é um framework que utiliza o design pattern MVC, isto é, a aplicação
é organizada em camadas.
O JSF é um framework baseado em componentes de interface com o usuário, e
orientado a eventos (chamada a um método, ou clique em um botão); possui diversos
componentes padrões equivalentes às tags HTML; os objetos são expressos em uma
página JSP, e depois convertidos em HTML. Teve sua primeira versão (1.0) liberada em
2004, e desde então não parou de crescer, atualmente se encontra na versão 2.2. A
camada Model é responsável pelas regras de negócio, o estado da aplicação, e o acesso
aos dados; a camada View é responsável por definir a forma como os dados serão
apresentados, e como serão encaminhadas as ações dos usuários; por fim, a camada
Controller é responsável por estabelecer a ligação entre as camadas Model e View,
interpretar as ações do usuário, e traduzi-las.
Ponte utiliza métodos bastante descritivos sobre o JSF, destacando não apenas a
prática, mais também o conhecimento necessário para a construção de uma boa
aplicação Web, ressaltando inclusive a utilização de diversos frameworks em conjunto
com o JSF. Pitanga, no entanto se limita a apenas alguns conceitos básicos do
framework, ignorando questões como segurança.
Uma importante informação trazida por Talita é que no JSF o controle é
composto por um servlet denominado FacesServlet, arquivos de configuração, e um
conjunto de manipuladores de ações e observadores de eventos. Os FacesServlet
recebem as requisições, as envia para o modelo que posteriormente processa a resposta.
Os arquivos de configuração realizam associações e mapeamento de ações, e definem as
regras de navegação. Os manipuladores de eventos recebem os dados vindos da camada
de visualização, acessam o modelo, e devolvem o resultado para o FacesServlet.
3. O modelo representa os objetos de negócio, e recebe os dados vindos da camada
de visualização, através de uma lógica de negócio. Já a visualização é composta por
uma árvore de componentes (component trees), isto é, uma hierarquia de componentes
UI (User Interface).
As abordagens de Rafael e Talita, a respeito de JSF e design patterns
contribuíram para o aprendizado aprofundados na construção de aplicações Web ágeis,
portáveis, escaláveis. Ambos frisam as vantagens em incluir o JavaServer Faces no
desenvolvimento Web com Java. Este framework permite que se projetem conteúdos
Cross Browser, ou seja, a aplicação em questão suporta vários navegadores, indiferentes
da tecnologia, HTML, CSS, ou algum script cliente-side, como Javascript. Não é
preciso se preocupar se surgirem novas requisições do cliente, já que é possível fazer
integração com outros frameworks MVC como Struts, WebWork (Struts2), Spring
MVC, Tapsetry, etc. sem falar do Hibernate, framework para persistência de dados.
Tanto Pitanga, quanto Ponte retratam o mesmo cenário (o desenvolvimento de
aplicações Web), mas traçam caminhos diferentes no momento em que citam
tecnologias distintas, como por exemplo, o CGI, que foi a primeira tecnologia utilizada
na criação de páginas dinâmicas, mas não é cross browser, muito menos escalável. Cada
requisição recebida cria um novo processo no servidor, comprometendo
consequentemente seu desempenho; e o Facelets que é um subprojeto mantido pela Sun,
facilmente integrado ao JSF, é preciso em reportar erros, e usa XHTML como
tecnologia de view do JavaServer Faces.
Os autores contribuem de forma essencial sob o ponto de vista do
desenvolvimento de software Web, trazendo questões práticas e teóricas dos padrões de
projetos, e frameworks que automatizam os processos na criação de páginas dinâmicas.
Promovem a ideia de que a utilização, em conjunto, destas tecnologias resulta um
aprendizado único, e uma forma diferente de lidar com projetos que devem ser
desenvolvidos em curto prazo.
Os artigos JavaServer Faces: A mais nova tecnologia Java para desenvolvimento
Web, e Anatomia do JSF - JavaServer Faces, contribuições de Talita Pitanga, e Rafael
Ponte, respectivamente, são recomendados para todas as pessoas, sejam estudantes, ou
profissionais de tecnologia da informação, que buscam uma boa ferramenta para
aumentar a produtividade, e a riqueza de recursos em seus projetos.