Thursday, May 1, 2008

A Polarized Community?

The news that SpringSource announced yesterday regarding their application server is not surprising but possibly very concerning to many developers in the Java landscape. We see now a very clear divide between people's perception of what is standard for Java Enterprise Development. Is the standard the open source platform that is used in a greater number of projects or is the standard the framework released by the Java Community Process? In my opinion it is very clearly the former.

I'm in the fortunate position of seeing every Java requirement that comes in to my consulting company and guess what? The number of Spring requirements far outweighs the number of EJB, let alone JSF reqs. I still see more Struts requirements than JSF and EJB reqs combined. So now, is the news that not only is there a non-standard framework, but also a non-standard application server something to be concerned with? Hell no.

How many developers have actually taken advantage of the fact that your app can be ported to different app servers with "no code change"? I've been on one project in the last 10 years that did so and guess what? We still had to change a lot of XML to make sure that stuff didn't break. Portability is a farce at the app server level and it's largely unnecessary.

So if there is no need to port my SpringAppServer application to JBoss or WebLogic or god help me WebSphere, what are the issues with adopting SpringSource Application Platform? It surely will present some amount of a learning curve. It may not be adopted by many of my clients initially who continue to write checks to IBM and BEA for inferior products that lag behind the so-called standards.

On the flip side, it will provide the ability to roll out smaller, componentized versions of your applications. It will let you keep multiple versions of the same components running on the same server. It will let you deploy your app without restarting your server. It will cost about $15k per cpu less than BEA or IBM products. Oh, and it will not force you to use JDK 1.4 or prior in order to run on the system.

Is it really a polarized community if everyone is heading in one direction?

2 comments:

Joseph Faisal Nusairat said...

I'll be more interested to see how this runs on an environment with less memory. Something that a smaller shop may have or if you have an eapps account to deploy there.

If they can make Spring apps run MUCH faster with MUCH less system requirements they could have a winner for small shops.

For larger shops i think it will take a while before they truly trust it.

Another thought though. JBoss makes quite a bit of money in support contracts by supporting everything at one RichFaces-Seam-JBoss AS. I wonder if this is a Spring ploy to sell more of a full range service package.

Todd Kaufman said...

I'm sure it's not coincidental that they formally announce their consulting services 1 quarter before launching this platform.

Regardless, if it's a platform that is cheaper, more stable, maintainable, and scalable than the competition, I'll take it. Support costs are there whether it's Spring or IBM.