Duvida Struts

Amigos tenho uma duvida, estou desenvolvendo um sisteminha web de Ordem ser Servico, logo desenvolvi uma classe OrdemServicoAction (que esta no meu pacote action), criei uma action @Action(value=“preparaResponderOrdemServico” …) que nada mais faz do que receber um codigo, buscar os dados da O.S. e retornar essa OS para a minha JSP que tem um formulario de resposta, agora tenho uma duvida:

e melhor eu salvar essa O.S. selecionado na minha sessao para quando o usuario clicar em responder eu nao precisar buscar ela no banco (pois preciso preencher o bean com um objeto OS), ou e melhor eu receber o codigo, buscar no banco e preencher?

obrigado

fabioebner
Citaria duas abordagens possíveis:

  1. Se o sistema for pequeno (poucos módulos) e não tiver muita manipulação de dados (CRUD) concorrente.
    Não haveria problemas de carregar a O.S. na sessão e depois recuperar, pois fica mais rápido do que acessar o banco de dados através de outras camadas.
    E pela característica de um sistema pequeno não vai estourar a memória, pois a quantidade de dados e acessos é pequena.
    Um ponto importante é que ao utilizar a sessão tome muito cuidado com o que gravar nela. Evite gravar muitos dados, pois isso diminui a performance do servidor.

  2. Se o sistema for grande (muitos módulos) e tiver uma grande concorrência na manipulação de dados (CRUD) concorrente.
    O ideal é fazer sempre a busca dos dados no banco. Porque depois de um período, que pode ser muito pequeno, entre a consulta e a resposta do usuário os dados podem ter sido alterados no banco de dados. Isso causaria inconsistência na sua base de dados.

Espero ter ajudado.

Abraços.