JavaOne, DayTwo
Originally posted 2005-06-29 08:39:39
When I walked into my room at The Mosser Hotel for the first time yesterday, I gasped. I hadn’t expected a rollicking suite, but neither had I expected a room scarcely larger than my pantry back home. I’d say it’s 10′ x 10′, with a small sink in the corner, a closet whose door can’t open farther than 45 degrees because of the bed, and a bathroom hanging off the corner. I find it quaint, however, and feel a richness of history. I also find it hard to walk in without tripping, but I was never the most nimble guy.
I discovered last night that my hotel sits just down the street from the Apple Store San Francisco. Like a moth to flame, a Muslim to Mecca, I’m sure I’ll stop in today.
City sounds woke me about 4:30 AM (I think a dumpster sits right outside my window, and Waterford must have simultaneously dumped all their odd lot and slightly cracked crystal into it this morning), so I read for awhile (Joel’s book), tidied my room, readied for the day, and walked a block to the Sun Inner Circle breakfast at The Argent Hotel. I signed in, got a boxed gift (32MB Sun-branded USB key and a Sun-branded mini-mouse with retractable cord), grabbed some pastries and fresh fruit, and proceeded to the ballroom. I noticed a smattering of suits and wondered where they came from–they’re certainly not JavaOne attendees, who were all wearing dirty jeans and free T-shirts from yesterday. During the Q&A, I figured it out–they asked all the questions, and seemed in favor of outsourcing. Harrumph. Management types from local companies.
The talk at the breakfast outlined Sun’s IT organization, and several of their top people were there to talk about their responsibilities and vision. The theme was consolidation, that Sun grew from the bottom up, in a decentralized manner, and now must focus on bringing the various systems and datastores together. For example, they currently have 700-800 applications, each with a roadmap. Their goal is to get under 100. They are in the process of consolidating their 700 mail servers to 8. They’re moving their 8 datamarts to 1. They’ve consolidated their way from $610 million in IT expenses to only $370 million.
They talked about Sun on Sun, which means they use their own systems to run their company. Makes sense. They have some 36,000 desktops and laptops, handle 4.5 million emails a day, and have some 250,000 eDevices connecting to their network. They have a couple thousand Windows machines in labs, and say that they always get viruses.
After the breakfast, I went to Scott McNealy’s keynote address. The big news was Sun’s announcement to acquire SeeBeyond, Inc.. SeeBeyond’s president came on stage and answered some leading questions from McNealy. Then, McNealy talked about the continued explosive growth of Java, claiming it has outstripped all the hype from 7, 8, or 9 years ago. he talked about their core value: Share like no other. He bragged about the Java Community Process, that has driven Java’s tremendous popularity. He then talked about Java’s potential to eliminate the digital divide, and said that Healthcare and Education both need some serious Java attention.
Then I met up with Herve (my coworker), and we plotted strategies for the day. I went to the Java EE Connector session, which emerged pretty dry. Maybe others ate it up, but I stopped taking notes pretty early.
The next session I went to, on AJAX, piqued me considerably. The presenters talked about the natural marriage between AJAX and JavaServer Faces. They acknowledged that AJAX is not for the weak of heart, and that developing the JavaScript and DHTML that AJAX requires takes about 90% of the development time in a project. They also acknowledged that AJAX is difficult to write, difficult to test, and difficult to debug. It sure is cool, though! THey demoed a dictionary lookup application that web apps were never meant to do: as you type text in a box, a dropdown below the box displays matching words from which you can select. Look at these URLs for more information:
- https://bpcatalog.dev.java.net/nonav/ajax/index.html
- https://ajax.dev.java.net
- http://blogs.sun.com/tor/
- http://weblogs.java.net/blog/gmurray71/
I went back on the pavilion floor to try my luck with the wheel, and this time won a copy of Java Desktop System 2.0. Woohoo! Last I knew, JDS was a Linux distro, but apparently it runs on Solaris, now, as well. I think I’ll throw it on my wife’s box at home. I also saw Looking Glass running on Windows XP on a Sharp 3D notebook. It gave me a headache, and it kept crashing. It seems I see lots of Looking Glass demos, but I never see people using it. I’m not impressed.
I did talk to a fellow about Clover, which does code coverage testing and nightly builds, with lots of beautiful reports. We’re using CruiseControl where I work now, but haven’t taken the time to get it really running right. I’ll have to look deeper to see what Clover would buy us over CruiseControl. Oh, and he gave me a green caribeener–another child regift.
Next, I went to a session on the new Java Web Services (JAX-WS 2.0). It seems to be a big step forward from JAX-RPC, both for development and runtime. It relies on JAXB 2.0, which also has progressed. Certainly, the Java it generates is much better. It’s now readable.
One thing about JAX-WS makes me uneasy: its reliance on annotations. Its heavy reliance on annotations. Someone has to sell me on annotations, because I won’t buy it on my own. Anything that relies on metadata embedded in source code makes me leery, and experience has shown me that metadata never stays in sync with source code (see Javadoc). I read a lot of hype about the new annotations in Java SE 5, so I guess I’d better pay some attention.
Next came \”Building Killer Portlets with JavaServer Faces,\” presented by the guy who wrote Apache MyFaces. He posited that:
- You should use a web framework when writing portlets, for the same reasons that you should use a web framework when writing servlets.
- Since JavaServer Faces is the only web framework designed with portlets in mind, you might as well use JavaServer Faces.
Not that he’d resigned himself to JSF–he called it \”the greatest thing since sliced bread.\” The synergies he described and demonstrated between portlets and JSF commanded attention. I walked away from the session sold on portlets, JSF, and AJAX, determined to figure out how to introduce those technologies where I work. We’d already begun the dance with portlets, having brought IBM in last week to show off WebSphere Portal Server, and JSF and AJAX appear to have the power to take us the rest of the way to where we want to go.
We went to the Apple store, which, apart from being larger, seemed little different from the Apple store in Jacksonville. I walked out empty handed. Then, we found a French restaurant off Union Square, where I had the seafood special just for the halibut. Then, back to the Marriott for Birds-of-a-Feather sessions.
In the \”what will they think of next\” department, I went to a presentation on debugging Java applications using scripting. The presenter’s pointed out that interactive debuggers work great, but sometimes you don’t want to debug interactively. Sometimes, you just want to attach a debugger to a running process, script the events, spit out some messages, and read the results. Makes sense, I think.
As I learned, The Java Debug Interface (JDI), after all, is a set of Java classes, packaged as com.sun.jdi.* in tools.jar. You can write Java applications that use the classes, or you can script them using things like BeanShell or Groovy. I’m not sure I’ll ever script my debug sessions, but it’s the kind of thing you can casually drop among coworkers to appear smart: \”Interactive debugging getting you down? Have you tried scripting the debug sessions? After all, you can find JDI in com.sun.jdi.*, y’know.\” Hmmmm.
My 4:30 AM wakeup caught up to me about 9:00 PM, so I made it through the debug session (kind of–I dropped off a couple of times), then went back to the hotel and collapsed. I’m not adapting well to time changes–my internal clock woke me up at 4:00 today. Maybe I’ll try to go back to sleep . . . .