A session bean
is created by a client and usually exists only for the duration
of a single client/server session. A session bean performs
operations, such as calculations or accessing a database, for the
client. While a session bean may be transactional, it is not
recoverable should a system crash occur. Session bean objects can be
either stateless or they can maintain conversational state
across methods and transactions. If they do maintain state,
then the EJB container manages this state if the object
must be removed from memory. However, the session bean
object itself must manage its own persistent data.