Rick has posted 25 posts at DZone. You can read more from them at their website. View Full User Profile

Did Spring kill EJB for greenfield applications?

  • submit to reddit
Rod Johnson wrote on Jan. 23rd:
Indeed.com shows that in November, 2007, Spring overtook EJB as a skills requirement for Java job listings.

Being a Spring enthusiast and and indeed.com watcher, I noticed this trend on indeed.com recently and was going to write about it, but Rod, always ahead of the curve, beat me to the punch. (It should be noted that Rod's comments are directed towards EJB and not JEE. JEE is fine thanks.)

Here are the graphs from indeed.com:

EJB vs Spring Job Demand (Absolute)EJB vs Spring Job Demand (Absolute)











EJB vs Spring Job Demand (Relative)EJB vs Spring Job Demand (Relative)











Rod goes on to write:

"Given the immense amount of legacy EJB, this is amazing. Presumably, few new projects now use EJB... We see that EJB requirements are stagnant or in decline, while Spring requirements are growing at an ever increasing rate... Indeed, it's largely been the pro-EJB lobby who have (for whatever reason) presented the two technologies as direct competitors." --Rod Johnson

Do you think EJB is dead for greenfield apps? Do you think Spring killed EJB? Or do you think that Spring and EJB will split the server-side component model market?

A final note from Rod:

While it's not an apples-to-apples comparison, it is reasonable to consider Spring and EJB as alternatives for the core component model in enterprise Java applications. And it's clear which is now in the ascendancy.

Frankly, EJB was in decline before Spring's ascendancy. EJB 1.0 was a disaster. In fact, the J2EE blueprints which promoted the misapplication of EJB and then the benchmarks that followed is what really killed EJB. EJB 2.x was not compatible with EJB 1, and EJB 3 was a complete rewrite as well. EJB3 was at best Spring's retarded cousin (see Interesting Times in the Java Enterprise). I dislike EJB3 as you can see from this link, Spring just seems so much cleaner and feature rich.

However, EJB is far from dead, isn't it? Is it really fair to compare a general purpose framework like Spring (i.e., Spring MVC, Spring WebFlow, Spring XXX) with a very focused framework like EJB? Relative comparisons are not very fair to established players as you can see by this graph comparing EJB3, Seam and Spring.

Seam EJB3 vs. SpringSeam EJB3 vs. Spring











See Rod's blog about this at: Spring overtakes EJB for job demand

rick hightowercto of arcMindbloglinkedin
Published at DZone with permission of its author, Rick Hightower.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)



George Daswani replied on Mon, 2008/01/28 - 6:35pm

Maybe we'll see that change once IBM releases a JEE5 capable WebSphere App Server (alot of enterprises are stuck with using WAS 6.x, can't use JEE5).



Rick Hightower replied on Mon, 2008/01/28 - 7:26pm in response to: George Daswani

True. I think the battle is far from over. I know I have had to use EJB3 already. Most places I work with use Spring, but one company used EJB3. It was not that bad. It was simple and fit the application okay. There were some things we wanted to build that would have been included in Spring or at least easier in Spring. It was an okay experience.

I am not a fan of EJB3, but much prefer to EJB2.x and before.


rick hightowercto of arcMindbloglinkedin

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.