Wednesday, November 19, 2008

Spring Presentation @ AJUG

Today Keith Donald gave a presentation about Spring web application development at the Atlanta Java Users Group. It has been a great presentation. The room at the Holiday Inn was packed and people were actually standing in the back (At least 100+ attendees).

The talk covered mostly the following area:
  • Spring MVC
  • Spring Javascript
  • Spring Webflow
  • Spring Faces
The presentation covered overwhelmingly 2.5 features. I wish there had been more news about the upcoming 3.0 release. Nevertheless, I asked Keith when we can get our hands on Spring 3.0 M1 and he said it will be out before Thanksgiving on November 25. And the M2 release should follow one week later. Sweet.

I have not actively developed using Spring MVC since version 2.0 and therefore the annotation support in 2.5 is realy quite nice compared to the old style. Keith showed some examples of how far you can go with annotating your action controllers as well using conventions over configuration. They way you write your controllers in 2.5 reminds me of Struts 2 actions - just better (plus the current stable release Struts 2.0.x does not have annotations support, yet.)

I wonder, especially with the 3.0 release, whether there is still any reason left to use Struts 2...but that's just my personal opinion.

Spring Javascript was another component Keith talked about. Currently part of Spring Webflow 2.0 it will eventualy become its own top level project.

It is a "lightweight abstraction over common JavaScript toolkits such as Dojo". Personally, I don't like DOJO for my typical web application development needs - it's too heavy. I rather use jQuery and DWR instead to add common AJAX functionality to my pages.

But, Spring Javascript has some interesting aspects such as gaceful degradation in case Javascript is disabled.

As Keith was getting close to the end, he only briefly talked about Spring Webflow 2.0 and Spring Faces. I wish Keith had mentioned a little bit more about the conversational state support that is supposed to be included in Spring MVC 3.0. In my current project we have the requirement to support multiple tab browsing for the same application. Thus, it would be nice to see how Spring is solving this requirement.

Nevertheless, it has been a nice informative talk and also, Keith will be back in Atlanta March 10 and 11 for the AJUG sponsored developer conference at the Cobb Galleria.


Luis Barragan said...

Hello Gunnar,

I ran into your blog while googling for spring and "multiple tab" support, on my current project I have to implement different sessions for each tab, I know this is possible with Seam and I heard that it's possible with Spring too, but still I can't find anything related. My last option is to integrate Seam and Spring Webflow and JSF.

Gunnar Hillert said...

Yes, this is IMO the strongest selling point for Seam right now. For very specific 'flows' (Wizards) you could use Spring Webflow. However, there isn't any generic solution (Browsing the app with multiple tabs) available as far as I know, yet. Supposedly Spring MVC 3.0 will have a more generic approach and should solve this issue (Following Keith Donald at the last AJUG meeting)

If you are using Struts2 you may want to look at this blog post.

Correct me if I am wrong - but if you already using Seam and JSF you probably won't need Spring Webflow as Seam covers that functionality.

Luis Barragan said...

I'm using MyFaces + Spring WF + Facelets + RichFaces and it seems that I will have to include + Seam pretty soon.

I decided to go with SWF because Spring is almost a standard in the industry and goes very well with many technologies, but in this case it seems that the "popular" choice is not the best one.

Have you tried integrating SWF + Seam?