Olá desenvolvedores, começamos neste tutorial mais uma série de tutoriais sobre o PrimeFaces, JSF – JavaServer Faces e Hibernate. Estes são três dos frameworks mais utilizados no mundo do desenvolvimento de aplicações corporativas. Com eles podemos de um jeito rápido e fácil criar qualquer cadastro que você tenha em mente.

Mas primeiro faremos uma breve revisão sobre o JSF, componentes, bibliotecas, configuração de projetos, ManagedBeans, aprenderemos mais sobre os escopos do ManagedBean. E ainda, estudaremos mais sobre formulários, sobre Ajax. Reforçando dessa forma conceitos já aprendidos e aprendendo outros novos.

FRAMEWORK MVC

O JSF – JavaServer Faces é um framework da arquitetura MVC – Model View Controller (modelo-visão-controlador). Este padrão de implementação em arquitetura de software objetiva separar a representação da informação, da interação do usuário com ela.

Dessa forma Model é a parte que consiste nos dados da aplicação, regras de negócio, lógicas e funções. O View constitui as telas, a camada de apresentação de uma aplicação. E o Controller, embora também se refira as classes é a parte responsável pela interceptação da requisição da página. Assim além de uma melhor organização, podemos prover a cada classe sua própria responsabilidade.

Desse modo, tanto a camada de modelo como a camada de controle são, no contexto do Java, classes. A View caberá especificar para qual controle será feita a requisição.

No que diz respeito aos frameworks, embora haja inúmeros no mercado e cada um com um propósito distinto, o ponto comum entre todos é a reusabilidade promovida por eles. Um dos principais objetivos de um framework é propor uma solução para problemas recorrentes, dessa forma, permitindo que o desenvolvedor se concentre no desenvolvimento das regras de negócio que regem a aplicação.

JSF

É neste contexto do padrão MVC que o JSF se insere, ele surge, em termos técnicos como uma estrutura de interface com o usuário (UI) orientada a componentes padrão para a plataforma Java EE. Ou simplesmente podemos falar que é uma estrutura da web baseada em Java.

E como ele está incluído na plataforma JAVA EE é possível criar aplicativos que usam JSF sem adicionar nenhuma biblioteca extra ao seu projeto.  Em projetos anteriores, utilizamos o Mavem como o principal repositório de dependências, porque esta é a maneira mais rápida de implementarmos um projeto JavaServer Faces.

Entre os principais objetivos do JSF gerar uma interface de usuário e responder a eventos gerados pelos usuários são os que se destacam.

COMO FUNCIONA

O cliente acessa um sistema qualquer desenvolvido com o JSF e ao interagir com ele, dispara um evento. Este evento que é uma ação praticada pelo usuário, está diretamente ligado ao Managed Bean. Toda tela JSF tem o seu Managed Bean controlado pela classe Faces Servlet por meio da qual podemos obter todos os dados do JSF. O Managed Bean representa a camada de Controle (controller). É esta camada da aplicação a responsável por interceptar os dados da tela que serão injetados na camada de Modelo.

Como mencionado, os dados que chegam no Controller são injetados na camada de modelo (Model), que tem a responsabilidade de gerenciar o comportamento dos dados através das regras de negócio, implementação de lógica e funções. Depois de processado os dados o Controller envia a resposta para o cliente.

EM POUCAS PALAVRAS

Neste tutorial fizemos uma rápida revisão acerca do framework MVC, o JSF, e dessa forma tentei sanar alguma dúvida que ainda pudesse restar acerca de como funciona o JSF por “baixo dos panos”.

Espero que tenham compreendido que a camada de modelo pode ser entendida como a responsável pela modelagem dos dados (persistência). E que a View é simplesmente a tela por meio da qual o usuário interage com a aplicação.  E que o Controller, por sua vez, é quem irá trafegar os dados de um lado para o outro.