This is a short report from this years Jazoon day #1:
Sun Opening Keynote (James Gosling)
Finally I managed to hear the famous creator of the Java Language. I had hoped to hear some visionary statements but at the end it was more or less just an “outlook” at the past of Java and where you would find Java these days.
Google Web Toolkit:
As I’m currently trying to start working with other Web frameworks (besides JSF) this was a nice intro to GWT and especially how it is integrated into the build process and how it can be extended.
Integrating the JBOSS Seam Framework with the GWT toolkit
A speech that could have been more interesting. But anyway a discussion of some problems/solutions!
Finally nice to see an application server that is not just built based on OSGi but also offers injection of OSGi sevices using @Resource without tying yourself to OSGi. They also have nice developer features like directory deployment etc. for shortening development roundtrip (no deployment required, just edit/fix then run).
Next Generation Enterprise Builds: Maven, Mercury, and Tycho (Jason van Zyl – Sonatype)
Lot’s of cool stuff coming here with (Maven 3.0). Mixin will allow kind of importing fragments from other POM. m2eclipse will be much better integrated with JDT (utilize JDT incremental compiler, strip off much of the build activities that JDT is doing anyway) resulting in much better build performance. Maven will be built on top of OSGi as their plugin mechanism. YES they finally kick out Plexus! Internally they will use Guice for DI and Peaberry for running on OSGi.
Changes to JDT project preferences will be directly reflected into the POM and vice versa.
Smithying in the 21st Century (Neal Ford – ThoughtWorks, Inc.)
I really love this guy. This is the second keynote from Neil Ford I have heard now. The talk was about evolution of software development, about how languages influence (restrict) ourr thougth and thus block creativity. It was also about what we might see in the future it seems to be lot of robotics and machines in our daily life. “Talk to my hand” – you understand if you have attended this speech
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.
TSS has chosen Prague as the location for the European Java Symposium. It will be from June 18th through June 20th. This happens to be just the days before a weekend.I have never been in this city so this is a good chance to brush up on some Java knowledge and then chill out there for the weekend.
The agenda shows many highly interesting topics such as
* Monitoring, Management and Troubleshooting in the Java SE 6 Platform
* How JavaServer Faces can be Used Effectively on Large-Scale Projects
* Choosing a Synchronization Model for Multithreaded Applications
* Java Performance Tooling
* Concurrency & High Performance
* What’s New and Exciting in JPA 2.0
* etc, etc.
You see I have chosen many topics regarding concurrency and performance for good reasons. It’s just ignored by many projects!
JSFDays will take place on March 12th to 14th in the premises of FH Technikum Wien. The conference is hosted by IRIAN Solutions Gmbh.
Among the speakers are Edward J. Burns, Kito Mann, Alexander Jesse.