Enterprise java bean (EJB) is a server side component which runs on application server or we call container, developed for the purpose of distributed and enterprise level application .container will provide support for system level services like Transaction Management, security which make developer task easy and he can focus on business logic.
Types of EJB:
Entity Bean: it represents an entity which is mapped with database or we can say it makes OR object Relational mapping with Database. Entity bean typically represent table in RDBMS and each instance represent row in the table.
Two types of entity bean:
a) CMP Entity bean: Container managed entity bean its responsibility of container to manage the bean persistence behavior.
b) BMP Entity bean: Programmer manage the bean persistence behavior.
Session bean: Session bean is responsible for developing business logic it makes the client server relationship so session beans exist till there is a session exist between client and server, it doesn’t contain persistent business concept.
Types of session bean
a) Stateless session bean: when there is not need to maintain state of a particular client stateless session bean is used .They alive for short period of time. For example if we are validating the credit card we can use stateless session bean.
b) State full session bean: state full session bean maintain the conversational state of client over the series of method call before the bean instance goes to passive state conversational state is saved to persistence area like Hard disk and again when same client send a request and bean instance come into the active state it will come out from hard disk to main memory.
For Example when we do online banking transaction ,online reservation we use state full session bean
Message Driven Beans: these beans are work as a listener for messaging services like JMS .