This is my 3rd visit to JAOO, and as always it's a great experience.
The opening keynote was titled "Scaling Up Agility: The Architected Agile Approach". Sounded interesting. Unfortunately it wasn't. Presenting slides with too complex diagrams and turning your back on the audience while reading from your slides will kill any presentation, no matter how interesting the subject.
Fortunately it soon got much better.
Breaking Barriers with HTML5 WebSockets
Jonas Jacoby demonstrated how the new WebSocket protocol will eliminate a lot of the limitations imposed on us by http's request-response model.
You still initiate the communication by issuing a http request, but once the connection is established you can upgrade it to the ws: protocol, and have full-duplex communication. After that you can do pretty much the same as with a normal TCP socket and let applications running in a browser work much more like today's "fat clients".
An excellent presentation on technologies which I'm sure very soon will change the way we make web-applications.
Extreme Java Productivity with Spring Roo and Spring 3.0
Rod Johnson gave an very impressive demonstration of Roo's capabilities. I won't try to describe what Roo is - I'm sure you'll find far better descriptions of that than I could ever hope to write on SpringSource's websites and in other blogs, so I'll just say, that I was very impressed by the way they used AspectJ to separate the code generated by Roo from hand-written code, and how they used that to get those stupid getter and setter methods out of the source code we need to maintain by hand.
Certainly something I'll try out very soon.
Operations and Monitoring with Spring
Eberhard Wolff would very much like to sell "enterprise editions" of Spring and Spring DM Server. If I were in Operations I'd probably have found this more interesting. The DM Server / OSGi demo was nice though.
Making use of Patterns
I went here because the presentation was done by Martin Fowler and, as always, it was interesting and very well presented. Don't really know what to pass on, though. If I have to single something out, the biggest take-away for me probably was the idea that trying to pass on knowledge to someone not yet proficient in the field in question just won't work. Sounds like I should go home and read the GOF patterns book again (I first read it when I just had started learning Java, and didn't "get" half of it).
xUnit Test Patterns - Refactoring Test Code to Improve ROI
Gerard Meszaros gave some very concrete examples on how to refactor test code to make it more readable and maintainable. His "xUnit Test Patterns" book is definitely on my must-read-soon list.
Energy-efficient Cloud Computing
Very impressive hardware those Google guys have. And yes, we definitely need to do something about the energy consumption of computers and data centers.