Session beans
Used to model processes
Typically have no direct interaction with a database. Such interaction would be achieved by using the services of an entity bean.
May be stateful or stateless
Stateful beans maintain state across method calls, but the state is not maintained in a database
Stateless beans are often used to provide general functions such as validations or calculations
Stateless beans provide better performance, as a given method request may be serviced by any instance of the bean
Often used to provide an interface between the presentation layer and database layer of an application