The JEE wars are over - and Spring has won
I pose the question of whether the JSR manner of process has really been a good thing for the Java platform. I truly wonder on account I think some of the best Java software came into use and wide acceptance without the blessing (and presumed benefits) of a JSR process and any eventual official ratification.
Maybe it's a matter of the principal of meritocracy pitted against official certification.
Case in point - Spring Framework vs. JEE/EJB
JEE and EJB have been creatures of committee specifications. They were born that way - and were overhauled that way (even with the participation of some important innovators - but still a committee).
Spring Framework, on the other hand, is a free agent. It's success has rested on terms of its merit - not sanctioning or sponsorship of a committee backed by big vendors.
Sun devotes time and resources to implementing items - like Glassfish - that are creatures of the specification process. By all accounts they've done a nice job with Glassfish. Yet in sticking to this approach they miss out on a wider field of opportunity to engage in rampant innovation. The concept of a Java application server could be something far more fascinating than Glassfish - especially given we're 12 years into Java and some basic needs for the app server have still not been met.
The Spring Framework has not been so artificially hemmed in. Where ever it was sensed that there was a valuable need to be filled for server-side Java development, Spring Source has moved to address it.
To wit, let me close with this article reference - which gives an indication of just how far behind in the dust the officially sanctioned specification approach has been left:
The Spring phenomenon though, is too big to not end the article dwelling on it again. Spring will be integrated with OSGi during the remainder of 2007, Rod Johnson said in his talk on Spring 2.0. OSGi is a dynamic module system for Java, something that should have been part of Java from the beginning. Strangely, it is currently pervasive on the client side due to Eclipse (plugins), but not well known on the server side. The Spring-OSGi integration is likely to make it into OSGi standards. And as a testament to Spring's decoupled pieces-parts architecture, Spring itself is available as OSGi bundles.
Longer term, the Spring Framework is turning into the Spring Portfolio. There are integrations with JCA, CICS, and IMS. There's Spring Web Services, and Spring LDAP. Message-driven POJOs will become possible with Spring. Acegi, the leading enterprise-grade Java security framework, is becoming Spring Security. There's Spring Web Flow, which is just what it sounds like, again with POJOs. The role of Spring in SOA is being standardized with efforts such as the Service Component Architecture (SCA). A Spring IDE (implemented as plugins for Eclipse) which will support Spring development, including support for AOP, and Spring Web Flow, is in the works.
(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)