Developing Web Applications with JavaServer Faces (Qusay H. Mahmound) Luiza Pagliari Pablo Grigoletti Universidade Federal do Rio Grande do Sul Programa de Pós-Graduação em Computação Disciplina de Programação com Objetos Distribuídos Maio de 2005
Introdução / Motivação Desenvolvimento de aplicações web; CGI, Servlets, JSP,... Interfaces pobres e pouco funcionais (comparado com aplicações standalone); Difícil manutenção das aplicações web (não é comum a separação em camadas); Ao menos antes do surgimento de frameworks para auxiliar no desenvolvimento web (Struts, WebWork).
Objetivos Proporcionar um framework para o desenvolvimento de aplicações web com interfaces mais elaboradas (tratamento de eventos, validação de dados de entrada,...); Separar a interface das regras de negócio, utilizando o padrão MVC; Permitir a reutilização e adaptação dos componentes de interface, de acordo com as necessidades.
Modelo (arquitetura do JSF) Código da interface roda no servidor (os componentes possuem seus estados representados no servidor), respondendo a eventos gerados pelo cliente; JSF provê uma arquitetura para o: gerenciamento dos estados e processamento de informações dos componentes; validação das entradas do usuário; tratamento de eventos.
Dois componentes principais: Java APIs (representar componentes de interface, gerenciar estados, tratamento de eventos, validação de entrada); taglibs JSP (expressar a interface JSF em uma página JSP e realizar a conexão dos objetos no lado servidor). Modelo (arquitetura do JSF)
Aplicação Estrutura:.java – JavaBeans + classes auxiliares (regras de negócio);.xml – configuração das regras de navegação e descrição dos JavaBeans;.properties (opcional) – mensagens usadas nas páginas JSP..jsp – páginas JSP que incluem tags JSF (interface com o usuário);
Exemplo de Utilização PersonBean.java package jsfks; public class PersonBean { String personName; public String getPersonName() { return personName; } public void setPersonName(String name) { personName = name; } }
Exemplo de Utilização faces-config.xml /pages/inputname.jsp greeting /pages/greeting.jsp personBean jsfks.PersonBean request
Exemplo de Utilização messages.properties inputname_header = JSF KickStart prompt = Tell us your name: greeting_text = Welcome to JSF button_text = Say Hello sign = !
Exemplo de Utilização inputname.jsp Input Name Page
greeting.jsp Greeting Page, Exemplo de Utilização
Resultados
Considerações do Grupo JSF é uma tecnologia que permite o fácil desenvolvimento de aplicações web, focando principalmente as interfaces de usuário; Realmente separa a aplicação em camadas; É utilizado em aplicações web que rodam no lado servidor e retornam a interface para o cliente; Oferece mais benefícios no contexto de reutilização e adaptação de componentes; Configuração mais trabalhosa do que JSP, entretanto gera melhores resultados.
Avaliação do Artigo Qualidade científica: 3 Qualidade técnica: 4 Redação: 5 Formato: 4 Nota geral: 4