While Sun executives prepare for the 10th anniversary of Java at its annual JavaOne conference in San Francisco next week, much of its activity will be focused on what’s coming next for the programming language and platform.
Java’s come a long way since its May 1995 inception. Originally intended as the programming language for a wave of handheld home-entertainment device controllers for cable companies, Java is today found in 2.5 billion devices, 1 billion smart cards and 700 million PCs worldwide.
There are approximately 4.5 million developers using the processor-independent language created by James Gosling who is now Sun’s Java chief scientist. The technology is driving an estimated $100 billion of business annually. The Java Community Process (JCP), which steers the direction for new Java standards, currently has 912 members.
The theme at this year’s JavaOne is “The Power of Java.” According to Joe Keller, Sun vice president of Web services and tools, the Java community has illustrated the benefit of communities getting together to spur technology growth and drive innovation.
“It really is an open and participative kind of community that grows opportunities for all who participate.”
But as the Java faithful prepare for JavaOne, the one thing on everybody’s mind will be about what Java has to offer tomorrow. There are several technologies on tap, which are sure to make developers happy.
The first is the expected final release of Java 2, Enterprise Edition 5.0 (J2EE 5.0), which builds on Java 2, Standard Edition 5.0 (J2SE 5.0). At its release in September 2004, J2SE 5.0 was dubbed “the most significant enhancement to the Java platform” by Sun officials.
The latest version contains many Java enhancements, including new support for generics, enumerated types, metadata and autoboxing of primitive types.
J2EE 5.0 will feature the improvements to the core language, as well as some improvements to combat one of the main criticisms about Java development — complexity.
Two Java Specification Requests (JSR) target the complexity issue, Enterprise Java Beans (EJB) 3.0 and JavaServer Faces (JSF) 1.0, and and are expected to be released later this year.
While the complexity issue is certainly an issue with many developers, other JSRs — JSR-181 for Web services metadata and JSR-224 for JAX-RPC 2.0, for example — included in J2EE 5.0 have software vendors anticipating its final release.
While JCP members work out the wrinkles for those technologies, Sun officials continue to ramp up worldwide support for Java. Onno Kluyt, JCP chairperson and Sun’s JCP program senior director, said the growing geographical makeup of the Java community is going to boost innovation into the foreseeable future.
Where much of the J2EE development has come at the hands of companies in the U.S., more technology advances in Java 2, Micro Edition (J2ME) are coming from countries providing the most innovation in that area, particularly in the mobile phone space.
“So, you could perhaps say that with J2EE, that it is more U.S.-centric, because most of the application providers are U.S. companies like BEA, Oracle, Sun and JBoss,” he said. “But if you contrast that with the mobile industry, then most of the innovation there isn’t in the U.S., it’s in Asia and Europe. For the JCP to include those regions is very important.”
Kluyt also responded to some of the criticisms that face the Java language, such as its complexity and the recent hot-button issue — open source. Sun has been steadfast in keeping control over the Java platform, despite some public pressure from companies like IBM , BEA Systems
and the open source community.
The criticism that Java should be open sourced to speed up innovation within the platform is something you see with any standards body or organization working on large projects, such as Apache, Kluyt said.
“With the JCP, when someone says it’s going too slow, it’s because they’re looking at the progress of a JSR in relation to their product schedule,” he said.
That means, he said, that if the company’s product schedule means it would miss having the finalized JSR in its product, it would have to wait until the next product revision before being able to include the standard.
On the other hand, that same company may say that another JSR is moving too fast, well before a new product is coming out, and say the JSR needs to slow down and test in the marketplace before finalizing.
Steve O’Grady, an analyst at research firm RedMonk, thinks Sun’s management of the Java process is moving along fast enough — not fast, but fast enough — and the improvements to the Java platform, through JSF 1.0 and EJB 2.0, will address the complexity issues that dog Java.
Java needs to continue to work well with other technologies. Companies these days are heterogeneous and don’t rely on just one platform or programming language, O’Grady said. They use the technology that suits their needs best. Java will need to focus on its technology being more than just cross-platform.
“What’s going to be important for [Java] going forward is not just running cross-platform but also running side by side with technologies that in some respects might be competitive,” he said. “We could talk about the scripting languages, but also things like .NET
It’s an issue that will only become more important in the years to come, O’Grady said. He said one of the JSRs is already addressing that issue (JSR-223 — Scripting for the Java Platform).