The "factory of the future" is looking a lot like the Internet: Pockets of data creators and data users all linked together by a wire. Sounds like computer-integrated manufacturing (CIM), yes? But this time, information technologists and their suppliers may have gotten it right.

The Internet offers a backbone for low-cost, frequent communication between manufacturing enterprises and their suppliers. Secure internal networks using the same Internet technology promote communication within the enterprise, especially the factory floor itself. These "intranets" can also be made available to both supplier partners and customers through secure Web sites.

What's making this all possible is Java. "Java is the principal language that links and brings a lot of the pieces together," said Reed Hornberger, director of Manufacturing Market Development for Sun Microsystems at Sun's Open Manufacturing seminar in Boston three months ago (which is, admittedly, a veritable lifetime in computer technology). Added Mark Tolliver, vice president of Market Development for Sun Microsystems, "Java's Web-based Internet and intranet computing is what client/server was supposed to be."

Talking about Java and its relation to making things is not some vendor's pipe dream. Java's credentials are gaining acceptance by both users and application developers. According to Forrester Research, 84% of the Fortune 1000 are already working with Java, or have plans to do so within the year. In the future, small programs written in Java, "applets," will let your customers down the supply chain order products and services over the Internet. Other applets will automatically generate new manufacturing orders that will travel back through the supply chain to all concerned suppliers—and to your factory floor.

In this way, future Java-based communications will go beyond E-mail and simple requests for information. They will involve manufacturing execution, resource planning and scheduling, and supply chain management.

Listening for the "webtone"

Once upon a time, having computers as power tools was dominant. Now communications and content dominate. "It's not that the phone company was right all along, but that the underlying model from the phone industry has proven more durable than we might have realized," said Jim Herriot, Senior Java Technologist for Sun Microsystems. This model is not just about getting information. It's about getting valuable, timely information, and that information is all out "there" on the Internet.

The model for information technology has also changed. In the "first era of computing," continued Herriot, terminals were connected to mainframes. All the complexity associated with computerization was on the backend; however, users had limited compute power at their fingertips.

The second era of computing put a personal computer (PC) on every desktop. Users had a virtual mainframe at their fingertips, but the cost of ownership was high. Gartner Group and others estimate PC and related system administration costs are about $8,000 to $12,000 per year per desktop.

These two eras of computing have shown that simplicity and power on the desktop is a good idea. Take your telephone, for instance. Here's a simple device connected by a dial tone and wire to a complex system that lets you talk to anyone in the world with a similar phone. Extra features, such as call waiting and automated callback, are added to your phone from the phone company's mainframe and at your request.

Hence the third era of computing. This is where a thin-client desktop computer replaces the telephone, and where a "webtone" replaces the dial tone. Networked computers are connected together by servers. "Now there's power on my side of the webtone and complexity on the backside of the dial tone," said Herriot.

Unfortunately, the telephone model goes just so far. The twelve buttons on the telephone are simply not enough. Said Herriot, mimicking the automated voice we've all come to know and hate, "Press one for frustration." Herriot pointed out that we want our desktop computers to change personality at will. To do that requires changing software and distributing several orders of magnitude more software.

But software distribution ain't easy. The combinations of hardware and operating systems are huge. The capacity of the distribution channel—the Internet—is not infinite. And distributing code over the Internet raises security issues.

Java aims to solve those problems.

Java Explained

Developed by Sun Microsystems, Java is an interpretive programming language with its own programming environment. It's a smaller, simpler form of C++, an object-based program language. Entire applications can be broken up into smaller Java applications, called applets on the client side and servlets on the server side.

Applets and servlets run in a virtual computer called the Java platform. This platform consists of two main components. A Java Virtual Machine (JVM) sits between Java code and a computer's native operating system. JVMs translate the Java code into executables that the computer can run. Then Java Classes or a set of Java application programming interfaces provide the interface between the JVM and the applets and servlets.

JVMs can run on all derivatives of Windows, OS/2, Macintosh, and Unix machines, as well as networked computers. JVMs run on top of these operating systems either directly or within larger applications. For instance, the latest Web browsers from Microsoft and Netscape contain JVMs. These JVMs run animations and interactive applets downloaded from various Web sites. Theoretically, the same Java applets appearing on a Web page anywhere on the Internet can run on any computer running those Web browsers.

Microsoft claims that Java is essentially an Internet operating system (OS). A Java OS can exist as a minimal OS to run with a JVM. Together, Java OS and the JVMs could work on any computing device, from servers to desktops, from network computers to factory sensors, from intelligent credit cards to microprocessor-enhanced jewelry.

As an OS, Java essentially makes the computer platform irrelevant because it can run on all platforms. This is why Java is such a threat to Microsoft. However, there's one major qualifier: Java applets can run anywhere only if they are based on "100% Pure Java." According to a lawsuit initiated by Sun against Microsoft in early October, Microsoft is supposedly creating applications that are not "100% Pure Java."

In operation, Java applets contained in a server somewhere on the Internet are "squirted" across the Internet to your desktop when you click on the appropriate link on the Web page you're viewing. This software-on-demand reduces the bloatware so common in today's office suite applications.

Once in your computer, the applets run in the JVM—that computer within your computer—that came with the Web browser you use. The Java code that comes over the network will only run on that inner computer. Before this code runs, a verifier mathematically ensures against bad things from happening, such as the "worm" that brought part of the Internet to a standstill a few years ago. This helps clear some of the security issues in distributing software and accessing proprietary information over the Internet.

As an interpretive language, Java requires no compiling process. So users can change application components on-line and on-the-fly, components that can immediately be put to use. "Dynamic configurability" gives you far more time—more freedom—to make changes to your business and production processes, and the applications that monitor and execute those processes.

But what does Java do?

Java applets are being used today and more are coming. Cummins Engine Company, Inc. (Columbus, IN) needed a way to distribute service information about its engines worldwide. "Producing torques is not enough," said George Brunemann, Manager of Total System Architecture. "Now users want to get information." This information includes repair procedures, product bulletins, and assembly drawings that are contained in service manuals distributed quarterly, monthly bulletins, and release updates emailed daily. Rather than force its users to search for information in three places, Cummins put all of this information on a CD-ROM.

Now through any Java-based browser, users can access the information pertinent to the specific product being serviced. Regardless of whether the information is on the CD-ROM, an intranet, or across the Internet, Java components running on any platform manage the presentation of that information. For Cummins, Java's promise of "write once, run anywhere" is a "business necessity" according to Brunemann. "Cummins is an engine company, not a software company. For us, Java is not just a language, it's a reusability environment."

Accessing and working on information from any compute platform is critical for the operating resource management (ORM) system from Ariba Technologies (Mountain View, CA). Unlike manufacturing resource planning, financial, and human resource solutions, an ORM solution really has to go out to everybody in a company, according to Paul Touw, Ariba's Director of Business Development. Given that, Ariba's ORM is a networked application with Java applications running on thin-client workstations throughout the enterprise and Java adapters to embrace, that is integrate, existing enterprise resource planning and human resource applications, databases, messaging systems, and so on. "We have a subarchitecture that uses the network as a virtual database rather than have individual applications write to a database by itself," explained Touw.

Another vendor, Parametric Technology Corp. (PTC; Waltham, MA), is rewriting its applications in Java. PTC expects this to minimize development, software testing, and support costs. Better, Java and Netscape's JavaScript will make PTC's product modeling solutions a "dynamic content environment." "Java gives us the ability to create an application that can go out, get information, filter it, and return the pertinent information to the user, regardless of the platforms involved," said Jim Baum, PTC's Senior Vice President of Information Technology Applications.

From PTC's perspective, a Java-based client/server architecture can serve massive amounts of data in a secure fashion to large numbers of geographically dispersed users. To everyone involved, the Java-based system looks like an easy-to-use, hardware-independent platform. Asserted Baum, "That's imperative in the hardware design community because supporting electronic design automation solutions from one platform to another is extremely cumbersome for the industry. And it's proven to be a productivity loser for us, as well."

The control vendors are basically in the same boat. The Process Control Div. of Westinghouse Software Products (Pittsburgh, PA) is using a suite of Java applets for its Ovation industrial process control system. These applets show dynamic, real-time process data in web pages displayed on PCs that are on a local or wide area network, or linked through a dial-up connection. No process applications reside permanently on the PC. The only necessity is a Java-based browser on the thin-client desktop; Westinghouse's WSP WAVE, an acronym for Web Access View Enabler, does all the rest. Computer hardware costs and maintenance, as well as software development, is minimized; code is reused; platform independence is maintained; and existing applications and IT infrastructure remain usable.

These same benefits—and more—apply to Web-enabled process control. "We have half a billion dollars of installed base. Nobody is going to rip this out overnight," said Paul Bennison, Director of Market Development for Groupe Schneider (North Andover, MA). This installed base consists of instrumentation, electrical relays, and controllers, as well as computer networks and other information technologies. Now throw in client/server components, Java, browsers, and commercial technology like Ethernet. The resulting mix, explained Bennison:

Eliminates database duplication

Makes data universally accessible over a variety of OSs

Moves data closer to the consumer

Exposes data in a way that is meaningful to a browser/thin client.

"Java will enable a homogeneous view of a heterogeneous environment. We really can do what basically everybody has been trying to do," noted Bennison.

Like CIM.

Manufacturing's brave new day

Sun's Hornberger is "convinced" that the Web-based capabilities from Java are going "to further empower the worker down on the factory floor. That person will now be able to produce, publish, and access information. That's what will help us deal with the velocity of change. A lot of times we're struggling just trying to communicate to all the parties that need to see and get to information.

"Java provides architectures and technologies that will move manufacturing companies above the noise level of day-to-day change and turmoil. We can now get to information faster—deal with the real difficult problems rather than the communications and infrastructure problems."

Brewing Up Java Applications

Several software vendors are moving their manufacturing and business applications to the Java platform. Implementing these applications should let users reduce the costs in developing, deploying, and maintaining the manufacturing enterprise's information systems. Here is a partial list of independent software vendors currently developing Java-based manufacturing applications: