Last week was a turning point in more than one way for the Java community as it gathered at the tenth annual JavaOne conference in San Francisco. In the general sessions and on the exhibit floors, many vendors seemed ready to forget old disputes about Java's evolution and work together on the development platform. At the same time, a number of vendors also felt that Java has become mature and that the biggest technology advancements are now taking place elsewhere.
In what has become a tradition, Sun Microsystems used JavaOne to promote its brainchild and talk about its future. The company described how it is improving the development environment in Java Standard Edition 6, which it expects to ship during the middle of 2006. Sun also noted that it is posting test versions of the development kit for JSE 6, code-named Mustang, on the Java.net Web site. In an effort to simplify its brands, Sun also removed the ubiquitous number "2" from its Java platform specifications. From now on, they will simply be known as Java Enterprise Edition (JEE rather than J2EE), Standard Edition (JSE), and Micro Edition (JME).
Of all the things that Sun did to promote Java last week, its most important initiatives were to release more technologies to the open source community and resolve longstanding disputes with other vendors. The two initiatives are closely related, as much of the acrimony between Sun and other vendors has been over its unwillingness to make Java an open source platform. In an attempt to address the issue, Sun announced two open source projects for Java server software. The first, known as GlassFish, is a code-sharing project for the vendor's Java System Application Server Platform Edition 9.0. The second project will use Java technologies to create an open source integration server that Sun calls the Java Enterprise Service Bus. Sun also pointed out that it now offers a new license for upcoming JSE releases that allows developers to download the source code and submit bug fix requests.
Among Sun's efforts to mend fences with other vendors, none was bigger than its joint announcement with IBM. As you may remember from my article on last year's JavaOne, IBM has long been at odds with Sun over its unwillingness to open source Java. Last week, however, the two firms signed a long-term agreement under which IBM will continue to use Java in its middleware through 2016. In addition, the two firms said that they will make many of IBM's WebSphere, DB2, Rational, and Tivoli products available for Sun's Solaris 10 operating system when running on servers that use Intel's x86 and AMD's Opteron processors. For years, IBM has supported Solaris on servers powered by Sun's SPARC processors. Over the last two years, however, Sun's customers have flocked to the vendor's growing lines of entry-level Intel and AMD servers. IBM's decision to support Solaris on these servers reflects this shift in customer demand.
Sun also used JavaOne to join other vendors in an initiative to make Java a key ingredient of Service Oriented Architectures (SOAs). On the first day of the conference, the company joined with other vendors to announce support for Java Business Integration (JBI), a new specification that defines Java interfaces that application integration tools can use to communicate with each other. The 19 vendors that joined Sun--including integration providers such as Cape Clear Software, iWay Software, and Oracle Corporation--pledged to support JBI on their integration products.
A Shift in Priorities
While many vendors and conference attendees applauded Sun's latest initiatives, a number of them still stated that the development platform is failing to evolve quickly enough to meet new requirements and win developers away from competitive platforms. Most of these critics fault Sun for this problem as they point out how the vendor has refused to release a complete open source version of Java. In addition, some critics acknowledge that Java has simply become too large to change quickly. Whatever their reasons, many vendors are using open source projects to enhance their products in key areas instead of waiting for new Java standards to address those areas. Other vendors are investing in technologies such as Web services that can span both Java and Microsoft's .NET development environments and knit together applications built on the two platforms.
There appears to be a common thread of thinking behind the choices that these vendors are making. Simply put, it is that Java is a maturing platform that is getting closer to the limits of its extensibility. While new development technologies will support Java because it is a critical part of many modern applications, most of those technologies will not be part of the platform or support it exclusively. This line of thinking is leading many tool vendors to innovate around the margins of Java and advocate application architectures that combine Java and non-Java technologies. Ironically, this is what many forward-thinking iSeries developers have been advocating for several years, albeit with technologies such as RPG that predate Java.
These choices add up to one thing: For many tool vendors and developers, Java has become a less central (though still critical) part of their development strategies. As a result, many of Java's biggest supporters have less at stake in the evolution of the development platform than they did two to three years ago. And while Sun would disagree with me on this point, this is one reason why the show of unity at this year's JavaOne was possible. After all, it is easier to lock arms with a partner when the consequences and risks of doing so are steadily diminishing.