Though Java has yet to put a dent in Microsoft's control of the desktop--through the operating system and applications market--it still presents one of the most viable ways for the industry to grow outside Redmond's purview, analysts argue.
Java potentially offers both developers and corporate IS organizations a cross-platform technology not wedded to a single company's operating system. Developers would not need to write new applications to Win32, the Windows application programming interface (API), to guarantee market acceptance, since Java applications can run just fine on Unix and the Macintosh.
Recent events seem to indicate that Microsoft may have its hands full combating Java in the coming months.
First, the judge in the antitrust lawsuit brought against the company by Sun Microsystems is expected to rule that Microsoft violated its licensing contract for Sun's Java language. Already, Microsoft has been forced to add support for Sun's application programming interfaces to its virtual machine and Java development tools.
The decision has led to speculation that Microsoft might abandon efforts to comply with Sun's "official" version of Java in favor of a Microsoft-only technology that can read Java applications.
Then, just last week, a resurgentand aligned itself with Sun in a three-way deal that could make Java a key technology to be offered to AOL's 14 million subscribers.
The new troika also could breathe life into a splintering Java front. What started out as a united front against Microsoft, led by Sun, Netscape, Oracle, Hewlett-Packard, and IBM, had lately shown signs of stress, in a pattern eerily similar to past splintering of the Unix market.
Microsoft had its chance to control Java
Just how serious does Microsoft perceive the threat of Java to be? In January 1997, a company executive proposed rewriting the company's Windows operating system, from top to bottom, in Java. The effort, detailed in an internal presentation called "Microsoft API Strategy: Java is our destiny," was presented as evidence during the ongoing antitrust trail involving Java originator Sun Microsystems.
That idea was vetoed by Microsoft chief Bill Gates, who thought the strategy would eventually undermine the Windows API and franchise.
But the presentation shows that the company saw Java as such a serious threat that it considered embracing it for its most valuable piece of technology, the Win32 API.
Instead, Microsoft decided that the best route was to splinter the Java market by building a Java Virtual Machine tailored specifically to Windows. Applications written to it would run only on Windows.
The company then designed a Java tool, Visual J++, with special extensions that favored designs for Windows. Then, the company distributed mass quantities of the tool free to developers. The strategy was to lock Java developers into Windows, in what one executive called a "Trojan horse."
In documents presented during the Java trial, Thomas Reardon, a Microsoft executive, wrote in a November 26, 1996 email message that the company should "quietly grow J++ share and assume that people will take advantage of our classes without ever realizing they are building Win32-only Java apps."
Ironically, at one point not long ago, Microsoft had an opportunity to steer the course of Java development, especially on the server, as evidence presented in the ongoing Sun Java trial shows.
In a July 3, 1997 email message written by Microsoft product manager Charles Fitzgerald, and sent to Bill Gates and other top Microsoft executives, Fitzgerald refers to a meeting between Gates and Eric Schmidt, chief executive of Novell.
Fitzgerald says in the message that he and other Microsoft executives met with Novell to "discuss opportunities to collaborate on 'Java server APIs.'"
"The basic proposal was Microsoft and Novell cooperate to define standard Java APIs for things like file/print, directory, security, licensing, database, transactions, message queuing, management, etc.," according to the message.
"Eventually [Gates and Schmidt] came out and said that if Microsoft and Novell support the same APIs, it will be a standard," Fitzgerald wrote.
Two days later, Gates vetoed the idea in an email mesage that also illustrates just how important Windows API control is to Microsoft.
"We do NOT want to ship the 'standard' with Windows because we want to make the native APIs more attractive," Gates wrote. "We want to evolve the standard APIs rapidly, and not have ISVs [independent software vendors] spending time on something that is cross-platform."
"Java standard server APIs are bad news for us. I veto any cooperation with this group unless someone comes and convinces me otherwise," Gates concluded.
Server now a key battleground
Now, more than one year later, analysts say the server is emerging as the key battleground for platform control.
According to Giga Information Group, 56 percent of IS organizations surveyed plan to use Java for all or part of their enterprise applications.
Java backers could make some serious headway against Microsoft and Windows in driving market adoption of Java technology on the server with a component technology called Enterprise Java Beans (EJB) and lightweight Java components called servlets, analysts said.
EJB promises to provide a vendor-neutral method for building multitier business applications using one language. Proponents of EJB say the standardized application programming interface also gives big companies a guaranteed way to mix-and-match products from multiple vendors.
The big "if" is whether Java backers can set aside competitive differences and agree on real, universally supported standards, analysts said. So far, for instance, no agreement has been reached on a standard infrastructure to connect Java components.
"Java vendors have not standardized on an infrastructure to link Java Beans," said Tim Sloane, an analyst with the Aberdeen Group.
But even though Java backers may bicker over standards, Sloane does not see evidence of the same divisive forces that splintered the Unix camp.
"The cleavage of the Unix world happened when new versions of Unix appeared from the various manufacturers with undocumented APIs embedded to take advantage of each vendor's own platform," Sloane said. "So far, all of the major sets of functions introduced in Java are being introduced via a standard API, so that all vendors can implement them."
However, Sloane added, "I would not go so far as to say this string of luck will continue. I firmly believe that Java as a general application environment is still very young and very small. Every vendor in this market recognizes its fragility, so at the moment they are conscious and careful."
As David Smith, a Gartner Group analyst, sees it, Java backers are as tight as could be right now. "I can't think of two vendors closer together than Sun and IBM [on Java]. Sure, some things, like Sun's JDK [Java Development Kit version 1.2] and HotSpot [Java acceleration technology] have slipped.
"But nothing has slipped more than Windows NT 5.0," Smith added, referring to Microsoft's oft-delayed server operating system.
"As the market grows, that's when the pressure gets applied and vendors will start to break off from the [Java] pack and go their own way," said Sloane.
That split could still be several years away, he added.
That could give Microsoft enough time to regroup its Java efforts. Though publicly Microsoft executives say they plan to comply with the judge's initial ruling and any subsequent rulings, the company appears to be working on a plan to move ahead--with or without Java.
For instance, Microsoft could effectively clone Java, and offer a virtual machine-like environment for running applications built using Java, Visual Basic, C++, Cobol, and other languages.
Such a scheme could offer developers a more wide-ranging deployment option than just Java alone.
In court filings, a Microsoft executive suggesting building just such a "language-neutral Internet development platform."
Michael Toutonghi, a Microsoft developer, proposed the idea in a April 20, 1997 email message to management. "Maybe in two years' time," Toutonghi wrote, "we could have a functional API set for Internet development that rivals Java. Maybe by that time we will also have the best VM class libs for Java, VB, C++ subset, Cobol, and Smalltalk."
For now, the company plans to forge ahead on the Java front, until a final decision is handed down in the Java case. "As long as we are allowed to innovate in Java, developers will benefit," said Tom Button, director of product management for development tools at Microsoft.