The three versions or categories of Java are called Java 2 Enterprise Edition, Java 2 Standard Edition, and Java 2 Micro Edition, said Alan Baratz, head of Sun's software division, at Sun's JavaOne conference here.
The new structure is part of Sun's strategy of simplifying its "write once, run anywhere" technology, which has spawned a multitude of options and extensions as Sun has extended Java. By tailoring different versions of Java for different tasks, developers will in turn likely become more amenable to adopting it in their respective niche markets.
Sun is taking to heart a lesson Baratz said he learned in high school English: "Simplify, simplify, simplify."
In addition, within the three broad categories, Sun will define specific "profiles" for variants of each. For example, Java running on a television might require a certain set of features and accompanying software.
3Com, with its Palm Computing division, is a major presence at the show. 3Com and Sun announced that Java would become part of the Palm operating system by the end of the year, and hordes of conference attendees lined up to buy the handheld computers at a discount price of $200.
In helping to distribute Java more widely, Baratz said Java 2 will ship as an integrated part of the Netscape Navigator 5.0 Web browser and will also be included on the millions of CDs America Online distributes.
The Micro Edition
Part of Sun's attention has been on using Java in "embedded" devices such as cell phones, factory-floor robots, Internet-enabled televisions, or car navigation systems. That's an area where Sun is facing political difficulties with some companies, including Hewlett-Packard.
With the Micro Edition, Sun announced options for lifting some of the Java computing burden from small devices, letting back-end servers handle the work instead. That feature is important both as a way to enable gadget developers to make Java more feasible and as a way to further Sun's strategy of making money off Java by selling those back-end servers.
Another part of Java 2 Micro Edition is the KVM, a smaller, 64-kilobyte virtual machine developed by Motorola and Sun to run in the smallest devices such as pagers.
A virtual machine is the Java software that translates generic Java code into the specific language understood by a given computer. It's a key element of Java, not just because it's a key part of making the "write once, run anywhere" mantra work, but also because the virtual machine has a big effect on Java's performance and memory requirements.
The Micro Edition incorporates both PersonalJava and EmbeddedJava, two stripped-down versions of Java. PersonalJava was aimed at small devices that needed general-purpose abilities, and EmbeddedJava is stripped down even further for devices limited to only certain tasks.
Analyst Anne Thomas, of the Patricia Seybold Group, said it's important that Sun will use Palm OS as the Micro Edition's "reference platform," a working version of the technology that developers can use as a reference while writing applications.
"Right now, the reference platform is Solaris, and that makes no sense. There's no value in microsystems on Solaris," she said. "It makes sense for the Palm OS, because it's the most popular OS for personal digital assistants."
The Enterprise Edition
As previously reported, the Java 2 Enterprise Edition is a set of specific Java services for use on Java-enabled servers.
The key component of the technology is Enterprise JavaBeans (EJBs), modules of code that are usable on different servers. However, one of the problems hampering the adoption of EJBs was the absence of standard ways of communicating between different parts of software on the servers. With Java 2 EE, a basic set of Java messaging techniques will be available.
Another important part of the high-end edition of Java is JavaServer Pages, which allow servers to create sophisticated Web pages more easily. That technology is being licensed to the Apache Web server project, one of the most notable open source projects, said Apache developer Brian Behlendorff.
Sun also advanced its HotSpot technology, which speeds the virtual machine. HotSpot currently is only for Java programs running on servers, but will be available for desktops as well early next year, said John Kannegaard, general manager of the Java platform.
The HotSpot 1.0 is available for free in binary form, but developers will be able to see the underlying source code in August when the early version of HotSpot 2, Kannegaard said. The source code will be released under Sun's Community Source License, a quasi-open source method of sharing software that lets others examine the code for free but that requires paying royalties to Sun if a product incorporates that software.
The licensing effort
Sun announced some new virtual machine developers who are abiding by Sun's licensing plans, including Insignia in the United States, Access in Japan, and the Dow Group in the United Kingdom.
Baratz also said that Integrated Systems has licensed Java for use within its pSOS embedded operating system.
However, HP and others remain outside the Sun fold, objecting to licensing and control issues. Other Java developers who haven't licensed Java include Charis, Tower Technologies' JTower (for server uses of Java), NewMonics software aimed at the embedded space, and the Japhar virtual machine.
News.com's Wylie Wong contributed to this report.