Will The Lightweight Container Best The MicroKernel AppServer?
|
|
The Spring Framework developers (aka two clowns and a dog) clash with JBoss LLC in a TheServerSide arena. The quick skinny is that Marc Fleury, Grand Wizard of JBoss LLC, in typical fashion makes a freudian slip and disparages the work of Rod Johnson and Juergen Hoeller developers of Spring. This of course lead to a monumental clash with Marc Fleury and Bill Burke tag teaming against Rod and Juergen. Gavin King (Hibernate fame) refereed the melee. The melee of course was sparked by Richard Monson-Haefel simply asking for opinions on EJB 3.0.
It may appear that this looks more like an apples compared to oranges argument, however what these two open source projects have in common (and in contention) is that this is a battle for the hearts and minds of open source enterprise development. JBoss is the incumbent and Spring is the upstart challenger. Pointing out feature differences doesn't really make sense here, rather the only comparison that makes sense is to compare their respective strategies.
The JBoss Group LLC has really made it no secret that they are taking their strategy right out of the playbook of Microsoft (i.e. "embrace and extend"). The tactic is simple, proclaim in public the importance of standardization, while behind the curtains half heartedly pursuing it. The second ingredient is to provide non-standard APIs (i.e. via JMX, JBoss AOP etc.) in the hope that the unsuspecting developers get locked-in.
The Spring Framework has another strategy, rather that accept the complexities of the underlying EJB specifications, they've taken the effort to provide a layer that simplifies development. Furthermore, this layer is platform agnostic, in that it can run on top of other vendor J2EE implementations (Doesn't this remind us of the JVM when it first came out?).
Although JBoss is based on a microkernel, the EJB standard promotes a container that is monolithic. Spring by contrast chooses a lightweight approach, allowing its container to be embedded in different contexts. The side-effect of this embedding is that it leads to the kind of reusable business logic described in multi-face J2EE coding. The lightweight container approach and its complementary aspect oriented functionality is an emerging and promising mechanism that aims at vastly simplifying enterprise development, something the J2EE standard has consistently failed to address.
It'll be interesting to see who is left standing when the dust settles. Will the lightweight container best the micro-kernel?
I however, don't think its a battle to the death, the Java platform is "big enough to accomodate the both of them". On the other hand, I fervently hope that this leads to the extinction of entity beans. The one final mystery though is, "who is the dog?".
Last modified 2004-02-06 03:52 AM


