by William Blundon

Java: From the courtroom to the enterprise

how-to
Dec 1, 19989 mins

Continuing legal struggles combined with recent (and rumored) product introductions cast some light and some doubt on Java's future in the enterprise

As Microsoft and the US Federal Court system collide head-on this fall, the most interesting question has become: Is Microsoft the iceberg or the Titanic? Opinions differ, of course, depending on one’s proximity to a lifeboat. Those of us sailing merrily by on another ship have a tendency to view the entire episode as just another melodrama. The reality is that the collision affects everything — and Java most of all. This collision will create not a ripple effect, but a Tsunami.

Against the legal backdrop, life in the software industry goes on. Bets are placed, code is written, and products are delivered. Many of the bets and much of the code are in Java. Still the question remains: What happens in year one A.T. (after trial)?

The trial(s)

High technology’s “trial of the century” comprises several events, all of which effect Java to some extent. First, and most famously, is the antitrust suit against Microsoft by the US Department of Justice and 20 state attorneys general. The first two weeks of this trial were lively but are as yet inconclusive. Both sides scored some points, largely through high tech’s kind of sifting through the opponent’s trash. Both the DOJ and Microsoft effectively countered strong testimony against their positions through poignant use of internal e-mail messages.

The original legal case concerned the allegation that Microsoft illicitly used its monopoly in operating systems to leverage its Internet Explorer browser. This case continues. However, the government has broadened its original scope to include other “monopolistic” behavior including Microsoft’s Java actions.

Simultaneously, Sun’s suit against Microsoft and Microsoft’s countersuit are picking up steam, with both sides showing some progress. Indeed, the companies’ e-mail archives have hurt them both. For its part, Sun has been able to show, through a pricing memo for Visual J++ 6.0, that Microsoft had a “strategic objective” to “kill cross-platform Java by grow[ing] the polluted Java market.” An e-mail from Microsoft’s principal Java strategist to Bill Gates asks succinctly, “How do we wrest control of Java away from Sun?”

On the other side, Microsoft has been able to show, through an e-mail message from Sun’s Java Software Division director of product marketing, that Sun believed “Microsoft was smarter than us when we did the contract.” Perhaps more important from a legal perspective are other documents indicating that Sun may have believed it was violating its original licensing agreement with Microsoft when it introduced new Java technologies, such as JavaBeans and the Java Native Interface (JNI), to the original specification (see the link to the licensing agreement in the Resources section).

The licensing agreement, while more arcane than the worst Java code, is explicit in its intent. Sun licensed Java to Microsoft and others, because it wished “to license its Java technology, while maintaining compatibility among Java language-based products.” The coming months will determine if both parties have acted in good faith. Sun has asked for a preliminary injunction to halt additional shipments of Microsoft’s Java products; however, it is unlikely that Judge Ronald Whyte will grant this injunction quickly or at all.

On November 17, Judge Whyte granted a preliminary injunction forcing Microsoft to deliver versions of their Java products that pass Sun’s compliance tests.

As someone who has predicted a Sun win for the last year, it is just my luck to forecast a delay two days before the injunction. It just shows that even the best forecaster can get trumped by the details. I’m thinking about a second career as a weatherman.

… or maybe an astrologer (Ed.)

The ‘announcements’

If the legal front is cloudy for Java, the product area is somewhat more clear as evidenced by recent product announcements. Announcements is in quotation marks in the heading above because some of the most important Java product introductions haven’t been announced at all.

Microsoft and the universal VM On the nonannouncement front was the leak and subsequent denial by Microsoft regarding its work on a universal virtual machine (UVM). This software would execute Java and other languages within a common and portable environment. Gartner Group analyst David Smith leaked the story to press, saying he had been briefed on the technology earlier in the year. Microsoft refused to support the story, declining to comment on “speculation.” A new intermediate language is reported to include Java-like functionality for multiple languages (including Visual Basic) and to allow access to Microsoft’s COM on non-Wintel platforms. Included among the speculation is the future of the OmniVM, a multilanguage execution environment Microsoft acquired with its purchase of Colusa Software in 1996.

This is certainly not a new concept. IBM’s System Object Model (SOM) and Distributed SOM (DSOM) popularized a similar approach several years ago. However, Microsoft has already released COM versions for Unix flavors of computers from Hewlett-Packard, Compaq (Digital Equipment), Sun, and Silicon Graphics. The message is clear: with or without a UVM, COM is a cross-platform execution environment that will increasingly compete with Java.

Sun and the next Solaris version On the real announcement side, Sun did much to bolster Java’s reach with its announcement of Solaris 7. The new 64-bit version of Sun’s operating system is aimed squarely at the glass house that IBM’s MVS has dominated for so long. While much attention from the press has been focused on Sun’s increasing competitive strength against Windows NT 5.0 (now renamed Windows 2000) and in the corporate data center, there is much in its latest announcement to gladden the hearts of Java enthusiasts. The next release, Solaris 8, will provide extensive support for Java APIs and Java middleware, and Solaris 9 will include native APIs for Jini technology.

John McFarlane, president of Sun’s Solaris Software Division, used the new Solaris introduction as an opportunity to announce the beta release of the Java Development Kit 1.2 (JDK) for Solaris 7. JDK 1.2 increases Java’s focus on server-side applications and, according to McFarlane, will “take performance [comparisons] off the table relative to C and C++.” JDK 1.2, of course, includes a fast, multithreaded virtual machine, an optimized JIT compiler, and a new, generational memory system to improve performance.

Ariba and the enterprise One of the early indications that Java performance is improving is the success of enterprise software applications written in the language. First among these is Ariba Technologies. (For a link to the company’s home page, see Resources.) Ariba’s focus is on enterprise applications that automate the entire corporate acquisition cycle, from procurement to expenses. Ariba’s software is 100 percent Java (and now XML). For at least one of its first corporate customers, performance was an issue. According to Ariba’s CEO, Keith Krach, one of its most successful customers, Cisco Systems, experienced some performance problems in the last year. Performance has improved dramatically, however, and Ariba can now support communities of up to 100,000 users on a six-processor HP system (and more than 1,300 concurrent users). As a result, Ariba was just named a supplier of the year by Cisco.

Ariba Vice President of Marketing David Rome says that as Java’s performance has increased, its inherent benefits have become clear. Ariba supports Java implementations on multiple computer systems, and as a result, still finds the need to “write once, test everywhere.” The porting cost of the product has declined markedly though, and consequently, Ariba has been able to focus more of its engineering investment on new product features. Java has helped Ariba sustain a seven-month release schedule between major upgrades of its software.

The future

So what does the future hold? More confusion, more competition, and even better products for the enterprise? One of the inescapable messages of Sun’s announcements is that Java’s focus will sharply center on the corporate data center. Moving Solaris upstream and adding Jini will greatly increase the potential for both Sun and Java as network applications further dominate the enterprise. Enterprise software from hot companies like Ariba will continue to validate Java as an enterprise platform. If the Java 1.2 development kit lives up to its billing, then performance concerns will begin to slowly fade away.

The big question yet to be answered is whither Microsoft? The UVM, if it ever sees daylight, can solve two problems at once. First, it provides a way to host Java programs on Windows (and other COM-compliant systems) without using Java technology. Second, and more important, with multiplatform COM, it provides a true rival to Java.

What Microsoft does with UVM and COM may ultimately be determined by its status in the courtroom. If it successfully defends itself against Sun and the DOJ, then it’s free to continue to do as it pleases. Even if it loses some or all of the litigation, Microsoft’s new technologies give it excellent maneuvering room — the company has the opportunity to develop products that compete with Java with similar functionality but without the requirement for a Java license.

Whatever happens in the courtroom and in Microsoft’s laboratories, Java is increasingly relevant to server-based applications that extend to the enterprise and beyond. Research from The Extraprise Group indicates that Java is in use at more than 50 percent of major corporations and this number is expected to continue to grow rapidly in the next three years. In the meantime, its only true hindrances are press releases and legal briefs. Whether Microsoft turns out to be the Titanic or the iceberg is an interesting question. But in the end it really doesn’t matter. Unlike Leonardo DiCaprio, Java can swim with the best of them.

William Blundon is executive vice president and co-founder of The Extraprise Group, a North American provider of strategic advisory, systems integration, and training services for e-business. His focus in the last nine years has been on distributed object environments and the Internet. He is a former director of the Object Management Group.