Java at the Crossroads

Pour a cup into your computer.

by / May 31, 1999
In the four years since its introduction, the Java programming language has made tremendous progress, becoming widely accepted as one of the most important computing languages.

Web surfers inevitably meet Java. The advantages of Java have led to speculation that a network-centric language is the trend of the future, as networks continue to become an economic essential.

Java, developed by Sun Microsystems and named for the coffee shop its programmers frequented, is a compact and secure computer programming language providing an embedded Web programming language without the limitations of language incompatibility.

One of the most advanced ways to take advantage of computer networks, Java allows a single piece of software to run on any major operating system. It's a welcome tool for developers as they don't have to rewrite Java programs in order to achieve compatibility.

According to Sun's John Leahy, "Java is much more than a computing language. It's a computer environment because of its 'write-once and run-anywhere' capabilities and the ability for the applications to move dynamically over a network or the Internet. It's a whole computing environment."

Java can be described as an interpretive language understood not only by IBM-compatible PCs, Macintosh and UNIX workstations, but also by hand-held devices such as cell phones, pagers and even appliances such as dishwashers and VCRs.

Java is different from other computer languages because, unlike FORTRAN, Basic, C++ and others, it is not dependent on the underlying operating system and hardware that controls the basic functions of the computer running the programs. Other language programs, to work on everyone's Internet platform of choice, would have to be written specifically for each type of system and for every other type that comes along. For example, a program written in C++ for a UNIX machine will not work on a PC using Microsoft Windows. Or a program written for Macintosh will not work on a PC Windows operating system.

To an ordinary observer, code written in Java looks almost identical to programming done in C++. According to Leahy, "from the aspect of computer language it is being referred to as 'C++-' because it's much easier to use or to program than in C++."

Java's interpreter, the "Java virtual machine" software, solves the compatibility issue. Provided a Java virtual machine is ready, such as those built into popular Web browsers, Java will work the same anywhere. Once a user installs Java -- which happens automatically when the Web browser is installed -- the Java virtual machine stays on the user's hard drive. It is activated to run Java programs whenever it is needed.

That means there is no problem porting programs from one system to another and no need to worry about how a piece of software will run on a certain computer. PCs, Macs, UNIX, IBM mainframes and new NC computers can all download the same program and run it, just as with HTML.

However, Java goes beyond the limitations of HTML and other languages by giving users interactive and multimedia capabilities.

One Step Beyond

Combined, these ideas push Java far beyond mere Web applications. In fact, Java doesn't have to run on the Internet -- it can run like any other program, from a hard drive or local area network. That is why the computer industry calls Java not only a language, but also a "platform." Other kinds of Java software programs can run directly on computers without requiring a browser, or on servers, large mainframes or other devices.

Critics of Java argue that similar to other cross-platform solutions, Java cannot take advantage of unique system characteristics to run as fast as it might on a popular machine. However, according to Sun, enhancements in Java 2 have increased the application-performance gain by three to 10 times. The Java 2 platform for the Solaris operating environment allows Java applications to run at speeds comparable to compiled C++ code.

In a conventional computing world, where programs run on only one operating system, Java seems like a liberator. A user who invests in software that runs only on UNIX, for example, is not likely to switch to a Mac or to install a Windows operating system because, in addition to the cost of the new machine, he or she would have to buy all new software. With Java, the user would have much more freedom to change computers and operating systems.

"Because Java is a network-centric environment," said Leahy, "it provides proven advantages ... in terms of cost, efficiency, productivity and [information access]. Government agencies don't have to replace their existing system to move into that network-centric computing environment. That is the big advantage of Java.''

Java holds great promise for government agencies that have distributed personal computers to the desktops of their workforces because it greatly simplifies the effort and reduces the costs needed to maintain functions at individual workstations. For example, instead of placing a program such as Microsoft Word on every computer's hard drive, the word processing software could be stored on an agency's network. The Java network then downloads the software to workstations as needed.

The workstations would be far cheaper because less computing power would be needed at the desktop level, and administration costs would be much lower because the technical support would be done just once on the network rather than repeatedly on each desktop.

Sun's Mark Harris said, "There will be two general classes of computers: computers that have their own intelligence, memory and hard disk for engineering or power users. The problem with these kinds of machines is that they cost a fair amount and a lot of maintenance is associated with them. For example, if they break, you have to contact administrators.

"The other kinds," continued Harris, "are thin clients, where customers want to do simple tasks such as get stock quotes, send packages or find a part number. They'll cost about $200 to $400 with a monitor. These computers don't require big bloated operating systems, or cost a lot to buy and maintain. Once the users turn on their Java workstations and thin-client devices, they will always be updated by multiple kinds of software. In an enterprise perspective, that kind of desktop is a CIO's vision of the future because it reduces the amount of maintenance for them and the cost of ownership goes down. With the current PCs there are high overheads, they crash, you have to load software, you have to go update and there is a lot associated with them," he explained.

Got Java?

Many companies are embracing Java because it can integrate disparate systems into something appearing to users as a single system. It can become an effective solution for standardizing a vast product line that includes many languages and devices.

Incompatibilities trouble many who believe that agencies need an open and standardized communication system to bridge dissimilar and formerly incompatible systems.

"The real world today is a heterogeneous environment, and most state and local governments have a variety or mix of different vendors and systems -- both hardware and operating systems," said Leahy. "Utilizing Java, access and service becomes a reality regardless of what kind of system the citizen has to access the network and regardless of what kinds of systems various departments have."

Smart Devices

Java's flexibility has enabled the development of such things as wearable computers. JavaRing, a thick wedding-band-type device, contains a computer capable of providing immediate access to important data for anyone requiring mobility.

The ring is capable of storing users' secret codes, credit card numbers, drivers' licenses, users' identification and preferences, or even cash value for small transactions. Information can be transferred between the ring and another system when the user simply touches the ring to a receptor or probe.

The Java platform will also be built into next generation telephones, TV set-top boxes, smart cards and other consumer and business devices. Sun launched its latest technology, the Personal Applications Browser, directed at providing the Java platform for consumer electronics applications, including TVs and other hand-held devices. The browser will enable devices to access the Web and send and receive e-mail.

Version 1.0 of the browser offers a zoom feature for navigating Web pages and will turn cell phones into pocket computers complete with word processing, databases and e-mail. Additionally, a new generation of Java-enabled home appliances could come with LCD panels that communicate with browsers over household electrical wiring to the Internet.

Major companies -- such as IBM, Sun Microsystems, Lucent, Alcatel, Eron Communications, Ericsson, Network Computer Inc., Nortel Networks, Oracle, Sony, Philips Electronics, Sybase and Toshiba -- have agreed to create a new set of standards based on Sun's Java programming language to interconnect the next generation of smart devices.

Government Cases

Santa Clara County

The Santa Clara County, Calif., Social Services Agency selected Sun's Java computing to allow county employment counselors to track and manage services they deliver to individuals and families. The agency is improving services such as adult education, vocational training, English as a second language programs, transportation and childcare.

Java technology will play a key role in enhancing the Great Avenues to Independence (GAIN) program, further extending the assistance and training GAIN provides to welfare recipients trying to get back on their feet and into the workforce.

The existing system will be completely replaced by a powerful new Java computing architecture that includes Sun servers, 150 JavaStations and a complete rewrite of the GAIN application in 100 percent pure Java.

Oregon DOC

The Oregon Department of Corrections (ODOC) will use a Java-based inmate information system developed by Central Design Systems Inc.

The system will front-end to an Oracle database, use current client/server technology and be deployed at nearly every ODOC client workstation in the state. The network will allow inmate information, including photographs, to be viewed throughout the state's correctional infrastructure regardless of the particular client workstation. According to Mike Truman, lead systems integrator for the ODOC, "We needed to build a Java-based, database-driven network that provided secure Web access across our enterprise."

National Center for Missing Children

The Web site for the National Center for Missing and Exploited Children (NCMEC) handles more than 1 million hits per day.

The center has the capability to broadcast images and information to any site on the Web. Central to the site is the photo listing database, which includes photos and descriptions of more than 1,000 missing children. Plans to open up the database to state agencies later this year may see the database swell to 100,000. Helping with that rollout is a content-management system that allows caseworkers and law enforcement agencies from around the world to access the system and add content.

To make it easier to find missing children, the database can be searched by a child's name, physical description, time and place last seen, etc.

USPS Hot Forms

The United States Postal Service (USPS) is using Java technology to yield dramatic time savings for bulk mail customers.

Previously, customers sending bulk mail had to fill in one of 13 different double-sided paper "postage statement" forms, manually calculating the total mailing cost. Today, USPS bulk mail customers can go directly to the USPS Web site and download a Java application that simplifies and streamlines the entire process.

The new intelligent forms look exactly like their paper counterparts, but customers can rely on the application's fill-in, auto-calculation and navigational features to complete the electronic forms virtually error-free and in a fraction of the time required for the paper-based process.

According to USPS, the system is now saving between 60 percent and 80 percent of the time it used to take to complete a postage statement.

"What customers had before this was a paper form, a pen, a rate chart, a calculator and a scale," said Nate Zuckerberg, USPS customer-service analyst. "Now they just need a computer and scale."

The system was nominated for the 1997 Computerworld Smithsonian Award.

Paid Online

The U.S. Treasury Department is paying 50 small- and medium-size Department of Defense contractors with electronic checks, or "e-checks," delivered over the Internet, instead of paper checks sent through the postal system.

Sun Microsystems played a key role in the consortium which developed the technology. The e-check is secure enough to meet the requirements of the U.S. Treasury Department to protect against loss and fraud.

Sun and IBM developed independent implementations of the software that operates in a bank. Sun's e-check server is installed at the Federal Reserve Bank of Boston. It receives e-checks sent in for settlement from the banks of first deposit.

The Sun e-check server verifies the digital signatures, processes the check according to the business rules of the bank, returns invalid checks and settles all valid checks. The e-check server also generates the necessary accounting entries.


Wisconsin's Department of Employee Trust Funds (ETF), IBM and the Department of Administration's Info Tech Services Division, implemented a Web self-service application that will allow employers to access retirement and insurance benefits information via the Internet. Employers include Wisconsin state departments, school districts, police and fire departments.

The self-service application lets employers access up to 90 percent of the information they need from the Web, speeds the information-sharing process and reduces the time ETF staff members spend on researching and communicating this information.

County Court

DuPage County Circuit Court, the 18th Judicial Circuit Court of the State of Illinois, is using a Java-based Court Management System designed for the e-business of the Circuit Court clerk.

The Circuit Court Clerk's Office is responsible for day-to-day court activities -- such as attorney registration, automatic status dates, certified copy of judgments, document legibility, fees, filing by mail, jury demand, legal services, probate publication and record searches -- handling more than 6.2 million documents each year.

Supporting a new case load of more than 300,000 filings, and with approximately 850,000 cases conducted by the court annually, the court needed to consolidate its automated record-keeping process and contend with the upcoming new millennium date change.

The Court Clerk engaged IBM Services to build a Java application that leverages and enhances the capabilities of the current system and successfully addresses the issues associated with Y2K. This new system allows users to access the commonalties of case management concepts across multiple applications and presents them as a unified, user-friendly and highly maintainable system.


Delaware has been developing a "One Stop" Web site for businesses needing information or to transact state business. The first application will be a business registration application. Businesses who wish to operate in Delaware must register and pay a fee. Previously, this was a time-consuming, paper-intensive process,

The "One Stop" Web site will allow businesses to provide information about themselves online and pay their registration fees online via credit cards. The state plans to add the ability for businesses to file and pay taxes online as well.

IBM's Enterprise Java Service Practice personnel worked with state staff to design and implement the initial application and validate the proposed "One Stop" architecture. IBM's payment server was chosen as the vehicle the state will use for accepting registration and tax payments over the Internet.