JavaPulse

a finger on the pulse of the freelance Java™ market in the Netherlands

JFall Recap

Posted on | 14 October 2006 |
Tags: |

On Wednesday morning, I got on the train for the one-hour ride to Ede for the JFall conference. The conference turned out to be a success, with other 700 people attending. Imagine 700 Java developers in one room. I think about one percent was women, but that’s just how things goes here in Holland. It was great to catch up with so many ex-colleagues, but here are the talks.

The first keynote was represented by people from Sun, mainly trying to promote SPOT (Small Programmable Object Technology), where people can get small pieces of hardware (mainly from the States or Canada) and program Java on top. The demos included little robots on wheels that didn’t really do much yet. But the most interesting part of this keynote for me was the musical search program. The idea was to search within music (and eventually in video) just like we do with text. This is still in research state, but someone did spend the time to make a very funky GUI for it. It shows a graph of colored clusters where each dot represents a song and each color represents a certain style.

The session were scheduled in 5 rooms depending on the interest expressed in each topic during registration. For each timeslot, I was mainly torn between a somewhat technical session or a high-level session.

For the first session, I had at first wanted to go to “To Data Independence & Beyond!” - about test-driven development and testing frameworks. I think that since the agile revolution, lack of knowledge testing in a developer will become more and more old-school. I believe that there will come day where if you cannot set up a testing framework with blindfolds on, then you’re not a good developer. I also think that good testing is also a team effort, so the idea is not to leave someone else to do it.

But at the last minute, I ended up attending “Top 10 Enterprise Java performance problemen en hun oplossingen” - the talk about Java performance issues. Since developers invariably come across most of these issues, it’s nothing new. But it is still a very good list of 10 things to keep in mind while working on a project. I believe Vincent Partington from Xebia is currently having the talk translated and available online. A little regretting missing the details in the testing session, but we’ve been told that we will get PDFs of all the talks, so I hope I’ll have a chance to go into details once those are available.

For the second session, I attended “Hibernate explained with TechAnims and TechMaps”, whirlwind presentation of a 3-day course squished into just 50 minutes by two French guys - charming accent, I’d say. And good job too. The main presenter hardly had a chance to breathe. I was quite impressed with how much information they were able to present clearly in such a short time. The talk presented the basics of Hibernate while showing code, configuration, data schema, and sequence diagrams at the same time. We went through some simple mappings, user types, entity relationships (uni-directional or bi-directional and one-to-one, one-to-many, many-to-one, and many-to-many relationships), lazy loading, pessimistic and optimistic locking, and caching mechanisms. I would make more use of colors so we would know where to look and maybe sometimes a higher level diagram before zooming into code. I would find that useful.

The second keynote was nominally called “The Vocabulary of Enterprise Applications”, presented by Adrian Colyer of Interface21. However, he quickly dived into AOP - which according to him is the lesser known part of Spring and presented some examples of how you would solve certain requirements by using aspects in Spring. The best part was the idea that an object should be represented by a triangle - with the 3 sides exposing IoC, AOP, and data access - 3 things that Spring “takes care of” for you.

Next, I went to “Kennismaking met het Eclipse Modeling Framework (EMF)” where I expected to see the use of UML within Eclipse. But, what was presented was that the model was kept inside the code with annotations. We often talk about finding Java in JSPs, but this was like keeping track of scripts in inside your Java code. As far as I can see, MDA is still not there yet. The best for this is probably OptimalJ, but even then you still cannot generate an entire application at the touch of a button.

Since there seemed to be a big buzz on AOP, I decided to go to “Advanced AOP with AspectJ” next, also by Adrian Coyler. So now, I can’t remember what he said in which talk. I could follow the concepts of his examples, but not really the code, since I haven’t read up on AspectJ yet. His main advice is that if you are going to introduce aspects into your applications, do it in phases. Start with the standard aspects in Spring, then write your own aspects, then go onto AspectJ. Spring is designed to use the same vocabulary as AspectJ.

For the last session, I went to “JSF made easy with Facelets”. Although I’m not really into front-end programming, I thought it would be good to go to this just to get the main ideas presented to me on a platter. And it worked. :) The presentation was clear and the demos worked well (very important). Facelets allows the front-end to be built up from components that represent different boxes on a HTML page, much like Tiles but without Struts. Facelets makes JSF much easier to work with, by moving the effort from making tags to making components. Plus, the demos showed some seemless integration with AJAX, so you don’t have to miss out on that latest front-end buzz.

The main ideas I came away with are:

  • Spring
  • Hibernate
  • AspectJ
  • JSF/Facelets

but also:

  • performance - pitfalls and solutions
  • testing - unit and functional testing
  • agile

Comments

Leave a Reply