JSF – Java Server Faces
Para quem nunca ouviu falar de JSF, ele nada mais é que um framework onde é efetuada a elaboração de interfaces de usuários para sistema web, colocando componentes em um formulário e ligando os a objetos Java, sendo assim ele faz a separação entre a lógica e regras de negocio a navegação e conexões com serviços externos seguindo o modelo MVC. Tem como ponto forte a possibilidade de um grande numero de componentes e um designs bastante flexível por isso essa framework vem se acomodando nas novas tecnologias.
JSF é um framework de fácil manuseio bastam apenas termos alguns fundamentos em framework e desenvolvimento web, abaixo vai explicar um pouco mais sobre o que esse framework faz:
Framework (uma estrutura de suporte definida, um framework pode incluir programas de apoio, linguagem de scripts, biblioteca de códigos).
JSF possui alguns componentes simples como o input e botões a também componentes sofisticados como o de tabela de dados porem acredito que o mais importante é pelo fato de integrar com o padrão Java EE e estar incluído em cada servidor de aplicação Java EE sendo assim a facilidade de ser adicionado a um container web.
Falarei de algumas tags jsf algumas são bem parecidas com as de HTML
Primeiro exemplo é a tag form.
Em HTML é form e no JSF é h: form
Tag input text
Em HTML “input” element of “type” “text” e no JSF h: input text
Para saber sobre mais tags esse é o link :
http://docs.oracle.com/cd/E17802_01/j2ee/javaee/javaserverfaces/1.2_MR1/docs/tlddocs/
Agora vou falar sobre o MVC
O MVC é um padrão que, de modo geral, divide uma aplicação em três camadas: model, view e controller.
A view ela é responsável pela apresentação da interface ao usuário.
Model é referente a apresentação dos objetos de negocio e pelo fornecimento do acesso ao dados de negocio.
Controller define o comportamento de uma aplicação interpretando as ações podendo realizar chamadas a model
Para modo geral podemos dizer que a controller fornece uma ligação entre a view e a model.
O diagrama abaixo demonstra a relação entre model, view e controller onde as linhas sólidas indicam associação direta e as tracejadas indicam associação indireta.
MVC no JSF
No JSF a controller fica por conta de um servlet (Servlets são módulos de software que são executados em um servidor web para atender as requisições de aplicações cliente e prestar-lhes algum tipo de serviço. ), chamado de Faces Servlet, pelo o arquivo de configuração,(Ex: faces-config. xml). O Faces Servlet é destinado a receber as requisições e encaminhá-las a model e enviar as respectivas respostas.
Os Arquivos de configuração são os responsáveis por definir a navegação entre as paginas e o mapeamento de ações.
A Model é constituída por classes de entidade e de negocio e que sendo assim recebem dados da camada view e executam as regras pertinentes ao negocio. Porem na view remete-se ao que usuário vê sendo a interface, no jsf se utiliza de componentes, é possível dizer que esta composta por uma hierarquia de componentes organizados.
De modo simples , podemos dizer que o MVC em aplicações web é distribuído da seguinte forma:
View:
•Componentes UI em páginas JSP/XHTML
• Kits renderizadores (HTML, WML, XML, etc.)
Controller:
• Faces Servlet (Front Controller)
• Backing Bean (Page Controller ou Modelo)
Model:
• entidades e regras de negócio
• Objetos gerais da aplicação (dados, etc.)
Concluindo o JSF no modelo MVC é a framework mais utilizada pelos desenvolvedores web por ser flexível, fácil entendimento, diversos design e de fácil manuseio e que é usado por nós da Fábrica de Software – Senac MS