With some of my collegues I attended JFall, one of the two yearly conferences of the NLJUG. I visited the presentations on Mule, Wicket, Spring WebFlow and the newly announced Spring Web Services.
My personal highlight was the presentation on Mule, the open source ESB implementation. The speaker demonstrated the capabilities of Mule with a simple application for drawing lottery numbers for a book raffle. This demonstration was an excellent way to show the capabilities of Mule and how to use (and configure) the routing, filtering, transformation, messaging and webservice components. He showed how easy it is to change parts of the handling, e.g. switching from using a local to a remote application without changing any code. For Spring users this sounds very familiar. In fact, the Mule philosophy is very similar to Spring. It offers ease-of-development while providing maximum flexibilty and with a minimum of intrusiveness. You can, for example, use different webservice containers or different IoC frameworks of different messaging systems. This is accomplished by abstracting the communication between components into so called endpoints. It’s a very impressive product, already used by major companies, and I have the impression that it’s a viable alternative for the ESB products of the big vendors like IBM, Sonic, Tibco etc.
Although the presentation about Spring WebFlow was pestered by a warm and sleepy conference room the content was quite interesting. With Spring WebFlow you can easily define page flow(s) within your webapplication. A webflow defines the sequence of certain pages (and actions), e.g. for wizard or multi-page form functionality. These reusable webflows make the application better understandable and better manageble. It integrates nicely with Spring MVC (off course), Struts JSF, Tapestry and portlets.
The presentation Component based development using Wicket gave a good impression on the Wicket framework. It uses the concept a web component model backed by POJO data beans. This ensures the separation of markup and logic. The presenters demonstrated the creation of a simple web application. 1 Start with an HTML page. 2 Create a backing java page. 3 Create ‘html’ components and add them to the the java ‘page’. 4 Reference these component in the HTML page. It’s easy, it’s understandable, it’s component based, but it’s HTML centered.
Then, we witnessed the world-wide announcement of a new Spring component: Spring Web Services. This extends the Spring philosophy to the area of webservices. It promises a easy but a flexible way of publishing webservices. You can use your favorite OXM (object XML mapping) tool and your favorite webservice container (Axis, XFire, etc.). The speaker stimulated us to apply the best-practice ‘contract first development’: design your contract (the wsdl) first and then your code. Spring Webservices preview is to be expected in the first quarter of 2006 and the production version will be expected for the second quarter.
As expected did the quality of the presentations vary much. Some speakers are very good and make you enthousiastic, others are more or less boring (and even make you fall asleep sometimes), some are able to completely fail to take the audience serious with boring jokes, unnecessary explanations and an inconsisted and oversimplified presentation. Off course, we’d like to live in a perfect world and only attend sessions of the first category. Unfortunately, that’s often not the case. But, while the second category is acceptable, the third category is just plain annoying and is definitely not a good advertisement for the speaker and his company. With many presentations in the first category, some in the second and one in the last (Java development, snel en simpel. Toch?!) I think this JFall was a real success and I am looking forward to JSpring 2006.