A Session Bean implements and encapsulates a business task that can be invoked programmatically by a client over local, remote, or web service client views.
The session bean performs work (such as calculations or database access) for its client, shielding it from complexity by executing business tasks inside the server.
The application container or EJB container manages the life cycle of the session bean instances. It notifies the instances when bean action may be necessary, and it provides a full range of services to ensure that the session bean implementation is scalable and can support a large number of clients.
A session bean is not persistent (i.e.) its data is not saved to a database.