Session-per-request em aplicações Desktop [resolvido]

Pessoal,

Tenho uma aplicação desktop e estou precisando implementar o padrão Session-per-request. Porém minha aplição desktop não trabalha com requisições.
Como faço para implementar algo similar em uma aplicação desktop?

OBS: Sei perfeitamente como funciona o padrão Session-per-request em aplicações web e quero implementar algo parecido para aplicações desktop, tem alguma dica?

Lembrando que estou utilizando hibernate.

vlw.

Achei um link que dizia assim:

“Ao abrir um formulario vc dever iniciar uma sessão e quando for fechar a sessão tbm deve ser fechada.”

Dessa forma fica um pouco parecida como o padrao Session-per-Request, mas… ainda procuro melhorias, alguém tem alguma idéia?

att,

Para quem não sabe!
Session-per-request é um padrão de projeto baseado em aplicações web
Finalidade: controle as sessões abertas
Beneficio: evitar que várias sessões desnecessárias sejam abertas ao mesmo tempo reduzindo o consumo de banco
Funcionamento: vc faz uma requisição e abre uma sessão, ao encerrar a requisição a sessão será encerrada ou seja um sessão é aberta por resquisição, isso evita inumeras sessões abertas e reduz o consumo de banco.

Minha dúvida é: para desktop como posso implementar esse tipo de padrão?

Lembrando que existe um anti-padrão bastanti utilizado por muitos desenvolvedores é chamado de:
Session-per-Operation: a cada consulta ou CRUD uma sessão é aberta e fechada, isso consulta muitos recursos de banco deixando lento e derado.

e vc como trata suas sessões? se vc for iniciante tantos faz, mas se vc for um bom desenvolvedor tem q se atentar para esse tipo de situação!

aguardo resposta, criticas e duvidas.

[quote=hvivox]Achei um link que dizia assim:

“Ao abrir um formulario vc dever iniciar uma sessão e quando for fechar a sessão tbm deve ser fechada.”

Dessa forma fica um pouco parecida como o padrao Session-per-Request, mas… ainda procuro melhorias, alguém tem alguma idéia?

att,[/quote]

Cara seguinta a tua definição, vc não pode alocar o recurso pelo tempo que a janela fica aberta, imagine uma pessoa que so faz cadastros o dia todo, vai manter somente uma tela aberta, e a conexão vai se manter sempre ali. mesmo quando essa pessoa sair para ir ao banheiro, tomar um café, e por ai vai.

Nos usamos aqui é gostamos é de utilizar com desktop uma camada EJB e manter o processamento do lado do servidor, ou seja o client (Desktop) so se preocupa em carregar e alterar a informação. o processamento em si e controle de conexões fica no EJB controlado pelo Pool.

O ideal é tentar criar um POOL de conexões caso vc não queira optar por usar um modulo EJB, para gerenciar as conexões, ou seja, se a conexão esta ativa e livre, vc usa ela, se não cria mais uma. o consumo dimiui bastante.