Java in the management sphere, Part 2

Java enters the management arena with JMX and Java DMK

In the first part of this series, I introduced the first layer of contextual groundwork for the union between Java and management -- defining the management space, acknowledging its history and legacy, and setting the stage for Java's entrance into it. This month, I'll proffer the next layer with a look at Java's history, and then explain how Sun pioneered its Java management efforts with two technologies -- JMAPI and Java DMK -- and ultimately developed Java Management Extensions. If you're a regular JavaWorld reader, you probably know enough about Java's history, so I will merely provide a brief account as a preface. (For an in-depth historical account, see "Java Technology: An Early History" by Jon Byous in Resources.)

The history of Java

Java, originally called Oak, was developed by James Gosling, Patrick Naughton, and Mike Sheridan as part of Sun's Green Project, which began in December 1990. Chartered to explore the next wave of computing, the group quickly came to the conclusion that the convergence of digitally controlled consumer devices and computers would be one wave for Sun to catch.

Using Oak, the processor-independent language developed by Gosling, the group designed and built a SPARC-based, handheld wireless PDA, known as the *7 ("star seven"), with a five-inch color LCD and touch-screen input. The *7 was finished and demoed in September 1992 (see Figure 1). However, while the *7 was considered interesting technology, Oak became the thing of most interest. The language was able to control a wide range of entertainment platforms and appliances while displaying animation. This was the beginning of what has grown into the Java platform.

Figure 1. The original

Over the next few years, the nascent Java language grew within Sun as the Java development team grew to about 30 engineers. On May 23, 1995 John Gage, director of Sun's science office, and Marc Andreesen, cofounder and then executive vice president at Netscape, announced to a SunWorld audience that Java technology was real, official, and going to be incorporated into Netscape Navigator. At the time, the entire Java technology team numbered less than 30 people. Needless to say, in order to grow the platform to the point where it could be a viable candidate for enterprise-level application development, an enormous amount of work still needed to be done.

Pioneering Java management efforts: JMAPI

In many ways, Sun's JMAPI (Java Management API) efforts can be considered as pioneering as SNM was in its day (see Java in the Management Sphere, Part 1). The approach, to create a management framework that behaved much like traditional management infrastructures (like, for instance, those from Tivoli or Computer Associates), but entirely written in Java, was as viable as it was compelling -- at the time.

When the original Java announcement was made, Sun (specifically, Sun's SunSoft division) had a development site called the Rocky Mountain Technology Center (RMTC) located in Colorado Springs, CO, which would remain operational until 1997. At its peak, roughly 150 engineers and managers worked at the RMTC, which delivered unbundled Solaris products (that is, software products not shipped with the base Solaris operating system) including Sun's Disk Suite, Backup Co-pilot, Solstice Backup, and Admin Suite. In 1995, the RMTC's human factors engineering (HFE) group was asked to study various screen layouts for a management console, as part of a plan to engineer a next-generation system- and network-management product.

During its study, the HFE group used a number of different console prototypes that had been designed by RMTC engineers. In addition to management-specific prototype designs, the group decided to give Netscape Navigator a try. At the time, the browser had already started to take off. Adding it to the testing efforts was simply intended to provide an additional data point; it wasn't meant to emerge as the design of choice.

Much to their surprise, the HFE engineers discovered that design concepts behind the browser made for the most intuitive interface for the specific design problems associated with achieving an optimal management console. Once this was realized and digested, the idea of using Java to extend console features was obvious, since HTTP alone was not a rich enough set of protocols to provide a viable management infrastructure. At the very least, SNMP needed to come into play, since SNMP was and is the most important legacy protocol in the systems and network management application space (see Java in the Management Sphere, Part 1 for an overview of SNMP). And as soon as Java was recognized as an ideal technology for the console, the benefits of using it at every point along the way became very clear.

Bear in mind that Java was still in its early stages at that point. The Swing set had not yet appeared, and early versions of the Abstract Windowing Toolkit (AWT) did not provide all the widgets needed for a management console. In its early stages, JMAPI consisted in large part of a large class library called the Admin View Module (AVM), which extended the AWT. As more evolved versions of the Java Developers Kit (JDK) were released and new widgets introduced via the Swing set, much of the early AVM versions were deprecated.

Also pioneered in earlier versions of JMAPI was the Help subsystem. Providing a Java-based, extensible Help subsystem seemed obvious to the JMAPI team, so such a system was part of the original design. But, much like extensions to the AWT, a Help subsystem in Java was something that would have benefited any number of applications, not just those for system and network management. JavaHelp was then commissioned, thus deprecating yet more of the original JMAPI. JavaHelp software is now a full-featured, platform-independent, extensible help system that enables developers and authors to incorporate online help in applets, components, applications, operating systems, and devices.

1 2 Page 1
Page 1 of 2
How to choose a low-code development platform