Java Server Faces é um framework, que tem objetivo desenvolver aplicações web dinâmicas, de forma ágil. Esta tecnologia aciona características de um framework MVC para WEB e de um modelo de interfaces gráficas, baseada em eventos, desta forma traz consigo uma grande vantagem: A separação entre a visualização e as regras de negocio.
Incorpora características de um framework MVC para WEB e de um modelo de interfaces gráficas baseado em eventos. O objetivo do padrão MVC é dividir uma aplicação em três camadas: Modelo, Visualização e Controle. A visualização representa a interface com o usuário, ou seja, define a forma como dos dados serão apresentados e também encaminha as ações dos usuários para o controlador. Já a camada de controle é responsável por fazer a ligação entre o modelo e a visualização, além de interpretar as ações do usuário e as traduzir para operação sobre o modelo, onde são realizadas mudanças e, então, gerar uma visualização apropriada.
Arquitetura do Java Server Faces baseada no MVC
Características:
* Permite que o desenvolvedor crie UIs (Interfaces de Usuário);
* Fornece separação de funções que envolvem a construção de aplicações;
* Reutiliza componentes da página;
* Fornece um conjunto de tags JSP para acessar os componentes;
Vantagens:
* Reusa Componentes da Página
* Fornece separação de funções que envolvem a construção da aplicação;
* Permite que o usuário crie UI (Interface do Usuário)
Implementando JSF:
O Jsf é a especificação padrão da Oracle, tem como implementação o Mojarra da oracle e o Myfaces da Fundação apache. O bom de trabalhar com especificações é que sempre teremos uma opção de implementação. Alem de que existem várias bibliotecas de componentes para jsf sendo o mais popular o
ResponderExcluirPrimefaces: http://www.primefaces.org/showcase/ui/home.jsf
que é open-source.
Acho legal citar os recursos visuais,tais como, que o framework JSF permite a inserção, via IDE, de:
ResponderExcluir- Folhas de estilo (CSS);
- Comando em JavaScript; e
- Metodologia Ajax.
e que o JSF inclui:
- Suporte a internacionalização e acessibilidade;
- Um conjunto padrão de componentes de interface de usuário que possibilitam validação padronizada;
- Um modelo de eventos do lado servidor ("server-side event model");
- Duas bibliotecas de etiqueta ("tag libraries") especiais do JavaServer Pages (JSP) para expressar a interface do JavaServer Faces dentro de uma página JSP; e
- Gerência de estado.
JavaServer Faces oferece ganhos no desenvolvimento de aplicações WEB por diversos motivos:
ResponderExcluirPermite que o desenvolvedor crie UIs através de um conjunto de componentes UIs prédefinidos;
Fornece um conjunto de tags JSP para acessar os componentes;
Reusa componentes da página;
Associa os eventos do lado cliente com os manipuladores dos eventos do lado servidor(os componentes de entrada possuem um valor local representando o estado no lado servidor);
Fornece separação de funções que envolvem a construção de aplicações WEB.
O MVC é um padrão de arquitetura de software que visa separar a lógica de negócio da lógica de apresentação, permitindo o desenvolvimento, teste e manutenção isolado de ambos, trazendo muitas vantagens.
ResponderExcluirPesquisando mais sobre MVC, localizei sites interessantes que mostram como criar um mini-framework em PHP com MVC.
Segue:
http://www.videoaulasbrasil.com.br/criando-um-mini-framework-em-php-com-mvc/
um Complemento bem util pro JSF seria o BackingBeans que são classes simples com variáveis e contém os famosos setters e getters como citado no trabalho..
ResponderExcluirÉ o Bean que está por trás da funcionalidade de uma página, cuidando dos seus componentes, do estado da página, da navegação, etc. Costuma ser intimamente associado a alguma página.
Um outro também conhecido é o Managed Beans.