San Francisco, Calif.Sun claims 4.5 million Java developers worldwide, but apparently that's not nearly enough. "It's to our competitive strategic advantage to cultivate the largest community in the world," said Sun President and COO Jonathan Schwartz at the Sun-sponsored NetBeans Software Day here on Sunday, June 26, just one day before he would deliver the same message to the 10th annual JavaOne Conference audience of 15,000.
Schwartz used both events to stress the opportunity that existsboth for the economic vibrancy of the vendor community and for technological innovation overall. The tack Sun wants to use to grow the overall community, according to Schwartz, is removing the barriers to technology that prohibit many from joining, whether financial or geographical.
But removing barriers seems to be a theme of Java's architectural evolution as well. The new programming paradigm in Java is moving to simple POJO-based development that offers "more freedom and fewer requirements," according to Sun Distinguished Engineer Bill Shannon, who emphasized the age-old theme for enterprise-scale Java: ease of development. The roadmap also includes extensive use of annotations, resource injection, and a new persistence API that replaces the oft-maligned EJB 2.0 CMP framework. The single persistence API covers both Java EE and Java SE and it resolves the EJB/JDO conflict. "We've brought the best people together on this API," said Shannon, citing EJB, TopLink, JDO, and Hibernate contributions.
Annotations for tasks such as defining and using Web services and mapping Java to databases will reduce the need for deployment descriptors, which Shannon believes will simplify EJB development. As will the inclusion of Java ServerFaces.
Web services, too, are getting an overhaul. Shannon demonstrated improvements in the coding framework that will allow developers to wrap their classes as a Web service using far less code than they do today. The new persistence API will also be able to be used in a Web service. Mustang will also support more of the WS-* specifications (only WS-Security is supported today).
A JDK by Yet Another Name
Remember when J2SE 1.4 became J2SE 5.0 with the release of Tiger last year? Well, meet Java SE 6, the upcoming JDK release (codename: Mustang). Sun is dropping the "2" and the point numbers. No more J2SE, J2EE, or J2ME, beginning with their next releases, it's Java SE, Java EE, and Java ME, respectively. Graham Hamilton, Sun fellow and vice president, warned developers who are accustomed to waiting for a stable X.1 release to change their methods for the future.
Hamilton joined Shannon Monday by rounding out the roadmap for the Java SE versions 6 and 7 (codename: Dolphin), based on the goal of 18-month release cycles and a number of JSRs that are still in process. Some of the features slated for Java SE 6 include scripting language support, inclusion of JDBC 4.0, a javadoc update, and full support for Longhorn in Swing.
"Swing will look native on Longhorn from Day One," said Hamilton, to a smattering of applause.
Mustang also opens the door to community participation during development with downloadable weekly builds. Hamilton said, "We don't just want feedback. We want contributions." He encouraged developers to contribute any bug fixes they discover back to Mustang, because they may end up in the final release.
As with Mustang, these new features rely on JSRs that are not yet in final release (e.g, JAX-WS, JAXB, EJB 3.0, the persistence API, etc.). In order to meet its own beta release timeframe of Q4 2005, Java EE 5 needs the JCP to finalize these specs before then. Shannon said they should be in final draft by Q3, a statement that, according to Onno Kluyt, chair of the JCP, sent a clear message to JCP spec leads: "if your JSR is not ready by that date, it's out."
Kluyt explained that spec leads are instructed to manage JSR releases based on a schedule that is set by working backwards from the release date and estimating how long the JSR should take to complete.
The Participation Age
Participation was the theme of the general session Monday, a theme that Sun seems to want to use in order to define its own viewpoint on the crushing emphasis the Java community has placed today on open source. During his turn on the stage, Schwartz took a few minutes to address Sun's perspective on F.O.S.S., saying that what developers appreciate most about free and open source software is the "free" part. In short, Sun clearly wants the community to translate Sun's willingness to distribute freely important chunks of its intellectual propertyand to allow developers to participate in their growthdespite the fact that it remains unwilling to fully "open" these products in terms of their licensing.
To that end, the company announced two products it is contributing to open source:
- Java System Application Server Platform Edition 9.0
- Java System Enterprise Server Bus (Java ESB)
Both products are available now under the CDDL license. Sun established an open source community around the app server release called Project GlassFish, where registered developers are encouraged to download the code with CVS (weekly builds are planned), develop it with the NetBeans IDE, and configure and build it with Apache Maven. Those with the programming chops can contribute code back as well, though it will still ultimately be under Sun's control to decide what gets in.
Asked how Sun would measure success with this initiative, Director of Marketing for Application Platform Products David Bryant first responded with the completion of Project GlassFish and then echoed Scwartz's sentiments. "We want enough participation for the community to thrive. We want an ever-increasing community to be interested in doing something in Java. Fundamentally, it's about participation."
Java ESB is Sun's implementation of the Java Business Integration (JBI) 1.0 specification, which the JCP approved and published this week. JBI is intended to establish a reference implementation for service-oriented architectures (SOAs). Mark Hapner, Sun's chief Web services strategist, described it as "the Java team's response to the SOA challenge."
"The Java platform needs to look at the composite platform and compose the right catalyst that enables integration technologies to come together in an organic way. JBI was tasked to deliver this," said Hapner.
Joe Loiacono, executive vice president of Sun's Software Group, said, "We would like to do for integration what J2EE did for application development." Business integration was a major theme at this year's show, particularly among large vendors who seem to view BPI (business process integration) as the key problem facing enterprises in the foreseeable future. Touting the contributions of numerous vendors during its development in the Java Community Process (JCP), Loiacono added that 20 vendors already have pledged support for JBI 1.0.
And Sun pledges that more open source projects are on the way. "You're going to see a wave of open source contributions [from Sun]," said Schwartz.
Lori Piquet contributed to this report.