EJB & JEE Moving Over … Spring and Grids Moving In

isfjorden-ved-jakobshavn-ilulissat.png

For the past year+ there have been many indicators that fundamental changes in the enterprise software development market are well underway. In particular, it sure seemed like the monolithic predominance of traditional JEE app servers was starting to break up.

A few weeks ago I posted about the rise of Tomcat, and talked about why it is now the leader for deployment of Spring apps. (the why is easy - it's simple, cheap, easy to use, and works well).

Now Rod Johnson (springsource) has another interesting observation - job postings requiring Spring skills have surpassed those requiring EJB on at least one site.

Indeed.com shows that in November, 2007, Spring overtook EJB as a skills requirement for Java job listings. As of yesterday, the respective job numbers were 5710 for Spring against 5030 for EJB.

... 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, the EJB era was an aberration.

What This Means

EJB is often inexorably intertwined with the decision to use monolithic, heavy, traditional app servers on heavy, costly infrastructure.

The trend towards breaking this monolith up does start with the core object model, and Spring is proving fairly prominent in this role. Once this decision is made, then separate decisions can now be made about how to achieve scale, reliability, and operational integrity.

If the applications are not so demanding, then not much more than Tomcat and a few operational tools are required. Many early cloud deployments probably fit this category.

Need for Scale and More

Once the app has more demanding scale, reliability, performance, and other needs then the developer has been faced with a couple of choices. These include

  • Deploy the new lightweight app on a traditional app server & infrastructure.
  • Write their own state management, coordination, and operational tools to deploy on lighter infrastructure
  • Pick a new approach for development and deployment facilities.

fabric.jpg

It is in this third option that most of the interesting innovation is occurring. That is where our excellent execution model (simple abstraction, multi language, multi OS, highly scalable, reliable and fast), elegant state facilities (lightweight, reliable process flows & spaces), and very simple operational model (the biggest fabric is the same thing to operate as a single server) make a lot of sense.

That all of this can occur on a truly commodity infrastructure (from Tomcat to Linux to grids of uber-cheap commodity processors) is a real bonus.

Best part? You can bring your Spring app over as-is, and gain much of the Appistry goodness from day one.

Could you please explain me

Could you please explain me the meaning of 'DOM'

Post new comment

The content of this field is kept private and will not be shown publicly.
CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
1 + 19 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.