This year the symposium moved to Prague. I took this chance to travel to this vibrant city and to meet interesting people. As I know Jürgen from SpringSource personally, I had the opportunity to get personally introduced to some SpringSource speakers like Costin Leau and Eberhard Wolff.
Below I’m listing the sessions I have been attending and some comments on them!
Supporting The RIA Space, Stephan Janssen
If you have been at JavaPolis you know Stephan Janssen, he is the founder of BeJug and running parlays.com. In his keynote he addressed the technologies and platforms currently supporting the RIA space. Most interestingly he showed live demos of the upcoming parleys.com site using different technologies including
- Microsoft Silverlight
- Adobe AIR (AMF, BlazeDS, …)
- Sun JavaFX
He has also been talking about REST support in the coming JavaServlet 3.0 spec as well as in Spring 3.0. Also he pointed at an interesting framework called Restlet .
JSF in Large Scale Projects, Martin Marinschek
Martin talked about his experience with implementing large scaled JSF projects. In particular I found it interesting how he was trying to introduce the concept of modules (which does not exist in JSF).
Monitoring, Management and Troubleshooting in the Java SE 6 Platform, Jean-Francois Denise
This talk gave in interesting overview of the overall JMX Architecture and some tools like JConsole and the new VisualVM based on the Netbeans Platform.
SOA Using Service Component Architecture, Mike Keith
Back in 2006 I listened to an SCA talk at the JavaPolis. So this talk was an interesting update on this topic. Though as of now I haven’t been working on any projects in this space.
Choosing a Synchronization Model for Multithreaded Applications, Mike Aizatsky
Mike, a former JetBrains employee discussed a few approaches for properly synchronize access to shared resources. There were a few interesting approaches going from avoiding multi-threading at all to being careful with overusing the synchronized keyword for doing synchronization. So the java.util.concurrent API must be considered more frequently.
He also pointed to an interesting document http://people.redhat.com/drepper/cpumemory.pdf for getting a better understanding of memory management. Besides, for a seasoned Java engineer it is a must to read the specs about the Java memory model.
Case Study: Better Enterprise Software with the Spring Portfolio, Eberhard Wolff
Eberhard was presenting their support for Web Services (including his emphasisis on contract first development), Spring Batch and Spring Integration.
Keynote: Language Oriented Programming: Shifting Paradigms, Neal Ford
Neal did a very interesting talk on the current hype on scripting and the currently much discussed domain specific languages (DSL). Nice talk about the evolution of languages in general and the importance of DSL for allowing non-developers better understand code. But also programmers can do a much better job using more expressive language. I you haven’t heard about fluent interfaces yet, look at this. It is a simple way of making Java code more readable (trying to make it as nice as natural language like all the ruby guys do). Java has the problem that it is too noisy. Whatever you need to solve, too many lines of code must be written. The scripting guys are very well showing us how it could look like. Let’s get Groovy!
By the way Hamcrest is a nice add-on for testing frameworks and is using the fluent interface coding style. easyb is another interesting DSL for the domain of testing
I found one statement quite interesting and true (XML hell): at some time Java has chosen to use XML as an external DSL to represent metadata (configuration). But XML hurts the DRY principle, its just hard to re-use XML ( you get wet as Neil spoke it out!).
Many Software vendors are currently working in the DSL space including Microsoft with Software Factories, JetBrains with their Meta Programming System (MPS). There is even an ANTLR IDE now.
Spring 2.5 on the way to 3.0
Unfortunately not all of the coming Spring 3.0 release have been determined. So this was more or less a presentation of the current power features of Spring 2.5.
Extreme Transaction Processing, Low Latency and Performance, John Davies
Im not very clear about how to deal with this presentation. I was kindof interesting to hear someone talking who has implemented high performance systems in the financial world. For me it was to much a keynote like presentation with only a few technical details.
REST vs SOAP: Arch Enemies or BFF?, Ted Neward
A talk about pros and cons of REST and SOAP with my conclusion REST is too unstructured whereas SOAP is just too structured.
Concurrency & High Performance, Kirk Pepperdine
This talk was a strong hint on paying more attention to the way a JVM works with CPU and memory.
Real Google Web Toolkit Applications, Jeff Dwyer
Kickstarting JCR: TheServerSide.com as a Content Application, David Neuscheler
I liked this presentation about an A JCR implementation (CRX) based on Apache Sling. It is using both server-side and/or client-side script to implement a Web 2.0 like content repository user interface with REST style document URLs.
What’s New and Exciting in JPA 2.0, Mike Keith
Honestly I haven’t found really exciting features!
How To Choose your Java Web Framework, Shahshank Tiwari
Sorry to say that, but this should have been a bit more focused, it was more a kind of discussion with the audience.
Testing with JRuby, Ola Bini
If you first spot Ola you got to think what a crazy guy. But once he starts his JRuby stuff
you just get overwhelmed by the stuff scripting languages can do. Amazing how natural like spoken language a DSL based on Ruby/JRuby can look like.
Typesafe Embedded Java DSLs, Jevgeni Kabanov
This was the last presentation of the conference. Don’t think it was just for chilling out. It’s been amazing how Jevgeni is utilizing Java Generics features to implement internal DSLs that are type-safe and support semantic rules.
A few weeks ago already I had noticed that the Apache OpenEJB had released its 3.0 version. Only today I had a a quick glimpse at their features. There are a few interesting promises like drop-in JARS for Tomcat . Seems now I no longer need to install and configure those heavy weight containers. See the Apache OpenEJB Wiki for more of their features!
I have used the AspectJ style for providing services with transactional proxies. Today I was working on a demo application for a JavaEE with Spring workshop. Accidentially I had started off with compiler settings for Java6. As a result I didn’t get the nice AOP markers in the left gutter.
Using the Spring AOP Event Trace I figured that Spring IDE was not able to analyze the byte code, it reported invalid class version errors.
I switched back to Java5 compatible byte code and they are shown again.