I am currently attending the Devoxx Conference in Antwerp, the largest gathering of Java developers this side of the pond. I was last here in 2005 – a memorable conference for me as in one day I was exposed to JSF and the announcement of the donation by Oracle of Trinidad to Apache MyFaces as well as an introduction to JPA (and EJB 3.0) by Mike Keith. These two sessions helped shaped a lot of what happened in my professional life ever since.
So here I was this morning, expecting another life altering event.
I have to admit, I was a little disappointed this morning in that respect. The first session by two guys from JBoss (Mark Proctor and Kris Verlaenen) did not happen – they were not there until more than 10 minutes after the scheduled start. Then I walked into a session on Scala – and I left after about 25 minutes again. The two presenters (Bill Venners and Ted Newards) were clearly having a good time but to my taste that seemed to be their main focus – transfering knowledge seemed a distant secondary objective. In that first 30 minutes they did not get beyond some of the language basics and I will have to study Scala a little further to understand what the fuzz of Scala and Functional Programming is about. By the way: the presenters at one point stated: "We have to compete with Ruby". One of the big distinctions obviously being the fact that Scala runs in the JVM and can leverage the facilities of the Java Platform, and Ruby does not.
I then went to see Mike Keith on EclipseLink – including mapping Java to XML with it. However, Mike was a no show and the presenter who stepped in – kudos for this last minute bravery by the way – only discussed JPA (interesting though that is) and never touched EclipseLink. During the break I returned to my original choice: Declarative programming with rules, flows and events by two JBoss representatives. By now they had showed up and were well underway – having discussed most of the Event processing stuff I was most interested in. Well, I should have waited a little longer I suppose.
After the lunch I attended a session Servlet 3.0 and JSF 2.0, by Martin Marinschek. Very useful. Maybe not quite life altering, but really valuable. And likely to have an influence on several things I will be doing in coming months and years. I will write about this in another blog, but just a few highlights: the public draft for Servlet 3.0 is to be published next week. Which undoubtedly will be very interesting reading material. One of the big things with Servlet 3.0 is of course the Asynchronous handling of requests. Martin did a very nice walk through of a scenario where the Cook, the Delivery guys and the Customers could each have details about Pizza Orders pushed to their respective clients. It is a slightly different way of thinking, both from the client (browser) perspective as well as the server (Servlet) end. However, trying to get your head rond it is worth it.
Other useful stuff in Servlet 3.0: annotations that by and large replace web.xml, that itself can be distributed now in so called web-fragment.xml files. So Servlets, Servlet Mappings, Listeners, Context Parameters, Filters and now all be configured in web-fragment.xml files that are in the jar-files of the frameworks and libraries your application may be using. This makes configuring Web Applications easier on the one hand – and having an overview of what is happening probably a little bit harder on the other… Then you can also programmatically add servlets, mappings, filters etc. – but only during initialization.
The spec committee is also considering adding a standard API for file uploading to the Servlet 3.0 specification. However, they have not reached consensus on this, so it will not be in the draft specification released next week.
Then it was my turn: 30 minutes to walk an audience through ‘JSF On Rails’ with ADF 11g (the application development framework from Oracle) and JHeadstart – its counterpart to Ruby on Rails and/or Grails plugin that support rapid generation of CRUD++ style applications – into JSF/ADF Faces Rich Client Components.
It went okay – apart from the fact that I dropped the mike-appliance and had the batteries spill on the floor… About 50 people in the audience – at quarter to five in a gloomy afternoon. Thirty minutes is short, but I managed to show the demonstration I had prepared. The audience stayed. There were few or no oohs and aahs – so maybe I did not exactly dazzle them. But still, I had some nice reactions afterwards.
In another article on the blog I will publish my presentations and the story line of the presentation.