<< Java News Brief (JNB): Building A Complete NetBeans Platform Application | Home | Go Listen To Jim Waldo! >>

Spring Framework Has A Competitor Now

Spring+Hibernate vs. The New JBoss Thing (Seam, is it?)

In the last few years, we've heard a lot about Spring Framework and Hibernate. Lots of job postings with Spring and Hibernate requirements.

With the (beta) release of JBoss Seam 15 days ago, claiming EJB3 and JSF integration, the landscape is set to change.

I understand that there are other quote-and-quote web frameworks around, RIFE, for example. But somehow Seam stands out with its emphasize on standards. It being a product of JBoss lead by Gavin King, the Hibernate guy, also helps.

And it looks like it's going to be a battle between the JBoss guys and the Spring guys. Sparks is already flying in multiple websites and blogs. Here's one that's particularly entertaining. You need to read the comments.

Cast of characters:

  • Gavin (King, JBoss)
  • Bill Burke (JBoss)
  • Rick Hightower (Spring?)
  • Rickard (Oberg, not JBoss, Spring-ish?)
  • Keith Donald (Spring)
  • Andy (Oliver, JBoss)

Not that I don't like Spring. But it being a non-standard library and framework gives me an uneasy feeling. The same feeling that JGL and BWT gave me back in the old days.



Re: Spring Framework Has A Competitor Now

Keep in mind JBoss Seam is NOT standard. Seam is a JBoss move to get users to switch to their proprietary stack. It's that simple, and they wouldn't have it any other way. Look at the evidence, their motivation, and their history.

If you use Seam, expect also to require the use of JBoss MicroContainer, proprietary JBoss extensions not part of JSF or EJB3 or JPA, and to deploy to the JBoss server (which means relying on further JBOSS extensions). Expect a fairly high degree of switching costs and a substantial loss of leverage.

Are the benefits of Seam and the rest of the JBoss stack compelling enough to warrant the costs and the lock-in?

A lot of the issues here boil down to trust. A large number of people, including me, have come to trust the Spring brand to provide not only quality OS components, but a smart, highly adaptable and pragmatic foundation to build enterprise applications on for years now. This foundation has been proven portable accross a variety of configurations on leading app servers *on existing infrastructure*, and Spring users understand this. They also understand Spring integrates standards (EJB, JSF, JMS, JAX-RPC, JCA, JNDI, soon JPA, Servlets, JSR168, JSR3/JSR160, etc.) and works to protect investment by insulating changes in volatile/vendor-specific APIs to provide switching power and architectural choice/scalability.

Rod Johnson, Juergen Hoeller, Rob Harrop, and the other Spring leads are the strongest and most professional architects I've ever worked with, and that shows many times over when you review the quality and consistency of the entire framework, read their technical recommendations (for example, on the Spring forums), and look at the number of environments and products Spring has been deployed/used in the last 2.5 years.

Here is what you can expect Spring to do in response to this: you can expect Spring to keep doing what it is doing, with considerable more vocal vigor now that JBoss is entrenching upon its territory. JBoss is clearly the challenger playing on Spring's turf, where Spring has delivered high value results and innovation for years (JBoss is effectively trying to be a Spring clone to some degree: Bill said it himself).

It is indeed exciting all right, and you can expect Spring to continue to raise (reset?) the bar to keep the clone scrambling.

I don't see the standards pitch JBoss is using fooling many users. I'll vigorously defend the argument that a Spring-based J2EE architecture incorporates more standards with more consistency than a comparable approach on the JBoss platform, with at least three times the architectural leverage.

Best regards,

Keith

Re: Spring Framework Has A Competitor Now

Keith,

Thank you for putting forward the Spring side of argument. I agree with all of your opinions. Including this:

JBoss is clearly the challenger playing on Spring's turf, where Spring has delivered high value results and innovation for years (JBoss is effectively trying to be a Spring clone to some degree: Bill said it himself).

That is my conclusion too. Actually that's the main and only point of my post.

I also find your assertion

A lot of the issues here boil down to trust. ...

Rod Johnson, [and others] are the strongest and most professional architects I've ever worked with, ...

interesting. Without questioning the trustworthiness and the professionalism of the Spring team, I do think the argument has a tinge of Us Good, Them Mean flavor.

Re: Spring Framework Has A Competitor Now

you can expect Spring to continue to raise (reset?) the bar to keep the clone scrambling.
At least two things are obvious:
  • Provide more powerful AOP through much closer integration with AspectJ since Adrian Colyer, the AspectJ project lead, is now the chief scientist of Interface21

  • Provide advanced features such as super performant messaging, robust distributed transaction management, etc. by leveraging BEA talents.
BTW, my blog is up! Thank you for your help.

Re: Spring Framework Has A Competitor Now

Rickard Oberg wrote JBoss 2.x (and WebWork, and XDoclet and various other things)

Re: Spring Framework Has A Competitor Now

Keep in mind JBoss Seam is NOT standard. Seam is a JBoss move to get users to switch to their proprietary stack
This is patently false. Seam is an attempt to make it easier to work with standards like JSF and EJB3, and is absolutely NOT coupled to JBoss. Seam will work in any appserver that supports Java EE 5.
f you use Seam, expect also to require the use of JBoss MicroContainer, proprietary JBoss extensions not part of JSF or EJB3 or JPA, and to deploy to the JBoss server (which means relying on further JBOSS extensions)
Both of these claims are totally false. Seam does not require the use of JBoss Microcontainer. The JBoss Microcontainer is something we suggest as an easy way to test Seam applications at development time, or a way to get EJB3 support in a J2EE 1.4 environment. The microcontainer is NEVER used at runtime in a Java EE 5 environment. Nor does Seam rely on *any* proprietary features of JBoss. If you like, grep the codebase for "org.jboss". You won't find anything. You can deploy a Seam app on any appserver that supports EJB 3.0. All this is easily determined by reading our website, and I'm amazed that Keith is spreading such obviously false claims.
A lot of the issues here boil down to trust.
Right, and apparently we simply can't trust Keith Donald on the subject of Seam.
I'll vigorously defend the argument that a Spring-based J2EE architecture incorporates more standards with more consistency than a comparable approach on the JBoss platform
This claim is absurd and laughable.
JBoss is effectively trying to be a Spring clone to some degree
I encourage anyone who is interested to go and download the Seam booking app and look at the code, and look at the concepts in it, and decide for themselves whether Seam is a Spring clone. (It absolutely is not, but that is easy for anyone to discover, so I don't need to argue the point here.)

Re: Spring Framework Has A Competitor Now

By the way, this FAQ (which has been prominently linked on the front page of the Seam website since the day Seam was released) concisely explains the true situation and dispels Keith's FUD:

Seam FAQ

Re: Spring Framework Has A Competitor Now

I know this is an old thread, but I wanted to follow up and officially state a statement in my original comment was inaccurate as Gavin pointed out.

Seam does not require JBoss Microcontainer and I should not have given that impression. What I wanted to convey was that Seam is not a standard--it builds on standards, of course, but it ultimately is still a JBoss product tested on JBoss Server.

Spring, of course, is also a product and platform that builds on and integrates standards. Funded largely by Interface21, Spring is tested on a variety of application servers (including JBoss).

To Gavin and those involved with the Seam project: for the inaccuracy I apologize. As a product development lead myself nothing is more frustrating than seeing misinformation or misunderstanding. I should have done my research before making that comment.

Regards,

Keith

Re: Spring Framework Has A Competitor Now

just made it work with tomcat!

Re: Spring Framework Has A Competitor Now

I just started rewriting my site using SEAM today. So far so good! http://vnl-online.com at the time of this writing it is non-seam, just plain old jsp with jstl and a super light weight framework. Hopefully in a couple months when you visit the site again it will be all done with JSF and EJB3 tied together with SEAM! Good job Gavin!

Re: Spring Framework Has A Competitor Now

I really love Spring. It was a breath of fresh air back in the days of J2EE hell. I have not used Seam yet but it looks very compelling.

I have to say that Keith's unfounded attack on Seam appears to validate this blog's assertion that Seam is a valid contender in the light-weight, agile development market. The amount of FUD in his original post borders on paranoid. His second post isn't much better (asserting that JBoss is only testing it on JBoss). All I can say is that competition is a "Good Thing". Negative attacks on your competition usually does the opposite of what you want it to do.

Re: Spring Framework Has A Competitor Now

Hi! I tried Seam... I was unsuccessful... it is supposed to be easier to use than Spring... but for me, it wasn't because: 1)I had issues with OC4j 10.3.2 (lately I think its more Oracle's fault than Seam's) and it EJB3 implementation 2) I couln't find a good really simple step by step build it your self without scaffolding example so you really understand what is going on tutorial.. something equivalent to Spring Step by Step Of course seam is real nice if you want to do CRUD, but if you want to build other kind of stuff you will have problems finding tutorials or documentation. I think Seam is rally promising project, and I hope it gets easier to grasp in the future (and easier to integrate with a lot of different application servers) as EJB3 technology becomes more widespread

Re: Spring Framework Has A Competitor Now

Spring sucks anyway...there are much better framework out there than Spring. I love to use annotations than to use a bloated XML grandma :)

Add a comment Send a TrackBack