SlideShare uma empresa Scribd logo
1 de 3
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.
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.
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.

Mais conteúdo relacionado

Mais procurados

Capa, contra capa, introdução ,conclusão, biografia,
Capa, contra capa, introdução ,conclusão, biografia,Capa, contra capa, introdução ,conclusão, biografia,
Capa, contra capa, introdução ,conclusão, biografia,Jaqueline Sarges
 
Aula 9. modelo de plano de aula
Aula 9. modelo de plano de aulaAula 9. modelo de plano de aula
Aula 9. modelo de plano de aulaKarlla Costa
 
Resenha crítica modelo
Resenha crítica   modeloResenha crítica   modelo
Resenha crítica modelotaise_paz
 
A atuação no pedagogo no Terceiro Setor: as ONGs
A atuação no pedagogo no Terceiro Setor: as ONGsA atuação no pedagogo no Terceiro Setor: as ONGs
A atuação no pedagogo no Terceiro Setor: as ONGsprofamiriamnavarro
 
PLANO DE CURSO DE ESTÁGIO SUPERVISIONADO - 7° PERÍODO DE PEDAGOGIA DAS FIP
PLANO DE CURSO DE ESTÁGIO SUPERVISIONADO - 7° PERÍODO DE PEDAGOGIA DAS FIPPLANO DE CURSO DE ESTÁGIO SUPERVISIONADO - 7° PERÍODO DE PEDAGOGIA DAS FIP
PLANO DE CURSO DE ESTÁGIO SUPERVISIONADO - 7° PERÍODO DE PEDAGOGIA DAS FIPwww.estagiosupervisionadofip.blogspot.com
 
Modelo banner 90 x 120
Modelo banner 90 x 120Modelo banner 90 x 120
Modelo banner 90 x 120PotenzaWD
 
Relatório do filme "A Vida é Bela"
Relatório do filme "A Vida é Bela"Relatório do filme "A Vida é Bela"
Relatório do filme "A Vida é Bela"Mariana Santos
 
TUTORIA - NOVO ENSINO MÉDIO
TUTORIA - NOVO ENSINO MÉDIOTUTORIA - NOVO ENSINO MÉDIO
TUTORIA - NOVO ENSINO MÉDIODellon Sousa
 
Guia de-implantacao-do-novo-ensino-medio
Guia de-implantacao-do-novo-ensino-medioGuia de-implantacao-do-novo-ensino-medio
Guia de-implantacao-do-novo-ensino-medioHeldelene Cavalcanti
 
Modelo de artigo científico básico - com normas ABNT
Modelo de artigo científico básico - com normas ABNTModelo de artigo científico básico - com normas ABNT
Modelo de artigo científico básico - com normas ABNTRosineia Oliveira dos Santos
 
Resenha acadêmica
Resenha acadêmicaResenha acadêmica
Resenha acadêmicamegainfoin
 
Didática
DidáticaDidática
Didáticagadea
 
Aula 04 metodologia de um tcc
Aula 04   metodologia de um tccAula 04   metodologia de um tcc
Aula 04 metodologia de um tccHidematuda
 
Resenha FILME MEU NOME É JONAS
Resenha FILME MEU NOME É JONASResenha FILME MEU NOME É JONAS
Resenha FILME MEU NOME É JONASRaedja Guimarães
 

Mais procurados (20)

Aulas de protagonismo juvenil ef
Aulas de protagonismo juvenil efAulas de protagonismo juvenil ef
Aulas de protagonismo juvenil ef
 
Capa, contra capa, introdução ,conclusão, biografia,
Capa, contra capa, introdução ,conclusão, biografia,Capa, contra capa, introdução ,conclusão, biografia,
Capa, contra capa, introdução ,conclusão, biografia,
 
Aula 9. modelo de plano de aula
Aula 9. modelo de plano de aulaAula 9. modelo de plano de aula
Aula 9. modelo de plano de aula
 
Resenha crítica modelo
Resenha crítica   modeloResenha crítica   modelo
Resenha crítica modelo
 
Modelo de artigo cientifico
Modelo de artigo cientificoModelo de artigo cientifico
Modelo de artigo cientifico
 
A atuação no pedagogo no Terceiro Setor: as ONGs
A atuação no pedagogo no Terceiro Setor: as ONGsA atuação no pedagogo no Terceiro Setor: as ONGs
A atuação no pedagogo no Terceiro Setor: as ONGs
 
PLANO DE CURSO DE ESTÁGIO SUPERVISIONADO - 7° PERÍODO DE PEDAGOGIA DAS FIP
PLANO DE CURSO DE ESTÁGIO SUPERVISIONADO - 7° PERÍODO DE PEDAGOGIA DAS FIPPLANO DE CURSO DE ESTÁGIO SUPERVISIONADO - 7° PERÍODO DE PEDAGOGIA DAS FIP
PLANO DE CURSO DE ESTÁGIO SUPERVISIONADO - 7° PERÍODO DE PEDAGOGIA DAS FIP
 
Apresentação estágio 1
Apresentação estágio 1Apresentação estágio 1
Apresentação estágio 1
 
Modelo banner 90 x 120
Modelo banner 90 x 120Modelo banner 90 x 120
Modelo banner 90 x 120
 
Relatório do filme "A Vida é Bela"
Relatório do filme "A Vida é Bela"Relatório do filme "A Vida é Bela"
Relatório do filme "A Vida é Bela"
 
TUTORIA - NOVO ENSINO MÉDIO
TUTORIA - NOVO ENSINO MÉDIOTUTORIA - NOVO ENSINO MÉDIO
TUTORIA - NOVO ENSINO MÉDIO
 
PIAF CARDÁPIO 2023.pdf
PIAF CARDÁPIO 2023.pdfPIAF CARDÁPIO 2023.pdf
PIAF CARDÁPIO 2023.pdf
 
Atividade com o filme
Atividade com o filmeAtividade com o filme
Atividade com o filme
 
Guia de-implantacao-do-novo-ensino-medio
Guia de-implantacao-do-novo-ensino-medioGuia de-implantacao-do-novo-ensino-medio
Guia de-implantacao-do-novo-ensino-medio
 
Modelo de artigo científico básico - com normas ABNT
Modelo de artigo científico básico - com normas ABNTModelo de artigo científico básico - com normas ABNT
Modelo de artigo científico básico - com normas ABNT
 
História da educação no Brasil
História da educação no BrasilHistória da educação no Brasil
História da educação no Brasil
 
Resenha acadêmica
Resenha acadêmicaResenha acadêmica
Resenha acadêmica
 
Didática
DidáticaDidática
Didática
 
Aula 04 metodologia de um tcc
Aula 04   metodologia de um tccAula 04   metodologia de um tcc
Aula 04 metodologia de um tcc
 
Resenha FILME MEU NOME É JONAS
Resenha FILME MEU NOME É JONASResenha FILME MEU NOME É JONAS
Resenha FILME MEU NOME É JONAS
 

Semelhante a Resenha Crítica Comparativa - Inovando o Desenvolvimento Web com JSF e Design Patterns

Semelhante a Resenha Crítica Comparativa - Inovando o Desenvolvimento Web com JSF e Design Patterns (20)

Jsf
JsfJsf
Jsf
 
Curso jsf
Curso jsfCurso jsf
Curso jsf
 
Padrão Arquitetural MVC e suas aplicações para WEB
Padrão Arquitetural MVC e suas aplicações para WEBPadrão Arquitetural MVC e suas aplicações para WEB
Padrão Arquitetural MVC e suas aplicações para WEB
 
Jsf – Java Sever Faces
Jsf – Java Sever FacesJsf – Java Sever Faces
Jsf – Java Sever Faces
 
Camadas
CamadasCamadas
Camadas
 
Asp net mvc
Asp net mvcAsp net mvc
Asp net mvc
 
Apresentação Facelets_UNIFEI
Apresentação Facelets_UNIFEIApresentação Facelets_UNIFEI
Apresentação Facelets_UNIFEI
 
Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Treinamento ASP.NET 2014
Treinamento ASP.NET 2014
 
Oficina cake php
Oficina cake phpOficina cake php
Oficina cake php
 
Anatomia do JSF, JavaServer Faces
Anatomia do JSF, JavaServer FacesAnatomia do JSF, JavaServer Faces
Anatomia do JSF, JavaServer Faces
 
JSF2 ScrumToys SestInfo 2010
JSF2 ScrumToys SestInfo 2010JSF2 ScrumToys SestInfo 2010
JSF2 ScrumToys SestInfo 2010
 
Ebook AngularJS | Guia Introdutório
Ebook AngularJS | Guia Introdutório Ebook AngularJS | Guia Introdutório
Ebook AngularJS | Guia Introdutório
 
Jsf 2 slideshare
Jsf 2 slideshareJsf 2 slideshare
Jsf 2 slideshare
 
JavaServer Faces
JavaServer FacesJavaServer Faces
JavaServer Faces
 
ASP.NET Web Forms X ASP.NET MVC
ASP.NET Web Forms X ASP.NET MVCASP.NET Web Forms X ASP.NET MVC
ASP.NET Web Forms X ASP.NET MVC
 
Arquitetura de sistemas web
Arquitetura de sistemas webArquitetura de sistemas web
Arquitetura de sistemas web
 
1409243945064
14092439450641409243945064
1409243945064
 
Framework struts2v2.5
Framework struts2v2.5Framework struts2v2.5
Framework struts2v2.5
 
genesis - Acelerando o desenvolvimento de aplicações desktop
genesis - Acelerando o desenvolvimento de aplicações desktopgenesis - Acelerando o desenvolvimento de aplicações desktop
genesis - Acelerando o desenvolvimento de aplicações desktop
 
Jheat
JheatJheat
Jheat
 

Último

ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfSamaraLunas
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx2m Assessoria
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuisKitota
 
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docxATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx2m Assessoria
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 

Último (9)

ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docxATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 

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.