At its JavaOne conference next week in San Francisco, Sun Microsystems Inc. will highlight features of the next version of Java, code-named Mustang.
The new features in Java 2 Platform, Standard Edition 6.0 will be in six primary areas: Java programming language and tools, security and networking, Java Management Extensions, serviceability, core libraries, and enterprise client and XML, according to members of the Java Development Kit Core Engineering Team.
Sun officials in Santa Clara, Calif., said no language changes are in store for Mustang, but there are some JSRs (Java Specification Requests) in the works that will extend the platforms ability to process language.
One JSR involving language support is JSR 223, planned for inclusion in Mustang. JSR 223, also known as “Scripting for the Java Platform,” is an initiative to enable scripting languages to integrate with the Java platform. Mustang will also include a JavaScript engine based on Mozilla Rhino, an open-source implementation of JavaScript, written in Java.
Other language-related JSRs are JSR 199, the Java Compiler API, which defines a framework for compiling source files within applications; and JSR 269, the Pluggable Annotation Processing API that standardizes Javas annotation processing tool, the team said.
To increase security, Sun plans to add support for XML Digital Signatures (JSR 105) and for JSR 268, the Smart Card I/O API, which will enable Java applications to interact with applications on smart cards.
Other new security features planned for Mustang include native-platform integration of Java Generic Security Services and Kerberos, support for the Simple and Protected GSS-API Negotiation Mechanism, a Java Authentication and Authorization Service log-in module that employs LDAP authentication, and a security certificate request framework.
New networking features are slated to include internationalized domain names and resource identifiers and programmatic access to network parameters, Sun officials said.
Meanwhile, as Sun continues to add touches to Mustang, the company also is looking ahead to J2SE (Java 2 Platform, Standard Edition) 7.0, code-named Dolphin. The current version of Java, Java 5.0, is code-named Tiger.
On the JMX (Java Management Extensions) front, Sun is working on building out Version 2.0 of the JMX API with JSR 255, but that is slated for Dolphin. Mustang will include Version 1.3 of JMX.
Serviceability improvements will include run-time support for DTrace (Dynamic Tracing), making the jconsole feature more user-friendly, improving “diagnosability,” improving the JVM tool interface and improving the JPDA (Java Platform Debug Architecture) among others.
Core library improvements include fixes to finding free disk space and enabling the java.io.File class file to support long paths in Windows.
Next Page: XML and Web services focus.
Page 2
Sun has said XML and Web services will be a big focus of Mustang. Thus, regarding enterprise client and XML enhancements for Mustang, Sun will feature JAX-WS (Java Architecture for XML-Web Services) 2.0—which was formerly known as JAX-RPC—and JAXB (Java Architecture for XML Binding) 2.0. Mustang also will feature JDBC (Java Database Connectivity) 4.0.
However, despite all the planned improvements, the JDK team warns that not all of them will make it into Mustang. That is why Sun is asking developers to try the latest “snapshots” of Mustang that are being made available, so they can report and help fix bugs. Sun drops a new build of Mustang every week.
“I think Java 5 [JDK 1.5] had major changes, including language changes [annotations, new for-loop, auto-boxing, static imports, etc.] but so far the Java 6 items are a bit underwhelming in terms of their universal applicability,” said Cameron Purdy, president of Tangosol Inc., of Somerville, Mass.
“On the other hand, the inclusion of a Web server and JavaScript support could prove to be very interesting, since it basically means that theres a minimalist HTTP application environment anywhere that theres Java,” Purdy added. “Theoretically, you could have every device on the network providing its own HTTP-based administration using this as the basis.”
Bob Laferriere, vice president of engineering at Echelon 4 Corp., of Mequon, Wis., said, “The biggest improvements are all the Web services and XML-related enhancements. JAXB 2 will add schema support. The binding from the schema to Java classes is huge for me as it will create a seamless transition from structured XML documents to Java classes. This will enable systems and software engineering to have a simpler handoff. As with most JSRs, however, my fear is that there will again be an attempt to reinvent the wheel.”
Laferriere questioned the need to include so much in the core.
“On the negative side, how much of these new features are really needed as part of the core JDK?” he asked. “As Java 6 increases its footprint, the large, slow tag will begin to creep back in with Java. This is also true of .Net, which is also growing quite large. It is almost a battle for the entire platform at this point as opposed to a true embracement of the open-source vision of developing things of value and let the developer decide.”
Anne Thomas Manes, a Boston-based analyst with Burton Group Inc., echoed those sentiments.
“What bothers me is that I really dont like JAX-WS,” Manes said. “The Sun JAX-WS team really needs to learn a few things from Microsoft. They should be building something like Indigo—a common programming model that encompasses JAX-WS/JAXM, JMS, RMI and EJB. But Sun doesnt get that.”
However, “At least they made the jump from JAX-RPC to JAX-WS, and they arent afraid to break backward compatibility,” Manes added. “But JAX-WS is still much too cumbersome—over-engineered in the traditional Sun engineering way.”