This post is an overview of my overall impression of JavaOne 2005, and is intended to be my last post on the subject. I realize it’s a tad late, but I’ve been meaning to get this post written for a few days now. However, since my arrival back to Seattle last Friday, I’ve been swamped by my kitchen remodel project (more on that later). But I have a few moments to spare, and if I don’t write it now, I never will…
“Simplify” was the word at this year’s JavaOne. Sun announced at the very first general session that they desire to see Java’s population of 4.5 million developers more than double over the next few years. Their strategies in achieving this goal seems are legion, but the overarching theme was very clear: Java should be more accessible for all developers. And they had several fronts in this effort, including revised marketing, streamlined enterprise development, configuration through metadata, and enhanced tool support (there’s likely many more such fronts, but I could only attend so many sessions!).
This “simplicity” approach is evident even in its marketing. Sun has once again changed the Java naming conventions for its futurereleases. Gone are the days of J2*E and ‘dot’ versions (1.3, 1.4.2, etc). The next enterprise edition will be known as “Java EE 5”, rather than “J2EE 5.0”. And version 6 will see this convention used across all editions: Java SE 6, Java ME 6, and Java EE 6. Apparently, they figured out that the ‘2’ had little meaning to most folks, and that an emphasis on the ‘Java’ was preferred. However, despite this broad announcement, most of the presentations I went to throughout the week continued to intermix “J2EE 5.0” with “Java EE 5” in the presentations. Time will tell if the current 4.5 million are so willing to adopt this new nomenclature. Hell, I still refer to “Czechoslovakia” and “Constantinople” in my daily conversations, so Sun may have a bit of a hill to climb on this one.
The drive to simpliciation was also clearly evident in all of the server-side talks I attended. The explosive growth of Spring and Hibernate over the past year or two seems to have put the fear of Rod into Sun, as the EJB 3 spec will be vastly simplified over previous versions. New features include annotations, dependency injection, and even some light AOP with their Interceptor mechanism. This effort has even inspired the JBoss guys to start writing articles comparing EJB3 development with Spring, apparently trying to lure back the disenfranchised. It’s pretty obvious they’re feeling the pressure, and I’m not sure the “standardized” label that EJB3 will surely continue to flaunt will be able to slow down Spring’s growth, especially since Spring can be used anywhere EJB3 can, and in many places it can’t.
Speaking of annotations, they were everywhere at JavaOne! Not only have they infiltrated every nook and cranny of EJB3, they’re the new black for Java persistence, as well. This metadata mechanism isn’t just for runtime, either; annotations are also the officially blessed approach for automatic code generation. There was a “virtual apt track” at JavaOne, with 5 or so sessions devoted to this handy little tool. Apt can be used to generate source code, documentation, or configuration from annotations in the original source code, and has obvious XDoclet-like applications (and, of course, these are being referred to as “aptlets”). Check out the rapt project for a growing set of novel uses of this tool.
All these new features and utilities aren’t going to be worth the effort if the development tools can’t keep pace. Sun put on a good show making sure folks knew that their NetBeans IDE would be keeping pace. Demos of current and unreleased NetBeans builds were shown in several general sessions, and there were countless technical and BOF sessions dedicated to its legions of features. I find NetBeans “reemergence” fascinating. It was made open-source 5 years ago to much fanfare, but was pretty quiet on the marketing front since then. It seems to be far more aggressive of late, which I think is pretty much directly attributable to the amount of mindshare Eclipse has grabbed over the past couple years. On Thursday I had lunch with Rich Unger, a college friend and NetBeans developer, and we had an interesting conversation about NetBean’s visibility. He told me at last year’s JavaOne, NetBeans didn’t even have a presence in Sun’s pavillion. This year, it was one of the most oft-visited of Sun’s booths. Sun is clearly threatened by IBM and its efforts to promote Eclipse as the Java IDE of choice, and it made sure to use JavaOne to showcase all the new efforts around NetBeans every chance it got. As Rich points out, we now have a real horserace on the free Java IDE market, and this competition can only mean good things for Java developers.
Clearly, Sun has seen the signs. The emergence and rapid growth of lightweight development frameworks has resulted in an increasing exodus of developers away from the standardized, yet cumbersome, EJB architecture. And with the release of Java 5 a year ago, the Java language is bigger and more complex than ever. The libraries have grown, the syntax has expanded, and the applicability of Java as a platform choice is broader than ever. Given that Sun wants Java at the fingertips of twice as many developers as are using it today, it’s no surprise that they’re focusing on simplifying the development effort across the board, even as the language continues to expand. JavaOne proved to be the perfect venue for Sun to put these efforts on display in front of its most important customers: Java developers. More straightforward marketing, a slimmed-down EJB spec, easier configuration, and better tools are all part of Sun’s strategy for making the experience of developing for the Java platform a more pleasant one. I, for one, am looking forward to being a Java developer over the next few years, and hope these efforts prove to be as promising as they appeared last week.
Read Full Post »