Java turf wars kick off
Published: 05 Feb 2004 13:20 GMT
Recently, I wrote a column that asked the question: Is this the end of Java as we know it? That question was triggered by a proposal to the Java Community Process (JCP) for an enhancement to the Java standard after (instead of before) that enhancement was embraced by members of the JCP, namely IBM and BEA.
For years, the JCP has been the venue for vetting proposed changes to Java technologies. Java is comprised of many moving parts and components, including the various footprint-specific versions of the Java Virtual Machine (JVM). Virtually all of these individual Java specifications and any upgrades to them -- known to Java aficionados as Java Specification Requests (JSRs) -- are first hashed out and polished by the contributors to the JCP before being officially incorporated as a Java standard, or supported in Java standard-compliant offerings.
Historically, when the official process for creating extensions to Java has been bypassed by a single company in a way that's considered a violation of the "write once, run anywhere" promise of Java, that company must either warn developers that they are about to leave the sanctuary of the Java promise (the point at which a developer invokes such vendor-specific extensions), or, in the most well-known cases, face the ire of Sun.
When Microsoft offered Windows-specific extensions to its Java Virtual Machine (JVM) without raising the requisite red flags to developers, Sun sued Microsoft in a case that was eventually settled out of court in 2001. The reverberations of that case echo through the industry to this day.
Similarly, although no lawsuit was filed, Sun was outraged by IBM's November 2001 introduction of the Eclipse integrated development environment (IDE) as an open-source alternative to the Sun-endorsed IDE, NetBeans. Eclipse offers developers several exits from the Java campus, but the one that Sun focuses on is an IBM-developed graphical user interface (GUI) for Java known as SWT. To preserve the "write once, run anywhere" promise of Java, Sun encourages users to stick with SWING (which is the default GUI library found in NetBeans).
Whereas previous transgressions against the tenants of Java have been unilateral, a recently announced joint effort between IBM and BEA may have ushered in a new era for the Java ecosystem. The two members of the JCP, both of whom are contributors to the JSR for J2EE, bypassed the traditional propose-ratify-support sequence by collaborating on three J2EE extensions (Service Data Objects, Timer for Application Servers, and Work Manager for Application Servers). They promised support for the extensions in the next versions of their application servers first and proposed them to the JCP after.
When last counted, IBM and BEA, which have been jockeying for the J2EE market leader crown, collectively controlled 66 percent of that market. Much the same way the collective presence of IBM and Microsoft left the rest of their competitors with little choice but to embrace the various Web services specifications that the two companies collaborated on, the combined might of IBM and BEA in the J2EE marketplace affords them the luxury of leaving the rest of the J2EE market with little choice but to embrace any specification that the two decide to jointly support.
From a procedural point of view, the parallels between IBM and Microsoft's pre-emption of the World Wide Web consortium (W3C) in an effort to create de facto (not officially ratified by any standards group) Web services standards and IBM and BEA's pre-emption of the JCP are strikingly similar, and perhaps now, even formulaic.






