Difference Between EJB 2.1 and EJB 3.0 (With Table)

EJB, meaning ‘Enterprise Java Bean’, is a specific allotment by Sun Microsystems to make sure the scalable and robust distribution of applications. It also makes sure about the security of the applications.

An EJB application is usually launched alongside the website, hence it’s called a server-side component. EJB 2.1 and 3.0 serve the same skeletal purpose but there are quite a lot of differences between both versions.

EJB 2.1 vs EJB 3.0

The main difference between EJB 2.1 and EJB 3.0 is that the earlier 2.1 version was bulkier in terms of user interface and advancements whereas, the 3.0 version ensures a smooth user experience along with the conversion of old DTD into XML commands. Furthermore, the 3.0 version is simpler to use as the content manipulation is easier when compared to the 2.1 version.

The older EJB 2.1 was pretty decent at the time it was launched back in 2002. The 2.1 was a solid upgrade from 2.0 and came with fresh features like support of additional JMS. The architecture for message beans to support the use of messaging types other than JMS was generalized and properly categorized. Web service support of session beans to implement in web service with the help of WSI (Web service interface).

The EJB 3.0 is referred to as the most important update in the Java platform. The EJB 3.0 specification proposes a simplification and streamlining of the Java EE business logic and persistence programming paradigms. Main components of update in the EJB 3.0 enabled users in the following points;

  1. Crystal clear interface and simple for developers to develop independent EJBs.
  2. The new version ensures that the persistent framework is consistent.

Comparison Table Between EJB 2.1 and EJB 3.0

Parameters of comparison

EJB 2.1

EJB 3.0

Launch date

Final release in September 2002.

EJB 3.0, final release (2006-05-11).

Interface

Bulky and consisted of additional supporting codes for JAVA, web service support was introduced.

Easy interface with smooth code interpretation, easier content manipulation and no supporting codes are required.

Simplicity

Not easy to use and is slower when compared to its successor.

Is the biggest patch update that introduced featherweight entity bean endurance functioning.

Efficiency

Worked on the old DTD based commands. Also required additional interface and descriptors.

Increased efficiency by 45% and doesn’t require any specific interface and descriptors like the older 2.1 version

POJO configuration

Needs an EJB container as well as EJB codes to function efficiently.

All the interface functions are based on POJO (Plain Old Java Object) and doesn’t require any supporting EJB container.

What is EJB 2.1?

EJB stands for ‘Enterprise Java Beans’. It is a server-side software part that contains an application’s core business logic. An EJB web container runs web-related software components such as computer security, Java servlet lifecycle management, transaction processing, and other web services. EJB 2.1 is an earlier version of the newer EJB 3.0, back then the 2.1 did a decent job by introducing web service supports and required EJB containers for running the program.

Introduced back in 2002, this was decent and much used in middleware services such as security, transaction management as well as data storage. An EJB container is required to store the EJB applications along with the website it is side-loaded with. introduction of the EJB-QL was one of the milestone features of the 2.1 version, it enabled the user to write in ejb-jar.xml by defining the EJB-QL as well as other tags. The syntax for EJB-QL is; select_clause from_clause [where_clause] [orderby_clause]

Few new aspects of the EJB 2.1 included the introduction of mathematical functions like AVG, MAX, MIN, SUM etc. Some of the other important updates are listed below;

  1. The EJB timer service.
  2. Support for web services and EJB containers patch updates.
  3. EJB-QL support that enabled abstract programming as well as CMP.
  4. Message beans for non JMS users.

What is EJB 3.0?

A smooth and excelled transition from EJB 2.1 is what version 3.0 brought into the world of Java. The EJB 3.0 brought in a simple, streamlined, and hassle-free interface for the users and developers. Simplicity was offered throughout the process and even the operations of the 3.0 version were based on POJO (Plain Old Java Object) which made the codes less bulky and more efficient.

It was stated in the developer’s notes that the newly updated 3.0 version was 45% more efficient than its predecessor 2.1, which was much bulkier. Introduction of better techniques, including the usage of ‘metadata annotations’ and other mechanisms used in constructing robust Java codes and XML descriptors (used in 2.1 version), as opposed to the laborious and incorrect EJB 2.1 distribution descriptors, which were quite bulky and inaccurate as well.

The most streamlined feature of the 3.0 version was the ease of usability over the older 2.1 version. Few features of the new version are as follows;

  1. Simplified API for EJB.
  2. New java annotations
  3. Optional annotation call-backs
  4. Dependency injection and elimination of broiler plate codes.
  5. Simplified UI and improved web support services.

Main Differences Between EBJ 2.1 and EBJ 3.0

  1. EBJ 2.1 was launched in 2002 whereas, the 3.0 version was launched in 2006.
  2. EBJ 2.1 was quite bulky and unorganized whereas, the newly updated 3.0 was simple to use and possessed a simpler UI and fluidity.
  3. The 2.1 version required and was functional only by EBJ containers but the 3.0 requires none. 
  4. The 2.1 version did not follow the easier hassle-free POJO commands whereas, the 3.0 is integrated with POJO for simpler operation and efficiency.
  5. EJB 2.1 requires jotting down big and bulky supporting codes as compared to the EJB 3.0 that reduces the number of supporting codes.

Conclusion

The EBJ or enterprise java bean is an essential tool for developers to contain and allocate proper security and smooth distribution of applications. The upgrade from 2.1 to 3.0 is a milestone in the world of java programming as the EBJ 3.0 is equipped with a modern simple and hassle-free experience that the predecessor failed to deliver.

EBJ 2.1 and 3.0 both serve the same purpose but the 45 % more efficiency coupled with streamlined user interface, POJO-based commands, reduction in the number of supporting codes, and modified XML schema as well as the syntax, makes EBJ 3.0 a worthy successor of its bulky yet productive EBJ 2.1.

Reference

  1. https://www.oracle.com/technical-resources/articles/entarch/ejb3.html
  2. https://www.techrepublic.com/article/a-brief-review-of-the-ejb-21-specification/