SpringOne 2009: Rod Johnson Keynote

Rod JohnsonDisclaimer: This text has been written during the presentation please forgive me any grammatical and typographical mistakes.

Due to the even more limited Wifi available at SpringOne (compared to the hideous Wifi support at JAX last week) I’ll limit myself to repeating Rods key messages:

  • Oracle will not innovate, especially not as far as Java is concerned. It’s all about money, not innovating.
  • To understand Oracle one must ask “What would Gengis Khan be doing?”
  • Rod is not concerned about the future of Java, because innovation concerning Java has been happening outside of Sun for some time (e.g. with Groovy, Scala and Spring).
  • JavaEE has a perception problem – it is being perceived as a bloated and unproductive platform. Which according to Rod is actually somewhat true.
  • Naturally SpringSource is the solution – building on open source with a coherent vision for a coherent platform as a one-stop solution. I wholeheartily agree.
  • Groovy and Grails according to Rod are the most exciting technologies to grow the power of the JVM. Sadly I can’t agree with this point. According to my experience Grails only works well with good developer teams. Sadly the majority of developer teams are (across the team) only average. And that’s not a specific problem – almost everything tends to average out. I personally believe that Grails, Groovy & et al. solve a specific developer problem. I personally also believe that we should focus a bit more on customer problems.
  • Since not all developers want scripting (or are allowed to use it), SpringSource offers a new productivity solution: Spring ROO (from cangaroo).
  • Spring ROO is introduced as interactive lightweight tooling with the goal of rapidly delivering enterprise solutions while coding in Java and using the Spring programming model.
  • Spring ROO promotes best practices and eliminates the busywork of creating a project. It also offers sophisticated round tripping.
  • Then he presented a ROO demo by implementing a voting system for the future name of Spring ROO.

Here are my observations:

  • Roo offers a command shell with online help and various code completion features for console input.
  • Sequantially he created a project, added JPA support with Hibernate and then selected the Hypersonic persistent database.  Then he created a domain class, added a string field, activated test case generation. Since Roo is still alpha he had to leave  Roo for a moment to generate an Eclipse project with Maven, then he entered Eclipse.
  • There we learned that Roo generates a lot of boilerplate code for finding domain objects, persisting them, counting them, etc. Roo currently seems to be watching your sources and when you e.g. add a new property to a class it also generates more boilerplate code.
  • From what I could see Roo makes heavy use of AspectJ to weave in all kinds of behaviour.
  • Roo seems to have a decent Eclipse integration, specifically in conjunction with STS.
  • There is support for Spring Security.
  • Spring Roo is a pure development time tool. There are no runtime dependencies.

All in all Roo looked to me a bit like “Grails for folks who are not allowed to use Groovy”. Additionally I wonder how well round tripping really will work for more complicated projects. I also wonder how the Grails community will like this new project, especially after the G2One acquisition.

Next Rod positioned Roo as the solution for Java developers that do not want to work with dynamic languages. Then Rod followed up with some more marketing for SpringSource Tool Suite and it extended enterprise support features positioning it as an integrated solution for Enterprise Java.

The biggest surprise:

STS will be free from now on.

Groovy and Grails tooling will be added, too, later in 2009. As could be seen from the Roo demo, there is also greatly improved AspectJ support in STS right now.

Next Rod challenged the traditional application server market by declaring that the days of traditional application servers finally – enforced by the financial crisis – are ober. People according to Rod are no longer willing to pay for stuff they don’t need as can be seen by about twice as many productive Tomcat installations compared e.g. to WebSphere installations.

There he positioned the SpringSource tc server and the SpringSource dm server as the next generation solutions for traditional application server markets. The slogan for tc server is aptly called “The Tomcat you know, the enterprise capabilities you need”. The 1.0 GA release of tc server was announced in the same moment. Jennifer Hickey than demonstrated tc server and its monitoring capabilities which are particularly interesting for larger installations and provide great administrative support – an area in which I feel Tomcat as project has been lacking sorely for a long time. Personally I’m thus a big fan of this product and believe that it will be a very valuable addition to the open source server world. Some demo problems tarnished the presentation a little bit because a test deployment worked but the actually deployed applications did not run completely and that part of the demo had to be aborted.

Next Rod quipped at Oracle about not believing in the Cloud and that also being one of the important future technologies.

He summed his statements up by stating that he believes that Java innovation currently rests in the hands of the new leaders, leaving now doubt that he sees SpringSource being a major player in that area as an open source powerhouse with the leading framework.

All in all a decent talk from Rod.

Comments are closed.