Hailed as a giant step forward for software code reuse, Java, the objectoriented programming language launched in 1995, is just starting to creep into state and local governments as a development tool for enterpriseclass, missioncritical projects.
Hailed as a giant step forward for software code reuse, Java, the object-oriented programming language launched in 1995, is just starting to creep into state and local governments as a development tool for enterprise-class, mission-critical projects.
Still in its infancy, Java is not yet considered a mainstream application development environment, even in the commercial sector. A recent survey of corporate software developers, conducted by Computer Economics Inc., a Carlsbad, Calif.-based research firm, found that 77 percent had not included the Java language in their enterprise-class, mission-critical development projects. Meanwhile, 17 percent said they are using Java at the enterprise level and 6 percent are planning to incorporate Java in critical systems development projects in the next 12 months.
The Upside
There are several reasons why even risk-averse organizations, such as many state and local governments, would consider using Java as a development tool. Even the promise of a "write-once, run anywhere" development tool is worthy of examination, users say. And while Java is considered a "write-once, debug everywhere" development environment, it's still far easier to debug an application than to write code to support each type of client system.
The idea of replacing custom-developed systems with modular Java-based applets will be another important driver, experts say. Applets are mini applications that perform specific tasks, but they fit together to form a cohesive whole. This capability will make deploying new applications quicker, with less need for intense user training. It also will make applications less costly to create, easier to maintain and simpler to upgrade.
"Java offers 10 times the programmer productivity over other programming languages, such as Cobol, Fortran or C++," said Marty Dunning, national sales manager for state and local governments at Sun Microsystems Inc.
Because of the browser-based interface to Java, users can work in their native environments-such as marketing, accounting, customer service or operations-and still perform new tasks. With Java-based tools, the emphasis isn't on the system but on the task, Dunning said. Working in Java also means that while one department in an organization may be responsible for maintaining specific data, anyone within the organization will have access to the data.
Sam Thompson, program manager for IBM Corp.'s Java industry solutions marketing, said state and local governments are unique in their need for Java-based development tools.
"Typically they have lots of different types of equipment, including some older equipment and software, which enables Java to be an important tool that can assist them in building new applications that still run on older platforms until they can be moved to newer systems," Thompson said.
The Drawbacks
Despite the advantages that Java has been designed to offer, it's still not a programming panacea. The lack of skilled personnel familiar with the programming language and concern about the maturity of the language have hindered its widespread use, analysts said. Market battles waged over Sun's Java vs. Microsoft Corp.'s ActiveX and general marketplace confusion of object development and reuse still plague Java's acceptance.
Also, the investment required to move into Java-based object programming is quite large, with little short-term payback. The cost of entry includes training developers, which can take up to 12 months. And that doesn't include the investment in tools and infrastructure to support object-based development, such as object class libraries, object request brokers, repositories and component libraries. There are also concerns about scaling management and maintaining production-level systems that are based on Java.
Help Is on the Way
But Sun is working to boost Java's capabilities by delivering a package called JumpStart, which is designed to eliminate some of the inconsistencies of differing Virtual Machines that exist on client PCs. Another key improvement to Java is Enterprise JavaBeans. This recently finalized specification for application programming interfaces is designed to assist developers in building infrastructure services or middleware into reusable "beans." This software would, in turn, enable developers to concentrate on developing business logic rather than coding for such services.
In fact, Java supporters say, 1998 is the year Java will become a serious tool for business and government applications. "This year Java will go beyond browser applets to full-scale server applications," said Jason Woodard, program manager for Java Technical Marketing at IBM. This is because improvements in Java make it possible for the software to be supported as a high-performance, high-demand programming model for enterprise business functions, he added.
But analysts maintain the latest Java improvements will take time to evolve. Tim Sloane, director of Internet research for Boston's Aberdeen Group, recommends that organizations consider Java for projects of limited scope in order to learn more about the software environment and to gain expertise with its capabilities.
Harris County Court System
The Harris County District Courts in Houston are doing just that. Harris County is actively testing Java development tools that will assist in World Wide Web-enabling the court system's legacy IBM 3090 mainframe environment, which runs an in-house-developed suite of justice applications created in the late 1970s.
Clay Bowman, assistant court administrator for Harris County District Courts, said judges in the 59 district courts and 14 county criminal courts now use Web browsers to access the system, which sports a graphical user interface. And certain reports are also being delivered to the judges as Web pages via a Hypertext Markup Language programming device that prints mainframe jobs as Web pages for the judges to access online. "Because of the mix of Intel [Corp.] and Apple [Computer Inc.] Macintosh clients currently in place, a development environment that enables us to write once and run on any client platform would be a huge benefit," he said.
The court system is looking to deliver transaction processing capabilities through the Java-based browser.
Bowman said the court system is still educating itself in cross-system benefits-as well as the performance drawbacks-of working with Java. There apparently is no pressure to move quickly. "We are now looking for additional help, including Java programmers to work on such projects. In the end, we may end up contracting or outsourcing some of the development of this project," Bowman said.
Despite Java's programming benefits, its runtime is slow. That's because byte codes interpreted by Java Virtual Machine run slower than applications written in C or C++. But according to some observers, significant strides are being made to reduce the performance penalty of writing code in Java. "Now it's only about twice as slow-rather than 10 times as slow-as C or C++," said Frank Hecker, lead systems engineer for Netscape Communications Corp.'s government sales group. He expects Java performance to improve to only about 20 percent slower than C or C++ in the next 12 months. "Just-in-time compilation is making a difference in performance, reducing the gap further by compiling Java code on the fly," Hecker said.
Some might say that performance is in the eye of the beholder. "We've been amazed by how quickly we can build Java-based application components," said Dewey Hartman, chief deputy circuit clerk for DuPage County Circuit Court, Wheaton, Ill. At a cost of $2.4 million, DuPage County is merging three 12- to 15-year-old complex instruction-set computing-based court case management systems into a unified new system that will become operational in September 1999.
While programmers on the year-old development project started coding in Java only last December, Hartman maintains that Java's performance is more efficient. "The Java environment is structured so that it takes fewer lines of code than in other languages to perform each programming task,'' he said.
DuPage County is working with IBM Corp. to build the new court case system, which will handle the approximately 850,000 cases conducted by the court annually. The county chose Java because it wanted a system that was adaptable to the Internet and other external justice-related entities. It also wanted a system that would make collaboration and communication with other platforms easier.
For now, observers say, the bottom line is that Java's performance deficits are becoming less of an issue for many applications where raw processing performance is not as important as the functions Java applications can bring to end users.
-- Barbara DePompa Reimers is a free-lance writer based in Germantown, Md. She can be reached at bdepompa@aol.com.
*****
Pittsburgh Police Add Java to Distribute Software and Track Complaints
The Pittsburgh Police Department leads most state and local governments in its adoption of Java for developing new applications, including a software distribution program for mobile terminals in police cars and another to track citizen complaints.
The big problem with mobile computing, according to Steve Schmitt, chief information officer for Pittsburgh, is keeping units in police cars refreshed with regular software upgrades. Before implementing a Java-based software distribution application this spring, software upgrades meant taking a vehicle out of service. "With Java we are now able to upgrade our mobile clients primarily from the server, which saves time as well as improves the productivity of our police force," Schmitt said.
Based on his research into programming languages, Schmitt decided to give Java a try. He contracted with Fairfield, N.J.-based systems integrator Paradigm4 Inc. to build the Java-based software that distributes software upgrades from a Sun Microsystems Inc. Enterprise 450 server.
Another reason Schmitt wanted Java as the programming language was to avoid being "pigeon-holed" by a single operating system. "We wanted to be able to chase hardware advances in mobile and handheld computing technologies," he said, without worrying whether the software would run on new ruggedized equipment, for example.
That's considered a key advantage of Java's Virtual Machine architecture-enabling customers to change or upgrade hardware without worrying about operating system incompatibilities, Schmitt said.
Separately, Pittsburgh is the first major U.S. city to have signed a consent decree with the federal government in response to charges of police misconduct. That decree prompted the development of a Java-based database program that tracks citizen complaints about officers.
The Early Warning System (EWS), developed by a local third party-the Carnegie Group-went into effect in April and contains complaints and investigations of misconduct dating to 1986. The application runs on an Oracle Corp. database that resides on the Sun Enterprise 450 server. A Java agent that resides in the server mines for information and monitors data in the Oracle database and other systems that feed into the EWS.
When complaints are registered in one of the systems, the Java application provides alerts to management about the officer or situation. The system takes into account factors such as whether the officer is assigned to a SWAT team, which usually has a higher percentage of arrests with force. Although the system isn't designed to make recommendations, it flags the cases managers must act upon.
While there has been some criticism of the system as a "Big Brother" type of intrusion on police activities, Schmitt said the EWS is really just another management tool. "With 1,200 officers and 365,000 cases per year, there is no way the current police chief can keep track [of] and monitor officers' behavior without the help of automation," he said.
Schmitt said Java is changing the way the police department delivers information, making that process far more interactive. In fact, these two applications are among the first of a series of applications that Pittsburgh plans to create. The city hopes to expand upon its new Java programming base by adding databases and applications that help police in such daily operations as traffic incident reporting, field reporting and photo ID downloading.
"If industry support for the Java programming language continues as it is now, we will keep it as our core development environment," Schmitt said.
- Barbara DePompa Reimers
NEXT STORY: Intellisource, RMS merge operations