2. Plano
● Visão geral sobre desenvolvimento web;
● Fundamentos e características do JSF;
● Principais implementações e bibliotecas de
componentes;
● Ciclo de vida do JSF;
● Exemplos básicos.
3. Desenvolvimento: Desktop x Web
Desktop:
● Replicação de código
nos clientes;
● Processamento local →
Regras de negócio,
validações, etc.;
● Gerência, manutenção e
depuração mais
complicados.
Web:
● Código centralizado em
servidor;
● Clientes mais leves e
comunicação por HTTP;
● Requisições e
respostas;
● Melhor gerenciamento e
manutenibilidade.
5. Frameworks web baseados em componentes
● Arcabouços de software/Conjuntos de bibliotecas;
● Abstraem protocolo de comunicação;
● Dinamizam operações repetitivas de desenvolvimento;
● Buscam reutilização de código, evitando complexidade;
● Fornecem acesso a dados, segurança, gerência de
sessão, modelagem, etc.;
● Componentes visuais pré-definidos (renderização da
UI);
● Exemplos: Struts, Spring Web MVC, GWT, JSF, etc.
6. MVC - Model View Controller
Modelo arquitetural/Padrão de projeto: separa regras de
negócio/modelo de dados e visão por meio de um controlador.
Fonte: https://www.youtube.com/watch?v=3Cj2mDx0-Ws#t=745
7. JavaServer Faces (JSF)
● Framework web MVC
● Definida pela JCP (padrão Java)
● Conjunto de componentes padrão (UI)
● Tags jsp para acesso aos componentes
● Extensível/personalizável
● Comunicação entre componentes e dados do
servidor
● Eventos de componentes chamam funções do
8. JavaServer Faces (JSF)
● Validação e conversão de dados
● Suporte a Ajax
● Suporte à Internacionalização
● Guarda estado dos componentes (Stateful)
● Servidores de aplicação: Tomcat, Glassfish, JBoss,
etc.
9. Implementações e Bibliotecas de componentes
Implementações:
● Implementação de
referência: Oracle Mojarra
(http://javaserverfaces.java.
net/)
● Outra implementação:
MyFaces, da Apache (http:
//myfaces.apache.org/)
Bibliotecas:
● RichFaces
● PrimeFaces
● ICEFaces
● OpenFaces
● Trinidad