JavaOne 2007, DayFour

Originally posted 2007-05-14 02:46:03

The last day of JavaOne featured Java-powered toys, introduced sequentially by James Gosling. None of them commanded more than a raised eyebrow or polite applause, except perhaps the programmable dancing robots–and that probably because of their contrast with the merely dull. The parade began with some either from the DTrace project or Project Delight–I couldn’t discern which. He demonstrated tracing a Garage Band-like application, though he should have instead showed an eBay-like application, for he spoke like an auctioneer. You can get incredible amounts of debugging information using DTrace, or Project Delight, from what I gathered.

Sun Grid Computing came next, which Gosling called \”servlets for computing.\” It offers a Java API for submitting and monitoring jobs and retrieving results. Sun allows anyone to sign up for a free 200 CPU hours. NetBeans 6 writing a Ruby on Rails app accessing Java classes made a brief cameo, followed by the RICOH guys. They ran a free service at JavaOne that allowed people to print their schedules by inserting their registration-provided smart cards. It sometimes worked.

Ubiquitech showed a virtual document management system named, imaginatively, Virtual Document Management System. Sony showed off more Java/Blu-ray integration. Called BDJ and BDLive, the technology allows for richer menu screens, live Internet connections, menus superimposed on the playing movie, games like first person shooters on the movie content and head-to-head, over-the-Internet trivia games, content searches, and bookmark ability. CineShot uses Java to calibrate lighting and audio in real-time for movie-directing hopefuls.

When my second son was nine, he loved to play Toon Town–a virtual 3D world in which avatars threw pies at each other. He begged us to buy him a subscription, which we refused. Project Wonderland, the next offering, seemed to be a grownup version of Toon Town. Instead of throwing pies, though, avatars get to work with real running applications and windows in 3D. It seems to offer yet another way for the asocial to feign sociability.

We saw a Java-based Automated Teller Machine and meat scale. Then came the RSMedia robots from WowWee–the aforementioned dancing robots that captured the show. I think like the dancing bear, the amazing part was not the dance but that they danced. They offer a USB port, SD slot, serial port, one woofer, two tweeters, and a NetBeans module to program it up. WowWee allowed show-goers to buy the caboodle (the kit came free with purchase) for something like $269. Tempting, but I passed. Their booth stayed crowded, though, so not everyone showed the same amount of restraint as I.

Next, I prepared myself to see the robotic arm that claims two distinctions: world’s fastest industrial robot (0-280 MPH in one second) and world’s first wholly Java-powered robot. I expected a blur of motion, but instead saw an arm deliberately and methodically make a bad sketch of Gosling. They assured us that when industrial robots look exciting, that’s bad, but that it’s a whiz at whizzing croissants and chocolates around factory floors.

A high school submarine team showed off their opus, and then a 6-ft helicopter flew onto the stage. The thumping of the blades coming over the sound system rattled our chairs, but the actual helicopter couldn’t claim responsibility. You see, its rotors sat stationary, and the it didn’t actually fly–it was suspended by wires in a bad imitation of a Copperfield trick. It turns out that this \”toy\” isn’t actually a toy, that its movement is regulated by the FAA, and that it requires a licensed pilot to fly it. It’s used for things like terrain mapping, and gathers 15,000 range points per second.

The first session I went to, presented by one of Interface 21’s founders, demonstrated Spring Web Flow. Those Interface 21 guys remain busy! Spring Web Flow, which plugs in to various web frameworks (e.g. JSF, Spring MVC), controls screen flow in Internet applications. They claim a \”particularly nice synergy between Web Flow and JSF,\” and indeed demonstrated that synergy in a series of demos. Web Flow seems impressive and merits consideration, whatever framework you’re using.

The next session covered Web Services Security, and warned that each handoff among the web client, ESB, and BPEL process represents a vulnerability to attack. The session was presented by Oracle reps, so first outlined the Apache solution (Apache/WSO2, Apache Rampart, Apache WSS4J et al), and then the Oracle solution (Oracle Web Services Manager, Oracle Security Developer Tools, OPS4J), and predictably showed a preference for the Oracle stack.

\”Top Ten Ways to Botch Scalability and Reliability\” listed, as you’d guess, the top ten ways to botch scalability and reliability. Some of the ten listed both extremes as a single sin. Here’s the list:

10. Optimize performance assuming that it will translate to scalability –OR– Ignore performance
9. Assume that you are smarter than the infrastructure –OR– Follow the rules blindly
8. Abuse the database –OR– 8. Avoid the database
7. Introduce single points of bottleneck –OR– Introduce single points of failure
6. Abuse abstractions –OR– Avoid abstractions
5. Assume DR can be added when it becomes necessary
4. Use a one-size-fits-all architecture
3. Use big JVM machine heaps
2. Assume the network works
1. Avoid proprietary features –OR– Believe product claims

I finished the conference listening to Rob Harrop, author of Pro Spring and also from Interface 21. He spoke about creating domain-specific languages (DSLs) in JRuby, and used rake (Ruby’s version of make) as an example. He explained the divisions in purpose of DSLs by Types (external vs internal) and Targets (general purpose vs business-specific). I probably won’t be writing any DSLs anytime soon.

In all, JavaOne was a terrific conference, and I’m glad I went. Over the next few months I’m going to look at JBoss vs GlassFish, JSF vs GWT vs Spring Web Flow vs IceFaces vs Seam, and jBPL vs Spring Batch vs BPEL. I’m going to focus on page load times, comparing them to Google’s 300 ms. I’m going to review some of the reporting solutions I saw. That’s going to be a lot of work!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.