• Post Reply Bookmark Topic Watch Topic
  • New Topic

Why EJB didn't take off as well as it should have?  RSS feed

 
Manish Hatwalne
Ranch Hand
Posts: 2596
Android Firefox Browser Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
This isn't a technical question as such, but I am curious about this and can use some of this background knowledge for one solution that I am designing currently.

About a 10-11 years ago I used to hear a lot about EJB and it was one of the hottest technology skills in demand at that time. In the last 2-4 years, I hardly see mention of EJB in he required skill for a Java developer. Moreover, I haven't heard of any new project investing in EJB in the last 4-5 years or so. I am just wondering if EJB is really on its way out. Despte its heavy-weight, it has its own advantages in large enterprise projects/products. But not sure why it didn't ever take off.

Would love to know opinions of the people here who have been working on it for some time.



 
Joe Harry
Ranch Hand
Posts: 10128
3
Eclipse IDE Mac PPC Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I would go a step further and even say that in the last couple of years the whole Java EE ecosystem started to loose its shine! I have been a Java EE developer, I used EJB's, Spring and a lot more of those funky Java EE terminologies, deployed them across different Java EE containers. I think, there was not so much choice earlier or to put it in other words, the other choices that were present 10 years ago were not so prominent as they are now. There has been a tremendous interest in programming languages that run on the JVM. Scala, Groovy to name a few are slowly gaining popularity. What these languages bring along is a set of new ideas. Take Akka for example., I can replace the entire enterprise messaging module built using JMS with a much lighter weight Akka framework. The Play framework built on top of Akka and NIO is delivering scalability with much less intervention.

Speaking specifically in the EJB technology, may be if I looked 10 years ago, it certainly had its advantages, given the fact that there were not so many competent framework that did what EJB did. But now I can only pick up disadvantages when comparing EJB's with other similar framework. I never use them anymore. I think the trend is moving towards micro services architecture with light weight frameworks. Why do I need a hefty JBoss App server when I could get a much better throughput and a reduced development time using Play?
 
Ulf Dittmer
Rancher
Posts: 42970
73
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
EJB did take off, as you observed. But EJB 2 turned into a big mess, and before Sun got around to fixing that in EJB 3, lots of people turned to competing frameworks that were easier to use -like Hibernate and other similar ones- that also had the advantage of not needing a full J2EE server (which were costly back then). By the time decent JEE servers appeared, it was clear that many people/companies/projects didn't actually need EJB, so they never went back.
 
Manish Hatwalne
Ranch Hand
Posts: 2596
Android Firefox Browser Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks Joe & Ulf - you are quite right!

Joe, I have also used Struts & Spring for my projects, and I see that Spring is still being used as the de-facto standard framework for most new Java projects/products, but no one is picking up EJB now. Yes - it was/is heavy weight and I see that much better alternatives are available now. Though I think WildFly is still a good FOSS option for Enterprise Architects to consider EJB.

So where are JEE programmers moving now? Do you think Oracle's acquisition of Java did more harm than good?
 
Ulf Dittmer
Rancher
Posts: 42970
73
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I wouldn't say that much better alternatives are available. JEE's EJB model is much improved over J2EE's. But if container management isn't required, then using JPA (or Hibernate) might be sufficient. But EJB also offers further benefits like WS and messaging integration, which may or may not be of interest.

I don't think that Oracle's acquisition of Sun made any particular difference in this regard.
 
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!