Goodbye, Java EE?

Prediction: 'In five years, Java EE will be the CORBA of the 21st Century.'

Rich Seeley surfaced a report from Burton Group's Richard Monson-Haefel in which the analyst uncategorically states that Java Enterprise Edition is destined for the ash heap of history.

Monson-Haefel predicts that "In five years, Java EE will be the CORBA of the 21st Century. People will look at it and say, 'It had its time but nobody uses it any more because it was too complicated.'" He predicts that the Java programming language itself will continue to survive, but the Java EE framework is too complicated, and that developers are opting for more lightweight and easier to deploy frameworks such as Ruby on Rails.

"JEE5's failure to address complexity is a harbinger of the Java EE platforms' fall from dominance in the enterprise development platform arena. Organizations should look elsewhere when considering new enterprise development and should plan for the eventual sunset of Java EE as an enterprise solution."

Seeley also quotes ZapThink's Jason Bloomberg, who agreed with Monson-Haefel's assessment, stating that Java EE "will collapse under its own weight," and pointed out that there are far simpler ways to build SOAs:

"The Java EE world is fundamentally not built for SOA. Now, you can build perfectly good SOA implementations on Java and many of the SOA implementations in production today depend on their J2EE-based runtime infrastructure. In fact, Java is many things – an object-oriented programming language, a virtual machine infrastructure and the Java EE flavor of Java is specifically a framework for implementing n-tier architectures. Unfortunately, none of these facets of Java, or any other virtual machine-based, object-oriented runtime environment for that matter, are ideally suited as a platform for SOA."                 

"SOA and Web services diminished the importance of what you have running on the backend," Burton's Monson-Haefel said. "They emphasize how you interface with each other, which is XML and HTTP for Web services, for instance. What's running behind the scenes is really less important."

A couple of thoughts here: Yes, CORBA is super-complicated, but there are still a lot of fully functioning CORBA implementations out there in the enterprise world. And, agreed that Java EE can also get pretty complicated, but implementations sit at the core of many newer implementations -- from large commercial vendors such as IBM and BEA, as well as open source platforms such as Apache and JBoss.

Java EE is not for the faint-hearted, and not even for power end-users seeking to rapidly deploy just-in-time applications for their particular business needs of the moment. The framework is intended for enterprise development shops, with all the high-transaction and high-scalability requirements that go with it. Plus, at this point, there is a tremendous skills base built up around Java EE. Yes, other simpler, more rapid application development frameworks probably will eventually become more popular, but Java EE isn't likely to go away anytime soon, and this all has the familiar ring of years of predictions of the mainframe's impending demise.

Of course, ultimately, in the scheme of all things SOA, it really doesn't even matter what happens to Java EE. The beauty of SOA is that it does not favor one particular platform or approach -- it doesn't matter if services come out of Java EE, .NET, Ruby on Rails, CORBA, or even COBOL.