Skip navigation.
What If ?

What If SpringSource Displayed Latest Web Frameworks May 08 ?

Look no further than last night's Spring Dallas User's group meeting for indication of how deeply Spring has cut into the mindspace of java enterprise programmers.

group

Spring Rivals Java Enterprise In Developer Interest ?

This is a "special interest group" for the java community in Dallas, and last night was almost as large an attendance as some of our JavaMUG meetings.

JavaMUG is a hugely successful, well attended, and long lived user group, so this should not be ignored by anyone who is planning projects over the next decade, Spring really does rival enterprise java at this point - I guarantee you wouldn't get this kind of attendance if JBoss or anything involving EJBs came into display their latest wares. The JBoss group couldn't even hold itself together, and disbanded last year, even though JBoss was the hottest thing going in EJB land for some time here.

There were no "wannabe" coders here, virtually everyone here was a serious developer doing real enterprise apps in corporations all over town, and the questions reflected that expertise.

Focus On Web Technologies

keith

Keith Donald is known for other things as the creator of Spring Web Flow. He presented on four parts of the Spring lineup.

  • Spring MVC 2.5 introduces significant new features that simplify the core MVC programming model, including support for annotated @Controllers.
  • Spring Web Flow 2 adds significant new features for implementing conversational flows within a Spring MVC-based app.
  • Spring Faces, a new module, provides groundbreaking support for JavaServerFaces in a familiar Spring MVC environment.
  • Spring Javascript, a new module, integrates leading UI toolkits such as Dojo and Ext into a Spring environment.

I'll cover only the parts I'm interested in, below

All code, no Spring IDE

There wasn't a hint of Spring IDE in the presentation, at least nothing that I saw. This means, to me anyway, that they still aren't ready for that level of interest. Not so in the crowd, I counted several questions that were tooling oriented, and wanted to know how to do this with tooling that would keep things organized for you, such as we are increasingly seeing as expected in the IDE world.

Like one guy asks "Can I debug this Web Flow stuff ?" Keith answered in the negative - it's not written in java, doesn't work like that.

Keith was very diplomatic about that shortcoming and quick to point out that the documentation and code by convention thing really helps. So I'll cover code by convention thing next.

Coding By Convention

No single trend in the programming community has added more over-all value in recent years than the "coding by convention" trend, or so it seems to this observer.

Everywhere throughout his presentation Keith was able to demonstrate the nifty-keen ease that code by convention added to the use of the frameworks. Lots of things he did would theoretically require use of documentation but maybe not as much because so much was done by convention that it was just easy to figure out as he was demo-ing it. I'll grant you that it isn't nearly so obvious without the demo, so the Camtasia crowd will definitely be the group with the greatest influence in this new world order.

Bottom line is you could over-ride lots of things or just do it by convention, and he showed us both and it seemed pretty intuitive and easy to understand. Especially when the URL and the methods and the navigation all seemed to follow the same semantics, it made things really easy to get where he was going.

Coding by Convention also starts out as the non-IDE answer to IDE ease of use. When stuff is this easy you may not need all those wizards to keep things straight. So it will be interesting to see how the IDE world responds to this new trend.

New Things Coming Down The Pike For Spring:

Pretty random here, but here is what I was able to glean, without the details.

  • Current Flow DSL becoming Site Definition Language
  • Moving to Groovy from "their own syntax" for Flow Language
  • JavaScript module today, Flex module tomorrow .......
  • Java Driven Validation Engine
  • Big focus on REST, especially as regards making the same data present in many forms with little effort. (JSon, Atom, other)

mo

Other Random Observations:

  • One more JSF Framework, one more ho-hum from the audience. Keith commented on the limited use cases of the JSF tooling, which was OK given very few raised their hand when asked who was doing JSF. I think everyone but tool vendors knows how poorly JSF is regarded, it will be interesting to note whether the latest tooling eventually creates new market.
     
  • Good Graphics, understanding of clean design. Why are there so few people who understand clean visual design ? Has no one noticed Apple in the last couple decades ? It is refreshing that Spring definitely has. Their use of good clean visual design on their site and their documentation made this presentation and all related crusing of the Spring while watching the talk very engaging.
     
  • Spring gets bit by same practice they jive others for ! It was fun to hear Keith tell the story of wrapping various javascript packages and calling them SpringJavaScript. And some of the challenges they endured as a result. Chuckle. They don't look favorably on that practice when they are the library that gets wrapped. I guess I have a warped sense of humor.
     
  •  Annotations has arrived. There was some quite vocal resistance in the crowd, but what you can do with annotations and what you can do with xml are no longer the same. For a while it was merely an ease of use thing, that is no longer. Keith demonstrated capabilities you just can't do in xml, and it is very easy, and thus very cool.

What If Spring Platform Takes Off ?

Hello, is there a game changer in the room ?

Barely discussed, but still mentioned was Spring Platform.

Everyone gets to watch what they want to watch, and believe what they want to believe.

If it's rustling in the tea leaves that gets your attention, then this is the one I'm most intrigued by. There are lots of smart people in the world, but these guys seem to understand where markets are headed. I'm keeping my eye on this.

Interestingly, I'm not saying that I believe they will make money, because personally,  I have little faith in open source land for creating revenue. But will they gain market share and take it from others ? My bet is yes, and that Oracle and IBM will both be forced to answer. This will ripple down through the marketplace, all while Sun buys non-revenuing shops, focuses on me-toos like FX, and generally misses the boat as it always seems to do.

Trackback URL for this post:

http://couldbe.net/trackback/142

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Thanks for the Review!

Just a few additional remarks about JavaServerFaces:

We ran out of time in the presentation, of course, so I was unable to show Spring Faces in detail. But I do want to clarify a couple of points:
- As i mentioned in the talk, I believe JSF, as it and most of the JSF component libraries exist today, is not a fit for all types of web applications. If you're developing a "RESTful" web application that exposes your application's functionality as a set of independently addressable resources, JSF is not a fit. This is primarily because the JSF UI model is stateful, while a REST architecture is stateless Now, it *is* possible for JSF to be used in a stateless manner, but this is not the typical usage today.
- JSF is a good fit for web applications that should look and feel like a desktop application. We believe the main problem with JSF in the past and any perception of it as a "poorly regarded" web framework is not the fault of the framework itself, but how the framework is traditionally used in practice. So what we have done with Spring Faces is provide first-class support for making JSF development work in practice in a Spring environment. The core of this support allows you to use the JSF UI component model as a View technology inside Spring MVC and Web Flow. So you can adopt the "bread-n-butter" of JSF -- the componet model and the available component libraries -- while keeping the rest of your architecture intact.

I hope this clarifies a few things related to JSF given the limited time we had to spend on the topic! If you are developing a rich web application with a desktop-like L&F, JSF is not a bad choice, and Spring Faces can make you a lot more productive. It should be viewed as just another tool in the Spring developers toolbox to be used when it makes sense for the problem at hand.

the source of my JSF comments

Thanks Keith, and great presentation !

My beef with JSF is not with Spring or any implementers but how poorly the adoption rates are in the industry, and figuring out what that means.

There is some special sensitivity on my part since I was part of the JSR and managed to have no effect whatsoever, and it has been so thoroughly shunned at the developer level. So I kinda feel bad about all that, but it's a personal problem, for sure. :(

Thanks for the Review!

Pete,

I thoroughly enjoyed speaking to the group Wednesday night. Thanks for this story covering the evening!

Just a few comments:

- I was using the SpringSource Tools Suite, which builds on Eclipse 3.3, Spring IDE 2.0.5, and Eclipse Mylyn, throughout the demo session. You're right, I didn't focus on the specific IDE features in the demo, as we were more focused on going through the latest Spring Web features (and of course the code!) The tooling, though, particularly around the management of Spring configuration, is essential!

- Regarding Web Flow and debugging: Yes, today there is no flow debugger like there is a Java debugger. However, you can most certainly debug flows quickly and in a repeatable manner by writing flow unit tests, and that is what we recommend there (automated testing is a best practice in general, of course!). I do eventually expect we will have the tooling capability to step through a flow execution in real time like you can do the execution of Java code.

- Regarding the roadmap: yes, we are exploring *broadening* today's flow definition language into the concept of a "site definition language", where a site can consist of many elements, where some elements can be bookmarkable pages, others can be controlled flows, others REST endpoints, etc -- all definable at the same level of abstraction in a declarative manner. Yes, we are looking at incorporating Groovy there to allow the use of script for handling user events and other user actions in a dynamic manner. This work is just getting going, and we'll be making the first of it available to the community soon for feedback. Also, we will have full support for the Web Flow 2 flow definition format in this "site definition" world for defining reusable flows!

- Regarding "Spring being wrapped by others": The Spring Framework and its portfolio projects are and will always be Apache-licensed, which means they are licensed in a manner that allows and encourages them to be integrated, built on, and extended. And we like that! In that way, our work can help bring solution providers of all types competitive advantage. And it is good for us because it drives adoption of Spring and growth of the Spring community. The newly announced SpringSource Application Platform is licensed under a different license, the GPLv3, because it is a different kind of product--a next generation server platform. We wouldn't want Oracle or IBM to be able to build on our server platform to offer their own competing, closed source product, for example, hence why that license is different. Trust me, I won't get mad if someone embeds Spring Web Flow and uses it in an unique way to bring value to their customers... its designed for that, and that's why it and the other Spring projects are and will continue to be Apache licensed.

excellent clarifications !

Thanks for the great clarifications Keith.

Nice review

Pete,

Good review. I was equally impressed with the talk. Most impressive was the annotation-based Spring MVC. I'm trying to get my head around that right now.

One thing, I'm pretty sure Keith was using the Spring IDE throughout the entire talk. You might ping him on it.

Erik

Your group just keeps getting better Erik !

Gotta agree Erik, the Spring group is really kicking some butt. You always have good talks but this one was smoking !

I had to put at least something about IDEs in there, I guess my comment was pretty lame :)

Post new comment

The content of this field is kept private and will not be shown publicly.
CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
6 + 14 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.
Syndicate content