Wednesday, November 26, 2008

Sun Developer Day 2008, Melbourne, Australia

Note: Click on images to view in full size.

I attended the Sun Developer Day in Melbourne, on November 26, 2008. It was hosted in the very fabulously furnished Grand Hyatt hotel. Upon arrival at the hall, I was greeted by Sun logos on brightly lit wall displays. I got there just in time for the Keynote speech. Below is a summary of the talks I attended, and what I thought about them.

Keynote, by Reginald Hutcherson

Reginald is undoubtably the best speaker of the day, in terms of presentation skills and the consistent pace of delivery. All the subsequent speakers seemed hurried. He stressed the importance of Open Source technologies for Sun, then briefly mentioned a host of technologies like virtualization, MySQL, Glassfish, Rich Internet Applications (RIA), JavaFX, but the most interesting one for me was zembly. Unfortunately he only had a single slide on zembly, but I later gathered that its a Web site that allows users to create social applications that work on Facebook, iPhone, etc. At this point in time, it is free to use while still in beta. Interesting... worth a second look once its released.

Demo shootout, by all three subsequent presenters

Two of the three demos were on JavaFX. They were simple applications that mostly served as eye-candy to keep the audience entertained, as well as introducing Netbeans. However, I've seen similar JavaFX demos in previous Sun talks, so there wasn't much in them for me. I wished they showed different aspects of development, for example writing unit and integration tests for JavaFX applications.

The remaining demo was on OpenSolaris. As expected, it started with GUI eye-candy effects like wobbly windows (nothing more than Ubuntu), followed by a sample MySQL driven application. One thing that caught my interest was VirtualBox that could seamlessly run applications from different hosted systems on the host desktop, as if they were running natively, only with different window decorations.

JavaNext - The future of Java SE, by Chuk Munn Lee

For me, this was the highlight of the whole seminar. I was looking forward to hearing about upcoming features in Java, and this talk did not disappoint. New features that particularly interested me were:
  • Annotations on Java types (JSR 308) to do stuff like enforcing invariants.
  • Modules to control access to Java packages. This involved adding a new module keyword and a file to specify access rules. Modules would be packaged into JAM archives, that could also be pulled from OSGI repositories.
  • Closures - woo hoo!
  • New APIs like Swing Application Framework (JSR 296) and Beans Binding.

There was mention of a new soft real-time garbage collector called GarbageFirst for those having to do time sensitive applications, but this was not so relevant to me.

I wish Chuk told us what version of Java all these goodies would be coming in.

Connection the World with REST, by Chuk Munn Lee

The problem with this talk was too much introductory material on REST. I felt that REST is so widely known by most Web developers nowadays that basic knowledge such as verbs, resources, etc should have been assumed instead of wasting precious presentation time. Towards the end of the talk, Jax-RS (JSR 311) and the Jersey implementation were mentioned. Chuk briefly talked about how when Jax-RS is integrated into Java EE6, it will be able to work with/on EE resources like EJBs, Web Services, security, etc. Chuk should have spent much more time on these new upcoming support for REST.

JavaFX - SDK and Compiler, by Angela Caicedo

This talk turned out to be more interesting and informative than I expected, probably due to me being new to JavaFX. Angela introduced the newest syntax for variables, functions, binding, effects, animation and events. Pages and pages of code snippets... just the way I liked them. In addition, the following were discussed:
  • Architecture of the JavaFX framework.
  • Pull parser that supported JSON and XML.
  • Ability to access RESTful resources.
  • New browser plugin architecture.

SOA with OpenESB and Java CAPS 6.0, by Chuk Munn Lee

There was one word to describe developing for SOA :- tedious, and this demo-talk did little to persuade me otherwise. A demo loan approval application was implemented as a document-centric Web Service, using OpenESB running on Glassfish. Of course, Netbeans 6.5 was the IDE. Starting from some existing XSD data schemas, the basic steps were to create a WSDL, define a BPEL, bind with a Stateless Session EJB, run some integration tests against the service, then finally generating a Java client. The presenter had to go back and forth through various IDE panes and dialogs, to define WSDL parameters, access various URI and port settings, etc, ... I really hated these sort of complex manual steps.

MySQL - A Developer Perspective, by Peter Karlsson

This was an interesting talk about a database I've used a lot. Peter compared several storage engines in MySQL 5.1 and usage scenarios for them. This was followed by a discussion on how to optimize database queries, which were pretty basic stuff not specific to MySQL. There was nothing much that was new here, nevertheless a useful reminder of the things to consider when designing a database schema.

Netbeans 6.5, by Angela Caicedo

I guessed this talk was meant to show off as many features of Netbeans 6.5 as possible in the time available. Unfortunately, there was so much in this IDE to fit into a single talk. Quite a lot of time was wasted showing off standard features like refactoring, perhaps the speaker should have concentrated on features that were not found in Eclipse.

The compile-on-save and live-update-refresh features seemed handy. I wished there was some mention of Ruby/Rails support and Unit Testing of new technologies like JavaFX.

Skipped talks

I skipped the last couple of talks, on DTrace and virtualization, as they were both Solaris specific and I don't use Solaris.


Lunch was surprisingly good considering this was a free seminar. There were abundant sandwiches, desserts, salads, chicken/beef satay skewers, and pizzas. I especially enjoyed the salmon pizza.

All photos were taken using my Nokia N95-8GB.