HP wakes up to Java
Taps Open Group for clean room JVM, plans new compiler for HP-UX
The company made headlines yesterday by publicly trashing JavaSoft's virtual machine (VM) licensing arrangement in the embedded space and announcing the availability of its own clean room implementation of a virtual machine to run Java. Microsoft will be the first licensee of this VM, which will run in its Windows CE operating system.
Next week, HP will announce plans to release a new compiler for HP-UX designed to compile Java bytecode directly to native machine code.
The clean room virtual machine, which has yet to be named by Hewlett-Packard, may not be 100% compatible with applications written to Sun's consumer device platforms for Java: PersonalJava and EmbeddedJava.
HP's chief architect of virtual machine technology, Chris Schoppa, says that as well as objecting to Sun's licensing model, his company decided not to license Sun's VM because Sun would require that HP incorporate any proprietary Java work into the open Java specification as well as fully support the Java classes -- something that HP (and its licensing partner, Microsoft) does not want to do.
HP says it has produced an unlicensed set of Java class libraries for the new virtual machine, separate from those included in Sun's various Java platforms.
While the mainstream press has been quick to pronounce HP's announcement as creating a rift in the anti-Microsoft Java alliance, it is unclear exactly what affect it will have outside the embedded market.
The man who works on the Java Virtual Machine for HP-UX, for example, Java Research and Development Manager Larry Dino says HP has no plans to do a clean room implementation of the JVM for Unix -- this technology is licensed from Sun.
Sun, while clearly unhappy with HP's trashing of its licensing structure, says it has no reason to believe that HP's product will not be fully Java-compatible. "This is a clone of our JVM," says JavaSoft Vice President of Software Products Jon Kannegaard, "and in general they're allowed to build clones of the Java technology. If they go up against us I think we will win, but clones are legal, and if they want to try to out-market and out-engineer Sun they're free to do so."
Certainly, the fact that someone has done a clean room version of the JVM is nothing new. Symantec (for Visual Cafe), Rockwell (for its JEM 1 chip), have both done clean room JVMs. And one company, Iowa's NewMonics Inc., has been around since 1996 with the express purpose of licensing clean room JVMs and run-time environments for embedded systems.
NewMonics President Kelvin Nilsen says his company has licensed its VM technology to a number of customers including Integrated Systems, the US Department of Defense, Concur Systems, and VenturCom.
The fact that there is finally a Java Virtual Machine for Windows CE could in fact be good news for Java. Java developers will now, at least in theory, have a way to run their bytecode on CE as well as whatever embedded devices HP elects to support with its virtual machine.
Though HP's Schoppa says the embedded world "isn't write once, run
anywhere," he does promise that his VM will support key Java classes
lang, util, i/o, and
International Data Corp.'s (IDC) director of java research, Evan Quinn, predicts that the impact of HP's announcement will remain unclear until sophisticated development tools -- the Java Workshops and Visual J++s for the embedded market -- start to surface. "Right now, there isn't a development tool for any of this, just like there isn't a development tool for JavaOS or PersonalJava," he says, "until you have a development tool for these technologies, no one can take advantage of them." And until that happens, the degree of compatibility between Sun's JVM and the HP clone will remain unclear.
Setback to licensing program
HP's move may not signal a failure for Java, but it does represent a failure by Sun to garner support from potential embedded VM licensees. Nick Mykris, who spent about a year trying to cut a licensing agreement with Sun on behalf of Rockwell International Corporation says that Sun simply does not understand the embedded market. "They're way out of the ball park in terms of the licensing deals they have," he says. According to Mykris, the pricing model that Sun offered his company was too expensive (a complaint echoed by Shoppa). "We think it's more economic for us to have it [the Java virtual machine] developed or to do it ourselves," he says. Rockwell ended up creating its own virtual machine for its JEM 1 chip out of existing technology. Mykris says Rockwell plans to license a clean room Java runtime environment for JEM 1 in the near future.
To its credit, Sun does have some big name licensees for its Java technology, including Motorola and Nortel.
JVM development team
The group that created HP's embedded virtual machine is comprised of just 45 people -- most of whom work in R&D, according to Schoppa. "We're not trying to create a very rich application environment," he says, "we don't need to have an army of engineers developing every API in the world."
Schoppa says that the Open Group, working under contract with HP, implemented "portions of the virtual machine core," but he declined to specify which parts.
The Open Group, which is a JavaSoft licensee, has done ports of the JVM to various platforms, including Bull PowerPC, Digital Alpha, and NCR Globalyst S40 under the auspices of a research project called Java Ports. And, according to the Open Group Web site, it has has developed its own Java virtual machine, called J-Lite for the embedded market.
Open Group Vice President of Research and Development Paul Dale declined to comment on the work his group has done with HP on its embedded virtual machine.
While it seeks to become a licenser or VM technology in the embedded market, HP also hopes to carve out a space for itself on the enterprise side as a provider of good native code compilers.
HP's Dino says his company plans to release a new compiler in the second half of 1998 that will compile Java bytecode directly to native machine code, while at the same time still allowing for the dynamic loading of portions of the Java application. This new compiler will be based, in part, on technology licensed from Tower Technologies.
This as-yet-unnamed compiler's ability to load dynamic bytecode classes is something that Dino calls a "unique contribution" to the world of Java compilers. He says that his company does not plan to continue work on the Open Group's TurboJ compiler, which it currently supports. He calls TurboJ more of a "translator" than a "true native compiler." TurboJ translates bytecode into C source code, which is then compiled to native code via a C compiler.
Compared to JavaSoft's HotSpot interpreter technology, which Dino estimates as providing a 3x performance increase to Java performance, HP's new native compiler should provide a 7-10x boost, he predicts. This performance advantage is something HP sees as particularly attractive to customers running Java on the server.
IDC's Quinn agrees that native compilation will provide "palpable" performance enhancements, but he cautions that server-side Java execution is not the same as client-side execution -- the place where Java's performance is most commonly criticized. While a Java applet may take longer than, say, an HTML page to be served to a client across the network, running Java code on a server, where much of the logic may not have to by dynamically loaded, is a different matter. "You don't have those situations going on at the server-side," he says. "Business applications tend to bog down in data I/O and not in logic."
Sun prefers to think that its HotSpot technology will make interpreted code run fastest because the interpreter will have a better understanding of the machine's runtime environment and how best to optimize for it. But the IDC analyst thinks that Sun will "slowly and subtly move away from that position and recognize that for certain types of applications, native [compiled] Java is going to make sense."
Another major Java supplier, IBM, has released a native compiler on its Web site. And while Big Blue sees a place for compiled code, according to their chief Java evangelist, Simon Phipps, "it's going to become less and less important to compile in native code as time goes by." In fact, he adds, "right now, the performance of the Java code is perfectly adequate for most people's tasks."
Next week Hewlett-Packard will also announce plans to establish a Java Application Environment Tuning Center in Cupertino, CA this spring. Dino says that with an initial staff of about six, this will be a resource for HP customers looking to optimize Java performance on HP networks.
HP will also work with a "core set of ISVs" to tune the Virtual Machine to certain vertical applications, like e-commerce, supply chain management, and purchasing automation. HP will announce relationships with ISVs in these spaces in April, but Dino says that work is already underway with some vendors, like Ariba Technologies, WebLogic, and HP's own Praesidium development team.
Compared to competitors IBM and Sun, HPs Java efforts are tiny. Outside of the embedded space, the company is doing no work on developing the Java classes, and the size of Dino's group -- about 60 people -- is very small compared to the multitude involved in Sun and IBM's Java programs. But the fact that HP is, at least, talking about Java represents a change.
And perhaps moves into the Java space by this famously conservative company can be seen as a solid endorsement of the Java platform. "Up until now, HP has made almost no noise in the Java space," says IDC's Quinn. "It looks like there is enough interest in Java as a server for applications that HP has to enter the game."
--Additional reporting by Nancy Weil and James Niccolai, IDG News Service
If you have technical problems with this magazine, contact firstname.lastname@example.org