Well… Today is the last day of the conferences. The pavilion is already empty. But all good things come to an end and JavaOne is no exception. And it’s nice to go back home after a successful and satisfying week. So what was on the menu for the last day?
Eclipse
Everybody knows Eclipse and most of us use it. Not that I asked every one of 6 million developers. It’s just one of those stats that you come up with by talking to fellow developers (76.23% of all stats are made up on the spot). “One of the most successful software projects in history!” That’s how John Gage described Eclipse during the General Session of JavaOne’s last day. And as you all know Eclipse is an open-source project. And it’s said that NetBeans, the other open-source IDE, almost doubled its user base (92% increase compared to last years figures). Without going into the details of the commercial ones such as IntelliJ IDEA (or JDeveloper or even JBuilder/CodeGear), one can see that long gone days when Java developers envied MS Visual Studio. Especially since agile development and code-centric processes became popular, Java IDEs have been leading the way with excellent refactoring and unit testing support. As an Eclipse user I’m surprised some of the missing features in Visual Studio especially in terms of code completion/guessing, refactoring and source code navigation.
Going back to Eclipse, here are some important points that constitute the Eclipse Way as Erich Gamma described:
- Have healthy milestones
- Be open and transparent
- Always be shippable
- Use your own stuff
- Engage the community
Now you know what to do to have a successful open-source project ;).
And here’s a picture from the cool toys (Programmable Java Robot):

POJC
Oh no! Another plain old something! This time it’s Craig McClanahan who coins the term POJC: Plain Old JavaServer Faces Components. Time will tell if people will use it but it attracted enough people in his session. The idea behind the presentation was to show how to add AJAX behaviors to JSF based applications. And I thought that they did a pretty good job to demonstrate it. They categorized the issues to be addressed into three groups:
- Low level concerns
- Medium level concerns
- High level concerns
And they developed the presentation from these points. A nice looking framework that they mentioned is Ajax4jsf. The Web site says:
“The Ajax4jsf framework is implemented using a component library that adds AJAX capability to your existing pages without having to write any JavaScript code or replace existing components with new AJAX widgets.” Jayashri Visvanathan presented a quick demo using Ajax4jsf.
But the “Best Demo” award of the year goes to Matthew Bohm. His was one of the most brilliant moments of this year’s JavaOne and the best demo I’ve ever seen. He told that he had previously built a Currency Trader application for demo purposes. It was a pretty cool application that updated currency values according to market fluctuations and calculated one’s earnings or losses accordingly (he used Dynamic Faces (DynaFaces)). While preparing for JavaOne, he tried to rebuild the same application under 10 minutes so that he could do it during the presentation however the closest he got was 28 minutes. So he decided to record his steps and fast-forward it in 3mins 10secs. And all that with music Ladies and Gentlemen!
Spring Batch
Spring Batch at last! Let me say that I’m not a batch application freak and I don’t think that anyone likes them particularly. They tend to be… boring. Yes! “Boring” was the adjective used by Rod Johnson as well and he accurately said that “boring” may be good in this scenario.
The session was presented by Rod Johnson (Interface21), Wayne Lund (Accenture) and Scott Wintermute (Accenture). Accenture developed the project with some help from an Interface21 technical lead. Even though Spring Batch is officially announced today, the code won’t be ready for another two weeks.
Not surprisingly the framework contains a DSL for batch processing (batch, job, chunk, etc.). Some of the concepts and features won’t be present in the first release. So, as usual, the best would be to download the package in two weeks (hopefully) and play around with the sample applications to get familiar with the framework.
Just a quick word about Spring Framework. I heard some people not being too happy about the way that Spring has satellite projects such as Spring Batch, they say that Spring Framework becomes bloated. I don’t really agree with that. I have two things to say about this:
One: If one doesn’t need to develop a batch application, one doesn’t need to learn/care about Spring Batch. It’s enough to know that there’s such a thing so that when something is needed in this area one will know where to look for the solution. At the end of the day, a smart person is not the one who tries to know everything, but it’s the one who knows where to look for (Google anyone?).
B: (I got you!) Two: Consider the scenario where the XYZ company, or even let’s say Apache, developed an open-source batch framework “Based On” Spring. What would be the difference for the end user? At least, having the project under the Spring umbrella guarantees that the project is going to feel the Spring Way. A good example to that is the template scenario. As the presenters said a few times, the learning curve is a lot gentler if one is already familiar with the templating concept used, for instance, in JdbcTemplate or HibernateTemplate.
Anyway, if I find some time (famous last words) when the project code is released I’m going to have a close look at it. Then I’ll probably blog about it. It’s not a promise, I said probably. It takes too long to write these blog entries…
What Was Hot This Year
JavaFX
RIA (Rich Internet Application) development is becoming a very important development model. It is not that surprising to see Sun’s JavaFX official announcement just after we heard about Microsoft SilverLight. So is that a marketing move? Maybe partially. After all, Java started the RIA model with Java Applets so I think if they’re willing to, they can find a place for JavaFX, JavaFX Script and JavaFX Mobile (JavaFX Mobile is a small Linux platform with a complete Java 6 runtime on it) in the market. I don’t think that there’s a single winner in this race, even though Flash has an incredible head start. So, I think that if Sun don’t put this technology on a shelf after a few months and stay committed, I’m pretty sure that the Java community will use these technologies. We’ll see! They promised tooling during the opening General Session. The availability dates and the quality of these tools will show how badly Sun want this to work.
Here’s a demo created using JavaFX and Java Web Start. It is reproducing the following Web site: Tesla Motors. It’s a pretty slick demo.
Consumer JRE and Java Kernel
This is one of the most exciting developments happening in the Java platform these days. Consumer JRE is a bare-minimum version of the runtime environment with some modules removed. The required modules are going to be downloaded on demand if necessary. The next update release, Java 6 Update 2, will contain this feature. And more is promised in later releases.
Java 7 Kernel project takes this a few steps further however, as the names suggests, this project won’t be available in Java SE 6.
Open-Source Java
Completion of the open sourcing Java was without a doubt one of the most important moments of JavaOne 2007. I’m not sure if I can accurately guess the immediate consequences of it but having OpenJDK bundled with Ubuntu 7 is a good indication where this is going. Who knows? A ubiquitous Java may even help Linux to gain some popularity as a desktop platform and vice versa.
JSF
JSF is getting more and more attention. Increasing tool support plays a big role in that. Previous years’ JavaOnes had more talks about Struts, WebWork, Tapestry etc. It seems that this is shifting towards:
- JSF
- AJAX/JavaScript-based Frameworks such as GWT, Script.aculo.us, jMaki, etc.
- Grails, Ruby on Rails, etc.
GWT
Anything that touches/mentions AJAX is hot property in JavaOne. The length of the queue increases exponentially as the name of the session contains names like AJAX, GWT, jMaki etc.
GWT is the framework that really excited me the most in this area because it takes the approach of writing code in Java and compiling it into JavaScript. It’s a unique approach because it’s coupled with some very important concepts such as a JRE Emulation Library to provide the developers with the ability to use some of the JRE classes, a Browser History Handler to solve the browser’s back and forward buttons’ behavior problem and JUnit integration so that the code can be easily unit tested.
Scripting
There were so many sessions about scripting technologies. it clearly shows that they’re gaining much more acceptance. At the moment there are too many of them and for most of them it’s still the honeymoon period. People I met are eager to learn about them but they’re still exploring the possibilities.

Hoping to be back next year…
Good bye!
- Yagiz Erkan -
Technorati Tags: JavaOne, Eclipse, NetBeans, POJC, Ajax4jsf, Dynamic Faces, DynaFaces, Spring Batch, Spring Framework, JavaFX, SilverLight, JavaFX Script, JavaFX Mobile, Consumer JRE, Java 7 Kernel, OpenJDK, AJAX, GWT
0 Responses to “JavaOne 2007 - Day 4”