Java perks up federal applications

Like the real world in general, the computer world suffers a TowerofBabel proliferation of incompatible languages that make cooperation and communication difficult. In the real world, idealists concocted the idea of Esperanto, a single, global language to replace the many languages used worldwide

Like the real world in general, the computer world suffers a Tower-of-Babel proliferation of incompatible languages that make cooperation and communication difficult.

In the real world, idealists concocted the idea of Esperanto, a single, global language to replace the many languages used worldwide. Similarly, Sun Microsystems Inc. has concocted Java to do much the same thing on computers.

While Java has proved more popular than the defunct Esperanto, it has faced challenges to popular acceptance, and those challenges have made some potential customers wary. It also has attracted an enthusiastic following of supporters who say their ranks are growing.

Federal agencies are among the growing number of organizations that are beginning to take advantage of the portability and security benefits offered by Java. They note that the language's capabilities have improved in the past year, bringing many applications out of the test environment and into full implementation, although concerns about performance and emerging incompatibilities with Microsoft Corp.'s version of Java remain unresolved.

Sam Thompson, senior software engineer for IBM Corp.'s Java industry solutions marketing group, said Java's growth has pushed the industry to a new phase in the language's evolution. "It seems like we are moving from the stage of people dipping their toes in the water and using Java to develop pilots and prototypes to using Java to develop production systems," Thompson said. "The technology has matured a little bit. The early adopters have been successful and have been vocal."

In the federal government, many agencies already are enjoying the cross-platform portability of Java applications, while others are testing Java in pilots for possible future deployment.

"The front-runners in the use of the technology are the Department of Defense and the intelligence community," said John Leahy, acting director of marketing for Sun Microsystems Federal Inc. "They see it as a way of achieving interoperability, which is a substantial problem."

Leahy added that these users particularly have been interested in Java's security benefits and in its ability to limit users' access to information they are not cleared to see.

Quazi Zaman, advanced technology manager for Microsoft Federal Systems, said DOD appears interested in Java in areas where the department traditionally has focused on the Ada programming language.

"Now they are really open to Java as a tool for the next generation," he said. "It has been very popular in the federal community."

Java Talkin'

The sprawling Energy Department offices in Las Vegas employ so many people and use so many contractors that it is difficult for government workers there to know who does what or how to reach the people they need. The solution has been a Java application that runs on a restricted-access World Wide Web site, said Ed Jorgensen, the DOE site manager for RS Information Systems Inc., one of the many contractors that work for DOE in Las Vegas.

"We've done a lot of internal Web applets," Jorgensen said. "Internal pages are useful because there were so many people working on so many projects. We can look up a name, a location and a map, even check on conference room availability and resources. Because of the Web pages, we have a better shot of staying coordinated. If you click on a person on the organizational chart, their picture pops up. Java is the only appropriate way to do that."

The U.S. Postal Service was nominated for a Computerworld/Smithsonian Award for its Web-based postage statement application built using Java. Nate Zuckerberg, USPS' program manager, said Java was somewhat limited when the agency began its project, but the language has improved since then.

"The first iteration of the Postage Statement Wizard used the native print function because Java didn't have a good print function," Zuckerberg said. "Now it is totally Java."

The Postage Statement Wizard is an automated guide to the selection and completion of business mailing forms that customers can use to do business with USPS.

The agency didn't plan to become a Java pioneer, Zuckerberg said. But Java turned out to be exactly what USPS needed. "We looked into form-fill programs because the original plan was to automate forms," he said. "But they were too restrictive and didn't have the sophistication in the code to do the things I wanted to do."

IBM's Thompson said the Postage Statement Wizard is an example of a very popular use of Java: self-service information. "Most of the accounts I work with have already made the decision to go to Java," he said. "The thing we are seeing the most this year is Web-based self-service applications as an alternative to traditional call centers for getting information. It is a faster way of getting to information more quickly and easily."

In another example of a successful Java application, Aurora Enterprise Solutions Inc., Reston, Va., created the Collaborative Healthcare Environment for the Military Health System. Tom McHale, Aurora's chief technology officer, said CHE creates "a virtual hospital" to allow MHS health care providers to use a bulletin board feature, share images and documents, conduct videoconferences, collaborate using a video whiteboard and discuss medical concerns.

Despite the many features and connections to various sources of information, CHE gives users access with a single log-on. "The user doesn't have to continually sign in to different applications," McHale said.

The Office of the Secretary of Defense has been pleased with the results of the use of Java on CHE, said Lt. Col. Fred Peters, director of operations in the advanced technology and integration center in Falls Church, Va. "It has helped to standardize what language people use to write their Web-based applications," Peters said. "We're pretty satisfied with the delivery on the promise."

But that hasn't always been the case for users, said Craig Roth, senior research analyst for Meta Group, Stamford, Conn. "A lot of people were really down on Java a year ago," he said. "It didn't meet the 'write once, run anywhere' promise. It is more 'write once and test anywhere.' " But Java is still better than C++ for portability, Roth said.

Still a Few Bugs

A fly in the ointment has been a dispute between Sun and Microsoft over the value of adding specialized features to Java. Using custom tools to simplify Java programming for certain operating systems, such as Microsoft's Windows, can make writing programs easier. But such an approach comes at the cost of compatibility with non-Windows computers, which defeats much of the purpose of Java.

"Microsoft's Java has extra components," McHale said. "If you use those, it only runs on a Microsoft machine. Sometimes there might be good reasons you want to use it because it makes things very easy."

Another concern is performance. The translation between the computer and Java slows application performance. Meta Group surveyed corporate users about their attitudes toward Java and found that "the biggest concern is performance," Roth said. While there is a performance penalty, the size of that penalty varies depending on the type of application.

"Performance is a slippery thing to try to measure," Roth said. "It depends on what you are trying to do. On processor-intensive applications, it could be 50 percent to two times slower. But on most applications, it will be about 30 percent slower."

"Java is not great in highly math-intensive applications," Zaman agreed. "That is where C++ runs rings around Java."

But the advantages of having programs that can run on virtually any computer often outweigh performance concerns. "Programs often have a wide range of computer platforms they work with," McHale said. "In a heterogeneous environment with little control over the platforms people use, you need to develop in an environment you can move easily from platform to platform."

"One reason you might use Java is if you aren't sure what your end deployment platform will be," Roth said. "You don't want to have to write five different versions. You still have to test and verify for each platform."

Still, Java has disappointed some enthusiasts by not taking off faster. "By now, I would have expected [the Postal Statement Wizard] not to be new anymore," Zuckerberg said.

There are signs that Java is fated to achieve the kind of acceptance envisioned by Zuckerberg. In fact, Java is by far the fastest-growing programming language, according to Sally Cusack, an analyst for International Data Corp., Framingham, Mass. The compound annual growth rate forecast for Java use is 41.8 percent through 2003, she said. In comparison, C++ will grow at 10.8 percent, and Visual Basic will grow at 3.5 percent.

It is important, however, to keep the spectacular growth in perspective. Even with the rapid adoption of Java, the number of Visual Basic programmers still will exceed the number of Java programmers in 2003, Cusack said.

-- Carney is a free-lance writer based in Herndon, Va.

*****

How it works

Java has two primary aspects: a programming language and a "virtual machine" that serves as a universal translator between the Java-based program and the hardware running that program.

Java software can run either in the Java virtual machine or as an "applet" in a World Wide Web browser such as Netscape Communications Corp.'s Navigator or Microsoft Corp.'s Internet Explorer.

The ability to run as an applet in any browser makes Java ideal for applications used on the Internet. If a user has reached a Web site using a browser, then he can meet the requirements for running the Java applet regardless of the type of computer he is using or its operating system.

Sometimes it is preferable for the Java application to be able to run on its own rather than in a Web browser. To do this, programmers include a copy of the Java virtual machine with the program to translate between the program and the computer it on which it runs.

-- Dan Carney

*****

AT A GLANCE

* Status: Because of improvements introduced within the past year, the use of Java in the federal government has been escalating, with many applications graduating from test environments into full implementation. Agencies cite Java's portability and security as the main benefits they have gained through use of the language.

* Issues: The biggest drawback that users have experienced has been performance shortfalls. Most applications will run about 30 percent slower with Java, while some processor-intensive applications can run up to two times slower. Also, the use of customized tools to simplify Java programming for specific operating systems, such as Microsoft Corp.'s Windows, has created compatibility problems and has led to a dispute between Sun and Microsoft.

* Outlook: Good. Java is by far the fastest-growing programming language, and analysts expect its use to grow by 41.8 percent by 2003. Even so, the number of Visual Basic programmers will still exceed the number of Java programmers at that time.