ONJava.com    
 Published on ONJava.com (http://www.onjava.com/)
 See this if you're having trouble printing code examples


JavaOne 2005: Participate in the Future of Java

by Chris Adamson
06/29/2005

Participation is Sun's theme for JavaOne 2005, as repeatedly preached by speakers in the general sessions of the two days that opened this week's developer conference. The idea was captured early by emcee John Gage, Sun's chief researcher and science office director, who began the first day by asking developers to stand up, then by asking all CTOs, VCs and other deal-makers to stand up. "OK, programmers," he said, "there's who you have to meet."

But there's more to it than fortuitous conference-floor meeting. As Sun COO Jonathan Schwartz noted, all technologies, if they're good, have social value. Furthermore, "the one thing that's obvious to all of us as we look at this ... the really interesting thing is that the end nodes are starting to inform the senders ... it's not simply about connection, it's about participation."

And with this, his next slide proclaimed: The Information Age is History. Long Live the Participation Age.

Java's (Open?) Future

For a company that has been scolded by some for how it's handled the Java platform, is this an idle claim? One telling sign of Sun's attitude was an acknowledgment that Sun's relationship with IBM had become chilly. Schwartz added, "IBM is a founder in the Java community; we've been with them shoulder to shoulder," and then reported that the two companies had met to mend some fences, and "to show the community we're working together." One result of this was that IBM has renewed its Java license for another 11 years. IBM senior vice president Steve Mills appeared in a video message to acknowledge Java as "one of the most creative things that's been done in the last 10 years," and to note its participation in the Java Community Process.

Schwartz then said that one community with whom Sun had not had an effective embrace was the open source community, specifically citing the JavaOne 2004 roundtable on the topic. While this wasn't followed by a jaw-dropping announcement of open sourcing Java, Schwartz did cite Sun's commitment to an open process (as typified by the Java Community Process) and declared the opening of the source of its enterprise server (as the GlassFish project on Java.net), with a promise of "more to come."

To answer the question of how the community can participate in the future of Java, Schwartz handed the mic to John Loiacono, executive vice president of the Software Group. He discussed the current state of Java, quickly noting how far the platform has come in ten years: 4.5 million developers, 2.5 billion devices, and, for the first time ever, more Java-capable phones than PCs, all of which represent significant percentage increases from last year.

To explain why Java's going in the directions it is, he introduced a slide entitled What we've heard from you, with five main points:

To illustrate these points, he used the example of the Mustang project on Java.net, which allows community members to see the next version of Java, in binary or source form, as it's being developed. Stressing the theme of compatibility, he also made a point to focus on Java Business Integration, JSR-208, which is meant to foster combining different enterprise applications, in the spirit of BPEL4WS, WSCI, and the W3C Choreography Group. Again, the community can join in this effort, via the open source implementation of JSR-208 in the Open-esb project on Java.net.

Standard Edition--Without the "2"

Sun Java VP Graham Hamilton discussed the past, present, and future of "Java SE." That's right--no more awkward "Java 2." The awkward terminology has been jettisoned in favor of "Java Standard Edition," abbreviated as "Java SE" (not "JSE," apparently). Furthermore, with the shorter release cycles for major versions, the point releases may be a thing of the past, so the next version is properly "Java SE 6," not "6.0." A similar change is effective for the enterprise and micro editions, although all already-released versions of Java will keep the names they were released with. In other words, the "Tiger" release is still "Java 2 Standard Edition 5.0."

The standard edition is adapting 18-month release cycles, which should allow important features to get out more quickly. The next major version of Java SE, "Mustang," is expected to be released in summer 2006, with Java SE 7, codenamed "Dolphin," to arrive in early 2008.

Mustang's major goals can be collected into a small list of "themes:"

On this last point, Hamilton again pointed out the weekly snapshots of Mustang on Java.net, encouraging users to get involved with bug reports, fixes, and even feature help. This brought up the issue of licensing. Admitting that the Sun Community Source License (SCSL) was not popular, he introduced three successors:

The Java Distribution License (JDL) covers full-scale commercial use of Java. This simplified successor to SCSL is meant mostly for those shipping commercial ports of the JDK, and requires passing the Technology Compatibility Kit (TCK).

The Java Research License is a simple, click-through, two-page license that allows broad use for research purposes. It has no compatibility requirements, but also does not allow commercial use. Hamilton added "if you just want to read the sources, use this."

A third, "emergency use" license is the Java Internal Use License. This allows you to deploy bug fixes to your own server without passing the TCK, but you cannot redistribute your fixes publicly.

Looking ahead to "Dolphin," Hamilton suggested that some of the features being considered for Java SE 7 included direct XML support in the language (with the important caveat that XML's angle braces are already "taken," by generics), one or more new JVM bytecodes to support dynamic languages, the BeanShell scripting language (JSR 274), new I/O APIs (JSR 203), and a new packaging and deployment architecture to replace the aging and limited JAR file.

Looking at the Enterprise

Bill Shannon said that the Enterprise Edition of Java is a powerful industry standard, but acknowledged that it's difficult to get started with EE. Particularly problematic is all the boilerplate code required to get a J2EE application working today. "We believe we can make it simpler, attract new developers, and expand the market," he said.

To illustrate the target market, he showed a pyramid diagram that showed the difference between a small number of "enterprise" developers (those who develop highly complex business applications), a larger group of "corporate" developers (who write typical three-tier business applications), and many more "content" developers (whose applications have a small amount of database-driven content). This last category has the most developers, but also competition from non-EE, and non-Java, technologies.

Making life easier for developers, Java EE 5 is focused on more POJO ("plain ol' Java objects") programming, extensive use of annotations (to reduce dependence on descriptor files), and more use of inversion-of-control principles, to allow enterprise containers to inject functionality instead of requiring applications to ask for and manage it.

Annotations figure to play a particularly big role in Java EE 5, following their debut in J2SE 5.0. Shannon said that they'd be used for defining and using web services--allowing you to set up a web service by simply applying the annotation @WebService. Annotations are also set to be used for mapping Java classes to XML, simplifying EJB development, mapping Java classes to databases, specifying dependencies, and reducing the need for external descriptor files in general.

Java EE 5's web services support is based on the Java Architecture for XML Binding (JAXB) and an enhanced JAX-RPC. It will support the latest W3C standards, including SOAP 1.2, MTOM/XOP, and Schema 1.0. It is also to support the latest WS-i, and the implementation is starting to support ws-* specs. Meanwhile, a new persistence API aims to resolve the EJB/JDO conflict, with a single persistence model based on the EJB 3.0 spec. This persistence API is in a separate spec from EJB 3.0, though it's been developed by the EJB expert group. The much-simpler persistence API is usable in non-EE contexts, and Shannon said that early feedback has been positive.

As for EE's current state, Shannon said that most of the specs are available now, with all of them scheduled to be at proposed final draft stage in the third quarter of this year. That timetable would lead to a Java EE 5 beta in the fourth quarter, and a final release early in 2006.

Shannon also mentioned Project GlassFish, the open source release of Sun's enterprise application server. It's available on Java.net under the Common Development and Distribution License (CDDL), with CVS access to the source and downloadable nightly build binaries. To participate in this Java EE 5 implementation, Shannon asked interested developers to become members of the community, download the sources, and try them out. Commit privileges are available to qualified developers, and commit access has already been granted to a non-Sun contributor.

Bridging the Digital Divide

Sun chairman and CEO Scott McNealy offered Tuesday's general session, focusing on a theme of "bridging the digital divide." He called out two problems in particular needing attention, and offered Java as a solution.

"I don't think there's any industry more screwed up than the computer industry ... except the health care industry," McNealy began, showing a graphic of the interrelated parties in the healthcare economy and noting the waste in the system. Citing figures of $300 million spent annually on treatments with no benefit, 90,000 preventable deaths from incorrect treatments, and doctors leaving the field in droves, McNealy said the concept of an "e-health" initiative is critical, and called for a solution based on a service-oriented architecture to bring incompatible systems together.

As an example of a system that works, he showed a video of a Brazilian project to improve health care delivery in that country, which guarantees health care to all citizens. A Java-based system was developed to integrate systems, allowing patient information to be available where it's needed, when it's needed. Fabian Nardon, CTO of VIDATIS, joined McNealy on stage to discuss the system and its effects. She said one patient interviewed while making the video said that she used to wait three months to get an appointment, and now gets one right away.

McNealy also offered Java as a solution for eliminating the digital divide in education. Citing Java.net's Global Education and Learning Community, he called for effectively open-sourcing education, with a JSR-like process in which experts develop a world-class textbook, and then make it freely available to students anywhere in the world.

Beyond the Keynotes

Aside from the major themes of the keynote, the occasion of Java's tenth birthday was in evidence all around the conference. Duke himself appeared for several birthday bashes, complete with cake, including both the Tuesday night Java.net "Communities in Action" event, and during a break in Monday's keynote. For the latter event, Sun reunited members of the original "Green" team, whose work eventually led to Java.

Java's ubiquity was also a major theme. While in the past this might have been passed off as evangelism, there's solid evidence for such a claim today. The fact that there are now more Java-enabled phones than Java-enabled PCs backs this up, particularly considering that the respective numbers are 708 million and 700 million. On the pavilion floor, one of the most striking displays was a fish tank containing a Java-enabled underwater monitoring device, identical to those deployed around the San Francisco Bay by the NetBEAMS project, part of the Java.net Java Distributed Data Acquisition and Control community, a "Duke's Choice" award winner. Also on display on the pavilion floor--and in a completely jammed session--was the new Blu-Ray disc player, a high-definition successor to the DVD that uses J2ME to provide interactive menus, games, and optional network connectivity.

Java One Conference Coverage

Toward JavaOne 2006

As attendees leave the Moscone Center, a large sign over the doors reads "THANK YOU FOR ATTENDING. JOIN US IN 2006 MAY 15-18." In a little less than 11 months, thousands of developers will return, to debate how this year's announcements have panned out, to show what they've done in the interim, and to learn more about this ever-evolving platform.

Chris Adamson is an author, editor, and developer specializing in iPhone and Mac.


Return to ONJava.com.

Copyright © 2009 O'Reilly Media, Inc.