Escolhendo entre HttpSession e Stateful Session Bean

Tanto os objetos HttpSession utilizados nos Servlets e os EJB's Stateful 
Session Bean podem ser usados para manter o estado do cliente, como por 
exemplo os dados do carrinho de compras. Mas qual é a melhor opção?
Isso vai depender, é claro, de suas necessidades.
As principais características são:

1. Statefull Session Beans
   Vantagens:
   * Suporta serviços de transação, segurança, gerenciamento de ciclo de 
vida, RMI, cache, thread safe, etc. Todos estes recursos já fazem parte 
do EJB, você não precisa desenvolve-los.
   * Pode ser acessado por clientes Web (Servlets, JSP) e classes Swing 
através de RMI e também através de outras linguagens usando CORBA.
   * Não está amarrado a um HTTP request.

   Desvantagens:
   * Por causa do grande número de recursos citado acima, um Session 
Bean é mais pesado que um HttpSession e por isso leva mais tempo em cada 
requisição e utiliza mais recursos do servidor.


2. HttpSession
   Vantagens
   * É um simples objeto java e é portanto muito mais leve e rápido 
utilizando poucos recursos do servidor.

   Desvantagens:
   * Não suporta transação, cache, RMI e não pode ser acesso diretamente 
através de outros clientes.
   * Os sessions estão amarrados ao objeto ServletRequest.


Em geral um HttpSession é melhor usado para guardar o estado do cliente 
(propriedades em formato de nome/valor). Estes dados podem ser enviados 
para um Stateless Session bean para fazer o processamento das 
informações do cliente.

Um Session Bean, geralmente contém lógica de negócio e possui os métodos 
que podem ser usados para tratar os dados nele contidos.

Uma outra vantagem que havia nos Session Beans era a possibilidade de 
utilização em Cluster, mas as novas versões de Web Container (Jetty e 
Tomcat no JBoss) já suportam cluster de objetos HttpSession.


Bons códigos!!!

______________________________________________________________________________
Handerson Ferreira Gomes
Summa Technologies
Boletim Dicas Java - Sua dose diária de Java.


================================================================================
[dicas-list] circula diariamente com pequenas dicas sobre a plataforma Java e é
mais um serviço da Sociedade de Usuários Java - http://www.soujava.org.br
      *** SouJava - Fortalecendo a Comunidade Java Brasileira! ***
- Para contribuir com uma dica, envie um e-mail para [EMAIL PROTECTED]
- Participe de outras listas de discussão sobre a linguagem Java.
  Saiba mais em http://www.soujava.org.br/lista.htm
--------------------------------------------------------------------------------
- Para assinar este boletim: mailto:[EMAIL PROTECTED]
- Para cancelar sua assinatura: mailto:[EMAIL PROTECTED]
- Dicas anteriores: http://www.mail-archive.com/dicas-list%40soujava.org.br
- Para discutir sobre as dicas, acesse o Mundo OO (http://www.mundooo.com.br)


Responder a