EJB stands for Enterprise Java Beans. EJB is an essential part of a J2EE platform.
J2EE platform has component based architecture to provide multi-tiered, distributed
and highly transactional features to enterprise level applications.
EJB provides an architecture to develop and deploy component based enterprise
applications considering robustness, high scalability, and high performance. An EJB
application can be deployed on any of the application server compliant with the J2EE
1.3 standard specification.
We'll be discussing EJB 3.0 in detail in this tutorial.
Types
EJB is primarily divided into three categories; following table lists their names with
brief descriptions −
S.No Type & Description
Session Bean
1 Session bean stores data of a particular user for a single session. It can
be stateful or stateless. It is less resource intensive as compared to entity bean.
Session bean gets destroyed as soon as user session terminates.
2 Entity Bean
Entity beans represent persistent data storage. User data can be saved to
database via entity beans and later on can be retrieved from the database in the
entity bean.
3 Message Driven Bean
Message driven beans are used in context of
JMS JavaMessagingServiceJavaMessagingService.
Message Driven Beans can consumes JMS messages from external entities and
act accordingly.
Benefits
Following are the important benefits of EJB −
Simplified development of large-scale enterprise level application.
Application Server/EJB container provides most of the system level services
like transaction handling, logging, load balancing, persistence mechanism,
exception handling, and so on. Developer has to focus only on business logic of
the application.
EJB container manages life cycle of EJB instances, thus developer needs not to
worry about when to create/delete EJB objects