Skip to main content

Catching Up

Posted by wiverson on June 29, 2005 at 2:46 PM PDT


First, a couple of quick hits - EJB 3.0 support seems to clocking along - TopLink will support EJB 3.0 (sept/oct final?). Other vendors seem to be moving in the same direction. Based on the EJB 3.0 talks so far, it looks like some of the concerns from last year (e.g. annotations aren't the end-all-be-all, splitting the spec up to be more manageable) are now folded in. Still feels like a long wait, though.

As many of you are no doubt aware, JDeveloper is now officially free (as opposed to the previous free-to-download-and-use-forever-but-feel-guilty model). I talked to one of the
JDeveloper devs, he's got a nice blog.

In other news, it's very strange and quite nice to see so many old friends at the show. People move, get married, change jobs and lives. You don't really plan running into someone you haven't seen in five years, but these opportunities to catch up truly are the gems of the show.


Tuesday turned out to be web framework day for me. I went to a session on Ajax integration with JSF, which provided a bit more details than the Blueprints article. For me, the key takeaway was that while the rich interactivity of Ajax is great, and the current generation browsers are more or less up to the task, without support from a component framework, it's a long, hard slog through the guts of ECMAScript/JavaScript hell to build Ajax apps.

For example, during the demo, a very seamless integration of server-supplied web form autocompletion was shown. A JSF component was dragged onto the page, and all of the nasty JavaScript is auto-generated (with browser-specific functionality handled). Just write a simple method that takes the user-entered string, and return an array of strings for the auto-complete entries. Very clean, very simple, and much easier than writing the JavaScript from scratch.

It reminds me of another abstraction layer - most people don't bother writing assembly - compilers take on the hard work. Similarly, I doubt most OO developers find hacking JavaScript for multiple crossplatform browsers with different object models very enjoyable.

Greg made several references during the talk to the JavaScript taking 90% of the time required for developing the demo components. There are lots of details that may be obvious for an experienced JavaScripter that may not be obvious for a Java developer (e.g. the script should be broken into another file so the browser can cache the IR). Becoming a first-class JavaScripter can take years, but most Java developers don't have the time or inclination. Therein lies the rub - the simple yet-odd-bug filled world of DHTML & JavaScript has become the new nonstandard platform.

A demo of autocomplete was shown as a component extension, which is very compelling example of the abstraction provided by a solid interface. For things like google maps, you're still likely to have to write code or buy a component - one could imagine a component for rendering graphics to an arbitrarly large pane, with server requests. So, I guess it comes back to sorting out the JavaScript target model (the binary interface?) for the web frameworks.

Speaking of web frameworks, I've been thinking more about the JSF/JSP issue, and looking at the JSPs generated by the tools at the show I'm increasingly skeptical that anyone will ever want to deal with it. After I get back, I'll post examples of the generated JSP and a stack trace from an error and compare this to a similar situation from a Swing builder to drive and drive the point home. Many folks have already figured out that programming in XML is no fun (and indeed rather dangerous), but the mainstream web frameworks still seem to be sorting this out.


As a final note, the JSR 273 expert group will have a BOF session at JavaOne Wednesday evening at 10:30pm in the Mariott Hotel (Golden Gate C1). Needless to say, a 10:30 PM session will probably not exactly get a huge crowd, but I (and the rest of the expert group) would be delighted to get your feedback (esp. if you are a component developer).

It's been a busy week, and it's not over yet - if you're here, hope to see you around!

Related Topics >>