About the Author
Julien is a J2EE architect/developer working for the R&D department of BSB, a Belgian company editing financial software. He primarily focuses on the development of the inhouse J2EE framework, but is also involved in architecture validation and development best practices coaching.
Spotlight Features

The Rich Engineering Heritage Behind Dependency Injection

Andrew McVeigh takes us on a tour of the rich heritage behind dependency injection, what it represents, and tells us why its here to stay.

NetBeans 6: Matisse Updates

NetBeans 6 delivers great updates to the Matisse GUI builder. Spend a few minutes with Roman Strobl and get an expert briefing on what's new and what has changed.

Introduction to Groovy Part 3

In this, the third and final installation of Andres' Introduction to Groovy series, you learn about how Groovy handles variable numbers of arguments, named parameters, currying, and more about Groovy operators. Including, some new operators.

Easier Custom Components with Swing Fuse

Swing Fuse (actually just Fuse), is a framework designed to make it easier to create your own custom desktop components. In this article, Daniel Spiewak shows you how to get started and provides sample source code you can download.

Benchmark Analysis: Guice vs Spring

Willam Louth shows how he uses JXInsight Probes to investigate probable performance issues with code bases that he is not familiar with. He also highlights possible pitfalls in creating a benchmark, as well as in the analysis of results.

Full Javapolis report

After a week spent in Antwerpen, practicing my Dutch and having quite a good time with my colleagues Nicolas and Stephane, here is my Javapolis report.

My general impression about the organisation is excellent, the venue is nice, free drinks, comfortable rooms, very cool. The BeJug did an excellent job with Javapolis, such an event at an incredible low price, it's amazing, thanks guys !

Second impression about the conference, I have seen too many men, I think I will have to go out for several nights in a row to find back the girly environment every man needs ;-)

Third impression is about the quality of the sessions: some were really great, but I must confess that I have been unimpressed by many speakers. I like being in front of people to talk about things I care of, so to me it's important that a speaker puts passion, energy, and humor into his presentation; and many sessions I attended just fell short in this area.

Now back to the important stuff, the content of the presentations...

Day 1: university

Business Rules Engines, by Mark Proctor

Since I am working for a company publishing financial software, I was really interested to see how business rules engines, by their declarative nature, can help externalize the changing logic of our applications. I have been disappointed by the presentation, too much theory, not enough real-life example (who wants to do Fibonacci ?), and no clue on how to implement this in a database backed, highly transactionnal application. Note to the speaker: people are not interested in the functioning of modules, but rather on their applicability to solve THEIR problems. It's a shame this presentation did not address these issues, because I am sure rules engines are a great tool (even tough I have no time to investigate them further).

Desktop Java in Action, by Romain Guy and Richard Blair

In this very pleasant session, we have seen interesting stuff about data binding, some cool stuff with Java2D and Swing timers, and a really impressive demo of Sun's IDE (an ITunes clone implemented in 20 minutes, wow !) Not always applicable in the banking industry (those customers seem to have rather limited sense of humor), but nevertheless very interesting. And by the way, now I know I have to convince my boss migrating to Java 5.

Day 2: University

Effective Java, by Joshua Bloch

To me, coding is an art form, and I truely think that some pieces of code are actually beautiful. I read Effective Java a while ago and I really wanted to attend Joshua's presentation, as he his, after all, one of the fathers of Java as we know it. From his presentation I have mixed feelings. Don't get me wrong, the content was great, but as I read his book several times, I was expecting some new material in the first part of his presentation. Anyway, Josh is a great speaker, and listening to him is always a great pleasure.

The second part of the presentation was about API design, and it reminded me of a presentation I gave at BSB a year ago. Since the contents were very similar, I did not learn many new things, except the rule of 3 (try your API against three use cases to validate it). What impressed me on the other hand is the examples and justifications he gave to his assertions. Man, the guy knows what he's talking about.

AJAX in Action by Dion Almaer and Ben Galbraith

I have been quite skeptical about AJAX, as I usually do not like buzz technologies. However, after this presentation, I am completely convinced: AJAX is a great addition to any website, it will not modify its overall structure but will greatly improve the user experience.

I will not present the technology here (I made up a small summary I will post shortly), but I must say I was really impressed by the little yet spectacular enhancements AJAX has to offer. The Google Map explanation was particularly impressive.

I felt the second part (toolkit overview) a bit weaker (I think this kind of presentations do not suit well in learning the bits and pieces of a new technology), but nevertheless it was a great talk. Congratulation !!

Day 3: Conference

Keynotes

I must confess I don't remember may things of the keynotes, except T-Shirt catapulting which was quite fun. The new Sun IDE seems great too. BEA's presentation was a bit of a mess, no real continuity.

More Java Puzzles by Neal Gafter and Joshua Bloch

A fun, well conducted, and highly interactive presentation. Mind stimulating problems, but not really applicable day to day, since I don't make such horrible programming mistakes anyway :-P.

EJB 3 Simplified Components by Linda DeMichiel and Mike Keith

A real disapointment: no new feature, Annotations that replace XML, some syntactic sugar, I must confess I left early. Come on, EJB is no more trendsetter, it is way behind Spring and Hibernate 3. Since I made my thesis on EJB 2.0, all I see is that they now hide some complexities (that were justified by things like decoupling between code and deployment aspects or location independance) and provide a stripped down version of Hibernate and Spring. Also the speakers were not convincing, way too academic.

Seam - an application framework for J2EE by Thomas Heute

Seam seems to be a JSF/EJB 3 framework aiming at simplifying development by eliminating the need to program glue code. I did not get the point and I think the framework has some design flaws by mixing up concerns, as David Geary pointed out in his presentation.

The speaker had real problems with English. I don't want to blame the guy, as I am sure he is really smart, but really, you JBoss people should at least choose someone that feels comfortable with talking, it is not possible to follow a presentation under these conditions.

Pragmatic SOA

SOA was, along with AJAX, one of the key word I wanted demystified after Javapolis. It is partly done, due to John Crupi' superior speaker capabilites. We saw many interesting rules about applying SOA, the enabling technologies, but not enough real time example that demonstrate its use.

The second part was a bit weaker, the demonstration did not make all the light about the internals of SOA (how do we bind, how do we interact with Java code, how do we marshall parameters and responses, how to transform various XML structures into ones that are understandable by each service ?)

Agile software development on large projects - Lessons learned by Johan Lybaert

A great presnetation, nicely conducted, that shows that agile techniques are applicable to a 60 people team. The speaker had the good idea to make his presentation feel real; he explained the adaptations to orthodox agile practices in order to make it work for large teams. Be sure to have a look at the slides when they are available.

Shale, The Next Struts? by David Geary

Good news, Shale has nothing to do with Struts, the prehistoric (compared to Spring MVC) model 2 framework. Its model seems to leverage JSF (which seems to have evolved right, compared to the last time I checked in Q1 2004) in a consistent and powerful yet simple manner.

As the speaker shamelessly confessed, it took several good ideas from other: the pure HTML templating of Taspestry that allows easily integrating web designers into the development team, or the WebFlow (very similar to Spring's), that allows a simple model for implementing use cases that span several HTTP requests. Also, it seems it already offers some AJAX integration facility. I'll definitely give it a try !

Day 4: conference

Keynotes

Again, I did not retain much from the technical presentation about Mustang and Dolphin (I should have another look at the slides). But I got really excited by two things: SpringOne, and the RAD race.

It is no secret to anyone who has talked with me for more than five minutes, I literaly fell in love with Spring since early 2003 (I even made a significant part of my thesis on it), and having such an important event about the Spring framework in Belgium is just great. Now I just need to convince my boss about the ROI of sending me there :-)

The reason I get excited about the RAD Race is that I think we can (and will) actually win next year. With our BSB Java Framework, we have a maximal productivity and we cover all application aspects (CRUD, search facilities, batch processing, business rules, workflows, web services) that the RAD exercise addresses...More on it next year !!!

Spring Update by Rod Johnson

Shut up you non-believers, God's speaking ! Spring 2 seams to leverage the core principles to a whole new level, with features like portlet-support, async execution framework (by the way I made one too) and message-driven POJOs. The AOP features seem great too, even tough I'm a basic AOP framework user (I only use it for transaction management and security, but I am sure I will use it more extensively in the future).

Bitter JavaServer Faces by Stijn Van den Enden

Rather mixed feelings from this presentation, as I do not use JSF (yet?), it semt a bit abstract for me. I would have liked a more high-level content, but nevertheless it was quite interesting and allowed me to better understand the internals of JSF. I think this presentation was more targetted at experienced JSF users, and would be more appropriate to a smaller audience.

Advanced EJB 3 Persistence by Linda DeMichiel and Mike Keith

Again disapointment, even if EJB 3.0 seems to greatly enhance the wack EJB 2.0x model, it is nothing but a stripped down, annotation based version of Hibernate 3.0 Nice to see a good (even if incomplete) model finally gets the standardization it deserves. Funny also, Nicolas and I both felt the presentation was way too lightweight, but I'm pretty sure that it is because we were both involved in the development of the BSB ORM framework (so we are all persistence experts in the R&D department ;-) )

Maven 2.0 by Vincent Massol

I was there partly to support Stephane, one of Maven 2.0's committers. All and all Maven 2.0 seems to greatly improve the flaws of Maven 1.0 (transitive dependencies, hierarchical projects, scripting complexity); but what I did not like was the message behind the presentation: "Maven is (kind of) production ready, you should give it a try". Come on, Maven is a project management system, we are expecting more professionalism, at least in the message. How could Maven get acceptance from managers with such message ?

Jasper Reports in Action by Teodor Danciu

JasperReports (a really good open source project) by its creator should have been a joy, it was rather a suffering: way too academic, no demo, no screenshot, monochord speech, and second-order information. Come on, it is a tool for producing visual results, you should make something sexier. Another proof that technical geniuses are not always the best speakers.

Day 5: conference

Let the code look like the design by Arno Schmidmeier

What a tasty title, for a really thought provoking presentation ! I use AOP for basic use cases (tx, security, ...), but the guy has proven it can be used to implement other, purely business requirements.

Based on what was presented during this speech, I would say the following: AOP is perfect for implementing crosscutting business concerns, those that are expressed this way: "Whenever something..., do or check this or that". It can also be used for enforcing invariants.

I used to see AOP as a tool for precise tasks, I now see it as a transparent, ubiquitous event-driven programming model.

Some aspects still have to be addressed tough, as exception handling/throwing, code readability, or aspect precedence. Anyway, it seems I just got the AOP bug, this is surely my most important mind shift from Javapolis.

Agile Model Driven Development by Scott W. Ambler

Pay attention, this man really rocks ! Lot of energy, killer sentences, radical but nevertheless pragamtic approach, audience involvment; this is by far the best presentation I attended. The XP book from Kent Beck converted me to the benefits of agility, this presentation conforted my opinion: "less pollution, more great software" ! Rather than focusing on writing documents that are never read and that quickly become obsolete, gathering all possible requirements that the user could think of; let's write good code that offers the features the user really needs.

I would advice this presentation to every manager: besides the great shows, it really makes you think of everything that goes wrong in the way we are making software


This ends my review of Javapolis 2005 (and my bottle of this wonderfull Chianti Classico 2001 :-) ), hope you enjoyed it.