When do you use a session bean?
When you want to be certain your application data persists between program invocations, even in the event of a crash.
If you need to initiate a database transaction.
To process transient data that can be re-created in the event of a crash.
To keep people who do not know how to program from accidentally changing important logic code