I intend to make entries here each day, with whatever interesting things I find each day.
This evening was registration, dinner, and the keynote speech by Rod Johnson.
Rod spoke a bit about “the year in review” for SpringSource, which saw, among other things, the release of WebFlow 2.0, Spring Batch, Spring Integration, dmServer, toolSuite, and Application Management Suite.
He also spoke about new things that will be coming soon - specifically Spring 3.0, which he said we should look for in GA by mid-February 2009. Spring 3.0 will will require at least Java 5, will support generics, and will take advantage of Java 6 when used with that version of the JVM.
Spring 3.0 will include first-class support for RESTful URL mappings, and Spring EL (expression language) - similar in concept to the Java EL that you know and love in JSP, but it will be usable in both Spring configuration xml and in annotations. An example expression that he showed was “#systemProperties.databaseName”, which might be used to configure a database resource.
SpringSource has a new tagline - “Weapons for the War on Java Complexity”, and Rod predicted that the current world-wide financial crisis will drive a further attack on complexity throughout the entire stack. Rod promised that SpringSource would continue to simplify both MVC and SWF during the coming year.
As a side note, I’ve been working with Spring MVC and SWF for about six months, but more with SWF than MVC. I thought that it might have just been familiarity, but SWF has started to look like the proverbial hammer with a large number of web UIs looking to me like nails. It was therefore interesting to hear Rod say that he no longer thinks of SWF as a special-purpose tool only to be used on “really complex” problems, and is now recommending it for any UI that requires directed navigation. I heartily agree, and I feel vindicated.
One of the most exciting announcements made was “tcServer”, a version of the venerable Apache Tomcat web server that has been enhanced with operational management features. We got a demo, which, among other things, showed that sever and application health (on many servers at once) could be monitored via Spring’s Application Management Suite, and that servers could be stopped and started. Another really nice feature is the ability to upload a war file, and have it simultaneously deployed to several servers. By providing Operations Management functions, a diagnostic module, and enterprise support for Tomcat, it looks like SpringSource will allow Tomcat to be used in production environments for which it previously wouldn’t be considered. One of my previous employers used a commercial application server just because it provided the Operations Management functionality (even though it did it badly, the rest of the sever was awful, and all of the developers really wanted to use Tomcat). I was flat-out told that Tomcat could not be used because there was no management infrastructure. Now, hopefully, larger shops that need this functionality will still be able to use Tomcat in production if they wish.
SpringSource has done a lot of work in the last year or so sorting out which versions of various open-source java libraries work with and/or depend on each other, in preparation for their dmServer, which is an OSGi server implementation.
Coming soon (Q1 2009, according to Rod) is a web-based “Application Platform Configurator”. We got a demo, and it showed what was basically a “wizard” interface, where the user answers questions about the kind of application that they wish to build, what libraries they may wish to take advantage of, and how they wish to deploy it. Depending on the answers to these questions, the Configurator bundles up everything that you need, including, if desired, a JVM and either Tomcat or dmServer, as well as libraries such as Webflow, Hibernate, JPA, Tiles, and gives them to you as a single .zip file download. It looked like there was also an option to download a VMWare image - perhaps with the JVM and the application server already installed? This will all build on the dmServer work to ensure that the versions of all of these tools and libraries are compatible with each other, and that everything “just works” - freeing the developer from spending the time to research and integrate them, or as Rod called it, rescuing us from “Java’s version of ‘DLL Hell’.
For those of you who are wondering, Rod promised that the Configurator would be available to the open-source community.
That’s it for today - tomorrow promises a full day of interesting sessions. In addition to blogging here, I hope to be recording some audio interviews each day for Chariot - look for them on the company’s website at http://www.chariotsolutions.com