At the time I'm writing this, Devoxx 2008 is well into it's second day. Day one was quite interesting, with the major announcement being the release of JavaFX 1.0 last week. Apart from that, IBM presented their RFID technology, which has been incorporated into our access badges. Day two held another major announcement: all of Java will be made modular. That means not only the SDK, but also the JRE and even the JVM. Expected release date of JDK 7: somewhere in 2010...
Back to day one. JavaFX is here! It was announced a week ago and of course it's the biggest thing this year at Devoxx. Remarkably enough, only one non-keynote presentation was about JavaFX! Flex is there as are Ajax and JSF. So, despite the big announcement there still was a balance in the presentations.
For some reason a major topic this year is security. No less than three presentations dealt with this topic, of which I attended two. Mike Wiesner talked us through his extensive knowledge on the topic of security in his presentation entitled "Security Patterns Reveiled". One of the tips that were reveiled is that the Secure Base Action (coming from the Core Security Patterns book) isn't always the best solution. The problem lies in the fact that the SecureBaseAction class needs to be extended. In Java, only single inheritance is allowed, so extending the SecureBaseAction class would disable your class to extend another class. The solution lies in using Bean Validation which is described in JSR 303.
The second security related presentation I attended was "The thread is out there! XML threads and DataPower" by Bill Hines. Bill's presentation started out with a great overview of possible hacks that can be performed using XML. The most striking example he showed was a perfectly valid piece of XML with recursive namespace definitions. The result was a browser rapidly consuming more and more memory which eventually would lead to hangning his laptop. Imagine this happening to your ESB... Unfortunately the presentation ended up in a sales pitch for several of IBM's products, despite Bill ensuring us several times he's not a slaes person.
Next Scala was up. Bill Venners talked us through "The Feel Of Scala" which presented Bills view on Scala explained in the context of ScalaTest, a unit test project for Scala. As it turns out, Scala appears to be a very flexible language with many nice features that Java doesn't have. When I was at JavaOne earlier this year I heard some people predict Scala to be the next Java. Now I understand why they clamied that. We will definately have a Knowledge Center evening at AMIS about Scala!
The final presentation I attended at day one was "Modularity In Java Using OSGi" by Peter Kriens. Peter gave us an excellent high leven introduction in the principles and concepts behind OSGi. Explaining why and how OSGi was first developerd and how it eveolved from there proved to be an excellent way of providing us with insights of OSGi. My next action on this matter will be to actually have a look in how to code with OSGi.
The rest of the day was filled with JBoss and Seam. First, my colleague Alan and I attended a BOF (Birds Of a Feather) on Seam, Hibernate and JBoss Tools lead by Pete Muir, Max Anderson and Dan Allen. The BOF was a relaxed and jolly Q&A mostly about Seam and WebBeans. It was interesting to see that Seam is quite popular and that JBoss is working hard on WebBeans. Pete predicted an alpha version of WebBeans to be available this or next week.
After the BOF we checked in at our hotel and then went to a JBoss Meetup. The Benelux JBoss Users Group had organized one in Café au Lait (which translates to coffee with milk). Unfortunately, the JBoss presenters of the BOF arrived after Alan and I had left the café.
Day twoDay two started off with Joshua Bloch doing a little promotion of his new book, Effective Java Programming Language 2. Joshua presented a bunch of very interesting cases for which he showed us how to improve Java code that people generally write. The examples he gave included a mnemonic about generics. The mnemonic is PECS. I will take no credit for this useful mnemonic, so google for Joshua Bloch and PECS to find out what I'm talking about. Thanks again to Joshua for signing his book I bought for AMIS later that day.
After this Mark Reinold was one. His presentation was originally titled "Java SE 7 Updated" but was renamed to "Modularity in Java SE". When I was at JavaPolis (now Devoxx) last year there was a huge discussion between the audience and Roberto Cinicci about a Java Modularity JSR (JSR 277) and OSGi. A year later, Mark Reinold told us that JSR 277 is no more. Instead, JSR 294 is alive now and dealing with modularity in Java. Mark explained why OSGi just isn't enough: you'd want modularity in all of Java, so also in the JVM, JRE and SDK, and not just on top of it. However, there are still big debates going on about how this should be put into the Java language specs as we speak.
Mark went on to tell about JDK 7 features that may be expected. Big ones to be expected by Sun include Modularization, VM support for dynamic languages (JRS 292), NIO2 (JSR 203) and the Swing Application Framework (JSR 296). There will most probably also be smaller features to be expected by Sun. Apart from that, non-Sun features to be expected include Annotatons Of Java Types (JSR 308) and some concurrency updates on top of JSR 166. Mark also told us that there are some features that we may NOT erxpect in JDK 7, being Closures and Beans Binding (JSR 295). Expected release date of JDK 7: somewhere in 2010!
So, day two still goes on. I'll write about it and day three in a few days.