Session Bean: is a non-persistent object that provides some business logic running on the server. Session beans do not provide system break down. There are two kinds of session beans
1. Stateless session beans
2. Stateful session beans
Entity Bean: is a persistent object that presents object views of the data, generally a row in a database. They have the primary key as a unique key identifier. Multiple EJB clients can give each entity bean. Entity beans may provide system shutdowns. Entity beans can have two kinds of persistence
1. Container-Managed Persistence (CMP) - The container is responsible for providing the bean's state.
2. Bean-Managed Persistence (BMP) - The entity bean is responsible for giving its own state.
Message-driven Bean: is added with the Java Message Service (JMS) to give the ability to react as a message consumer and perform asynchronous processing between the message producer and the server.