Having missed the first JavaOne, I arrived at this year's show with high hopes of learning about the latest from JavaSoft. During JavaOne '96, I had gone through the online slides and learned much from the many advanced tutorials. With three technical tracks at JavaOne '97, I was sure there would be many more technical offerings. Although there was much of interest to the technical developer this year, if you actually wanted to see some code, you were practically left in the dark. Fortunately, there was enough to hold my interest -- and enough announcements to keep me wondering what's left that doesn't yet have an official API. In this article, I'll highlight the pieces of information that interested me the most, and which should change developers lives the most.
April Fools!: The pre-show events
If you made it into San Francisco early, Tuesday, April 1, provided a handful of technical previews to get you warmed up for the big show. First, MageLang Institute provided a full-day session of "Java for the Experienced Programmer." Although not hands-on, about 150 people showed up to get a feel for what the rest of the week had in store, with plenty of details and examples on the latest features of Java 1.1.
I snuck out of the tutorial early to head over to the Java User Group session. Having founded one such group myself, I was curious about what Sun had to say. Here, JavaSoft re-committed its efforts to the user group community, and Marimba, EarthWeb, and others -- including JavaWorld editor-in-chief Michael O'Connell -- provided short presentations. If you haven't heard of Marimba's Castanet, get ready for it, as the next wave of browsers will include support for this self-updating, caching, software-distribution system. Also, EarthWeb had something to say about the restructuring of its Java directory, Gamelan, into Developer.Com and later announced its purchase of JARS, the Java Applet Rating Service. If you still didn't have enough of Java for the day, in about three hours Sun Educational Services finished the day off with a whirlwind overview of everything Java.
On with the show: The announcements that packed a punch
Throughout the conference there was an onslaught of press releases and lots of informative sessions. Although all interesting, the ones that should have the greatest effect on the development community include announcements of Java Foundation Classes, Enterprise JavaBeans, and a new Sound API.
Java Foundation Classes
The Java Foundation Classes (JFCs) are a new framework for GUI application development. Taking Netscape's Internet Foundation Classes (IFCs), Java's Abstract Windowing Toolkit (AWT), and some development support from IBM, the three are going to work together to provide a richer component set with the next release of the Java Development Kit (JDK). According to Netscape's IFC Developer Central, JFC will include a robust set of customizable, lightweight UI components, rich text support, and more. A preview release of JFC should be available in the second quarter of this year, with the first release shipped by the end of the year. Where this leaves the Java Management API (JMAPI), Admin View Module (AVM) components, and Microsoft's Application Framework Classes (AFC) is yet to be seen, as there is definite overlap between the three.
Along the AWT front, I'm still trying to figure out whether a comment made at Tom Ball's presentation about the future of AWT was good or bad. JavaSoft is changing the release cycle of AWT to not always coincide with JDK releases. For anything that is purely Java, there will be in-between releases to test out new offerings. Anything that requires shared libraries will have to wait for a JDK revision. For example, you'll see a solution sooner for drag and drop strictly within Java programs than you'll see for drag and drop with native applications. I like this concept well enough, but after creating a solution with the new capabilities, I will want my users to be able to use it. But they won't have the classes. Since the classes will be part of the core, you won't be able to just place them on your server. I like the early access but have to play wait-and-see on the implementation details.
The shape of JavaBeans is changing. Initially portrayed as a client-side solution, JavaBeans is being pushed as a more enterprise-wide, server-oriented solution. From Shel Finkelstein's Java in the Enterprise presentation, JavaSoft is trying to leverage its partnerships to provide better defined end-to-end Java-based solutions. It is pushing its Enterprise APIs (JDBC, RMI, CORBA, JNDI) into the JavaBeans arena to create more reusable, transactional applications. You will be able to purchase (or create) service beans containing frameworks for complete business solutions that have the business logic framework and hide the transport mechanism from the casual bean application builder. Relying on a "beanstalk" to control execution, you, as the service bean creator, will not have to understand RMI, JDBC, or CORBA; you need only worry about writing reusable business logic. The communication details are kept within service bean proxies, hidden behind a new API. At deployment time, you just have to customize a few properties and, through the proxies, the beanstalk can do its business.
Other beans-related announcements include two joint Sun/IBM agreements. Sun will include Lotus' InfoBus technology in a future Java release. The technology will permit the sharing and exchange of information, without programming, to provide dynamic data exchange. Also, Sun has adopted IBM's JavaBeans Migration Assistant for ActiveX to help developers convert their ActiveX controls into JavaBeans. Programmers will still need to convert the programming logic to provide a 100% Pure Java solution, but the control framework will be complete. Look for other technology assistance from IBM in the future, too.
If you have been trying to do more with audio files in Java and are tired of all the restrictions, the new Sound API should really dazzle you. Providing a software-based solution, the next generation audio engine is being licensed from Headspace, to offer users the opportunity to hear the same high-quality audio, no matter what hardware they have. Actual details were sketchy, but it sounded great.
If you hadn't gotten enough Java for the week, on Saturday, April 5, you could have attended two extra sessions (if you signed up in time). After great success with the JavaOne '96 post-conference tutorial, MageLang Institute offered two post-conference, hands-on tutorials this year. About 250 people attended either the JDBC or JavaBeans tutorial where they dug into the depths and got their feet wet with the technology. With the hard work IBM put into getting the computer labs going, everyone walked away smarter and with even more freebies, including all the courseware from both sessions on CD.
And now for the non-technical treats!
Not everything at the show was technical, and there was lots of socializing to be done. The San Francisco Museum of Modern Art played host to a welcome reception with plenty of excellent food and drink. Dana Carvey, of "Saturday Night Live" fame, provided an amusing keynote speech, with comments about everything from how he can't work computers to Bill Gates' butt. JavaWorld had its own popular party at the Cyberworld Cafe. And Fort Mason played host to a "Portals to the Millennium" party with plenty of interactive games, like a Velcro obstacle course and motorized beer keg races. My favorite T-shirt from the show was one I picked up at the JavaFest block party on Wednesday night out on Howard Street, in front of Moscone. It says "In a World without Fences who needs Gates?"
In conclusion, I thought the show was great with plenty to learn and things to do. I was able to learn a great deal within the available time, getting very little sleep in the process. My only regret was there weren't enough truly technical talks, with code examples, along the lines of the Design Track sessions from JavaOne '96. Bring that back in '98, and the next JavaOne will be even better. Hope to see you there!
Learn more about this topic
- JavaOne '96
- JavaOne '97
- Netscape's IFC Developer Central
- Sun JFC announcement
- Java in the Enterprise JavaOne Presentation
- Enterprise JavaBeans
- New JavaBeans Technology on Tap
- Headspace Audio Engine Announcement
- AWTThe Next Generation, JavaOne Presentation
- MageLang Institute