II - Capítulo - Overview do JavaServer Faces
O JavaServer Faces é um framework de componentes server side para a construção de aplicações Web na plataforma Java.
O Framework JavaServer Faces foi desenhado para facilitar o desenvolvimento de aplicações web através de componentes de interface com o utilizador (UI - User Interface) e facilita a ligação destes componentes a objetos de negócio. O JSF é parte da especificação da plataforma JavaEE.
O JSF é um Framework fortemente baseado nos padrões MVC Model2 e FrontController para a web com interfaces caracterizadas por um modelo gráfico baseado em eventos.
Fundamentalmente o JSF consiste no seguinte:
Uma API para a representar os componentes e fazer a gestão dos seus estados;
tratamento de eventos, validação e conversão de dados;
definição da navegação entre paginas;
suporte à internacionalização e acessibilidade;
e provê extensibilidade para todas estras características.
- Um conjunto de bibliotecas de tags para a adição de componentes às paginas Web e para ligar componentes à objetos do lado do servidor.
O JSF tem um modelo de programação bem definido e várias bibliotecas de tags. As bibliotecas de tags contêm manipuladores de tag que as tags dos componentes implementam.
Estes recursos facilitam significativamente o processo de construção e manutenção de uma aplicação Web com componentes de interface server-side.
Com um mínimo de esforço, pode-se realizar diversas tarefas, tais como:
● Criar uma pagina Web;
● Colocar um componente na pagina Web através das tags de componentes;
● ligar (bind) componentes da pagina com objetos e dados do lado do servidor;
● Associar o evento gerado pelo componente ao código da aplicação no lado do servidor;
● Guardar e restaurar o estado da aplicação além do tempo de vida da requisição do servidor;
● Reutilizar e estender os componentes através de um processo de personalização.
É importante realçar que um framework é uma abstração que une códigos comuns entre vários projetos de software provendo uma funcionalidade genérica. O framework pode atingir uma funcionalidade específica, por configuração, durante a programação de uma aplicação.