Primeiro a definição de EJB, basicamente um EJB (Enterprise Java Bean) é um componente de uma aplicação Java que fica em um servidor e desempenha uma função de negócio. Dessa forma, permite a construção de diferentes aplicações utilizando os mesmos beans (reaproveitamento).
Um tipo de EJB, é o
Session Bean, que pode ser do tipo Stateful e Stateless. É chavão em entrevistas rolar perguntas como "Quais os tipos de session beans?" ou "Quais as diferenças entre Stateful e Stateless session beans?".
Rapidamente podemos responder, dizendo que:
- Stateful Beans: são objetos distribuídos que armazenam os dados de uma sessão, nós instanciamos um por cliente.
- Stateless, como o nome diz (state less), não armazena estado, dessa forma, permite que N clientes acessem o mesmo ejb.
Aproveitando o post, também é comum perguntarem sobre o que é MDB, ou seja, Message Driven Beans. A resposta rápida para esta questão é dizer que MDB são JMS (java message service) + EJB, sendo assim um componente capaz de manipular mensagens (JMS) de forma assíncrona.
Enjoy!
Somente uma observacao ... Quando acessamos o EJB stateless, os clientes nao acessam o mesmo EJB ... lembre-se da instancia e seu pool
ResponderExcluir