Oracle submitted its Java Specification Request (JSR) 198 proposal last month to the Java Community Process (JCP), the Sun Microsystems-led program for introducing new features into Java specifications. An expert review committee to examine the proposal was selected this week.
The proposal outlines a standardized way to merge Java programming tools from several companies into an integrated development environment (IDE), which would then allow access to all the tools through a single interface. Oracle intends to present a draft of the specification by March next year through the JCP. Java backers such as BEA Systems, Borland and IBM will contribute to suggested add-ons and incorporate approved updates to the specification to ensure it will work with their products.
Oracle's stated goal is to codify the mechanism for plugging together different Java programming applications. Once standardized, an application developer could use a single Java IDE and be sure that an application for testing Java code, for example, would work glitch-free with tools for program design and source-code control.
Although other Java companies have applauded Oracle's goal, the proposal raises a contentious technicalthat continues to divide software makers.
BEA and Sun back a method using Java's Abstract Windowing Toolkit (AWT) and Swing GUI (graphical user interface) components for building application user interfaces. The AWT/Swing approach creates identical presentations, regardless of the operating system. For example, an application that presents order status from a customer care application would look the same to a Windows XP, Macintosh or Linux computer.
On the other side is an approach espoused by IBM and incorporated into Eclipse--an IBM-backed project that is also tackling how to integrate different types of development applications--is called Standard Widget Toolkit (SWT). It allows developers to create applications that have a look that is particular to each operating system.
These two Java tool integration plans represent major philosophical differences over how to build Java programs. The Oracle standardization initiative is not expected to splinter Java developers further, however, because the Java tools market is already well divided among a few large players. However, a key reason to present a unified IDE is to give Java developers a more attractive alternative to Microsoft's Visual Studio.Net tool, which has broad third-party support. Microsoft's tools, which work only for Windows application development, are already well integrated into a single IDE.
News.com Special Report
20 minds on tech's future
A unified IDE would also make it easier for programmers new to Java, or those working in information technology departments, to more easily learn how to build Java software. Microsoft's tools are generally seen as easier to use for IT developers building business applications.
"Does the Java community need these different vendor-led efforts? Probably not--a single approach would be their biggest weapon against Microsoft," said Stephen O'Grady, an analyst at IT market research firm RedMonk. "From Microsoft's perspective, it can't really get much better."
Java tools companies on the JCP approval committee gave Oracle the green light to pursue its standard Java IDE extensions, but said they expected that any new software would not be restrictive in its usage. Borland and SAP, which are both members of Eclipse, voiced cautious acceptance of the JSR 198 effort.
"Borland continues to have concerns about the scope and constraints implied by this JSR," according to the voting record. "But we do recognize the broad industry desire for development in this area. We would be interested in seeing how these concerns could be mitigated by further refinement."
IBM, too, voiced its support under the understanding that the standard will not make the SWT front-end development technology incompatible with the Java standard, said Bernie Spang, director of WebSphere Studio marketing at IBM. The other sensitive issue was a question regarding whether development tools for other languages could easily plug into Java tools.
"A performance testing tool vendor...may have Java tools that work with other systems and other languages. We want to have a single standard that extends the Eclipse IDE. We don't want separate rules for Java," Spang said. "It doesn't help to have a standard for Java IDEs, but have it supported only by a few companies."
Development tool companies have clearly recognized the trend among programmers to draw on several applications when they write code. Sun and BEA each sponsor programs that, like Eclipse, invite third-party developers to tie their products into their respective development applications.
Although it is unlikely that Sun and BEA will join Eclipse because of IBM's influence, OracleEclipse last month, in part to ensure that Oracle-specific tools will work within Eclipse. But the chances that the Oracle-led attempt at a single standard will heal the rift among Java backers are slim because of conflict around Swing/AWT and the Eclipse-favored SWT approach, said O'Grady.
"Oracle is certainly overstepping their bounds with regard to their ambitions in Eclipse if they believe that they can single-handedly repair the divide between Eclipse and Swing. It is certainly a good thing that they're trying to move to a single standard, but the fact remains that Eclipse is the initiative with moreright now," O'Grady said.
Thomas Murphy, an analyst at the Meta Group, said he doesn't expect the debate to be resolved for some time.
"Sun has lost a lot of control over where Java is going, and IBM, in particular, has made a strong play with the (Eclipse) open-source project to work outside the JSR to add stuff to Java," Murphy said. "I see Oracle as trying to play the peacemaker role...(but) it will take at least six months to see where it's really going and how the affinities line up."