Een sessiebean is een type enterprisebean. De bean wordt gemaakt door een client en bestaat doorgaans alleen voor de duur van een enkele client-serversessie.
Sessiebeans zijn nuttig voor het beschrijven van interacties tussen andere beans (taakstroom) en voor het implementeren van bepaalde taken. Ze vertegenwoordigen geen gegevens in de database, maar ze hebben toegang tot gegevens. Daarom kunnen we sessiebeans gebruiken om gegevens te lezen, bij te werken en in te voegen in een bedrijfsproces. Sessiebeans hebben toegang tot gegevens die concepten omspannen, niet worden gedeeld en doorgaans alleen-lezen zijn. Sessiebeans bevatten bedrijfslogica en permanente gegevens voor entiteitenmodellen. Er zijn drie typen sessiebeans: zonder status, met status en singleton.
Een sessiebean zonder status wordt door de container in een pool geplaatst voor het afhandelen van meerdere aanvragen van meerdere clients en behoudt geen conversationele status.
Een sessiebean met status fungeert namens een enkele client en behoudt clientspecifieke sessiegegevens (genaamd conversationele status) in meerdere methodeaanroepen en transacties. De bean bestaat voor de duur van een enkele client/serversessie.
Een singleton-sessiebean is een sessiebeancomponent die eenmaal per toepassing wordt geïnstantieerd. In gevallen waarin de container over vele virtuele machines wordt gedistribueerd, heeft elke toepassing één beaninstance van de singleton voor elke JVM.