Olá desenvolvedores, neste artigo falaremos sobre o padrão Open Session In View que determina que para cada requisição, uma nova sessão no banco de dados deverá ser iniciada. Mas o ponto interessante é que esta sessão deverá permanecer aberta durante todo o ciclo de vida da requisição. Assim, ela poderá ser usada por qualquer operação realizada tanto para o processamento da requisição quanto para a renderização da resposta a ela.
A integração com uma determinada base de dados (relacional) é lugar comum na implementação de uma aplicação desenvolvida com a linguagem Java. Nesse sentindo entender os principais recursos e ferramentas que auxiliam no desenvolvimento de soluções complexas, robustas e que garantem desempenho, eficiência e qualidade é primordial.
COMO FUNCIONA O PADRÃO
Na prática o padrão “Open Session In View” é um “filter”, a partir dele implementaremos um filtro de autenticação. Em outras palavras é, e, ratificando o que já foi dito, significa que a sessão e/ou entrada no sistema será liberada por meio desse filtro.
O nosso contexto, vale lembrar é o da web, assim, de um lado temos uma aplicação sendo exibida em um browser ou como é mais comumente conhecido, navegador web. Desse modo sempre que o usuário interage com a aplicação, como clicando em um botão para “logar” em um formulário de login, por exemplo, uma requisição é enviada ao servidor. Este servidor processará tal requisição validando-a ou não e então enviará um resultado. O resultado é o que chamamos de resposta.
Perceba que o “Open Session In View” é uma classe Java e estará, dessa forma, do lado do servidor. Como um padrão de filtro de autenticação, o “Open Session In View” irá validar o pedido de acesso ao sistema, se a requisição for validada a resposta será um redirecionamento para a tela que dá acesso as demais telas do sistema, isto é, a sessão será iniciada.
EM POUCAS PALAVRAS
Entenda que por traz da tela de login existem várias outras telas, no entanto, o usuário só terá acesso a elas, se suas credenciais de acesso ao sistema tiverem passado pelo filtro de autenticação.
A ideia é que, mesmo que o usuário tente “bular” as regras do sistema inserindo na URL o endereço da página que deseja ter acesso, se ele não tiver logado, ele será redirecionado para a tela de login. Do contrário, se a sessão ainda estiver aberta, isto é, se ele tiver logado, ele conseguirá acessar a página.