What's New, What's Interesting
JavaOne always means two things for me - first, make a list of stuff to check out as soon as the conference is over, and second, buying a lot of books at the bookstore at the end of the show as a treat.
This year, I'm making my "to do" list public, a sort of meandering of the developer's mind as I wander the show. It's not so much about the product announcements as it is the little wheels running in the back of my head....
First, although technically I didn't hear anything about it at the show, is the release of the LGPL Hibernate 2.0, an O/R mapping tool that seems to be pretty popular (Hibernate's website). In the past, I've dabbled with products such as TopLink, but never quite got that feeling of "stability" one would like to have. Any thoughts or comments on Hibernate?
Rave has also been announced, and I'm looking forward to learning more about it. (News.com article on Rave). It's not clear to me exactly what they're doing to make things easier, although it's scheduled to be shown at tomorrow's keyno.... uhh, "general session." The big revolution for products like Visual Basic and the follow-up IDEs was a "bind-code-to-the-interface" paradigm. The closest thing I've seen to that for web applications is the JSP capabilities in Macromedia Dreamweaver MX, but it muddies presentation code in with SQL, and gets pretty hairy to maintain or migrate to solutions like Hibernate, above. I'll be curious to see how things like JNDI Connection Pools and strategic things like EJB are rendered "easy to use" by another tool.
Another topic I've been hearing about is AspectJ. At first, I couldn't tell if it (and aspect oriented programming) was a reference to a new process, a library, or what. So, I went to the http://www.eclipse.org/aspectj/ website, and it confirmed some of my fears. It feels to like this is a sort of odd shoehorn return to multiple inheritance. The syntax in the examples is, quite frankly, pretty strange. New keywords? New compiler? More complex build steps? Good news, Java apps move to AspectJ, and AspectJ compiled code runs on any JDK 1.1+ JVM, but the new compiler (ajc, and a ajdoc replacement for javadoc) makes it a little too much of a leap of faith for my tastes.
Ok, a final note before I go. I've been doing a lot of investigation into building small, embeddable JSP and Java-based SQL systems. The idea being a simple point-and-shoot framework for distributing web applications. You should still be able to drop the application into a heavy-weight web server if you need, but for small, simple installation and evaluation, it should be rich enough. My efforts to date have pointed me at either Tomcat or Jetty for the web server, and hsqldb for the database. So, here's an open call to any readers... any advice, suggestions, or thoughts on this topic?