Not another Unix?
What happened to Java's virtue of "Write once, run anywhere?" About a year ago, it seemed inevitable that Java would soon join HTML as "the next big thing." It would deliver the long-awaited intelligence and versatility of fourth-generation languages to the Web, transforming it into a true enterprise application environment. And it would do so with virtually zero deployment costs.
What a difference a year can make.
We recently surveyed more than a dozen intranet and extranet application developers, and discovered that few, if any, were willing to "risk" writing client-side Java. One rationale for their reticence -- that 16-bit clients won't run Java effectively, if at all -- could be dismissed as a temporary hurdle. However, the true show-stopper was the fear that Java applets or applications would not run consistently on all browsers. Recent tests conducted by PC Magazine, for example, reveal wide disparities in operating sys-tem performance between vendors' Java Virtual Machines (JVMs).
Instead of "Write once, run anywhere," the IT world is now wondering which flavor of Java to write and where. Should Java be optimized for the Windows desktops used by 80% of the world or should it be kept "100% pure," a lowest common denominator solution that pleases all of the people some of the time?
Naturally, no standards process is complete without the inevitable arguments over certain vendors' control of the standards process. Hewlett-Packard (HP) recently chimed in about Sun's abuse of its position as Java arbiter. In a moral fury, HP unveiled a rival set of Java standards for embedded devices that was subsequently endorsed by -- you guessed it -- Microsoft.
HP argues that competition over embedded JVMs will provide innovation and choices for users. But realistically, how many users are going to choose sides based on the capabilities of one vendor's JVM over another's, or the openness of the standards process? Does any of this sound familiar to you?
Almost 10 years ago, IBM, HP and Digital formed the Open Software Foundation (OSF) because they were afraid that Sun -- which at the time was 30% owned by AT&T -- would receive advance access to AT&T's new Unix features. Consequently, the Unix world got a healthy dose of free competition that ultimately yielded more than a dozen major flavors of Unix and OSF Motif.
Admittedly, the recent rise of NT as a viable Unix competitor is not due solely to the lack of a standard Unix. Certainly, users' routine swapping of one vendor's Unix platform for another's makes Unix seem pretty open. The same can be said of the ability of vendors to deliver multiple ports of their Unix offerings. But did this competition add any value or innovation to Unix? In most cases, users chose their platforms based on price/performance, service and scalability, not the flavor of the operating system itself. Eventually, vendors found that porting was another added cost of doing business, and motivation to move to NT.
The obvious question is what value this competition might bring to Java, which was initially supposed to deliver zero deployment costs and simplicity based on universal JVMs. Yes, there were technical hurdles to the "Write once, run anywhere" goal, such as slow performance of JVMs compared to native compilers, but nothing that a little clever technology and diplomacy couldn't have settled.
Java will thrive, if for no other reason than the fact of IBM's bear-hug endorsement. The company is building an enterprise transaction server middleware layer that will provide the glue between Enterprise JavaBeans and all those legacy systems that still account for at least 70% of the world's mission-critical business data -- an environment that Microsoft does not control. A by-product of IBM's Java strategy will be the ability to migrate all of those 3270 screen scrapers and orphaned OS/2 clients into the 21st century.
Elsewhere, various flavors of Java will compete with ActiveX and other component technologies for the reengineering of enterprise applications. Java will also compete with rival standards from HP and Lucent for the world of embedded devices. In other words, the triumph of diversity over "Write once, run anywhere."
Java on the client is dead. Long live enterprise Java.
Tony Baer is principal with onStrategies, a New York-based consulting firm, and editor of Computer Finance, a monthly journal on IT economics. He can be reached via
e-mail at email@example.com.