|
Previous | Table of Contents | Next |
At the same time that FirstPerson was losing the race for interactive television, the World Wide Web was winning the bandwidth race on the Internet. There was no doubt about itthe web was big and getting bigger. In September of 1994, after realizing the potential of Oak and the World Wide Web, Naughton and Jonathan Payne finished WebRunner, later to be renamed HotJava. Soon, Arthur Van Hoff, who had joined the Sun team a year before, implemented the Java compiler in Java itself, wherein Goslings original compiler had been implemented in C. This showed that Java was a full-featured language and not merely an oversimplified toy.
On May 23, 1995, the Java environment was formally announced by Sun at SunWorld 95.
It took four years and an evolution of purpose for Java to enter the Internet mainstream. Netscape Communications, maker of the popular web browser Netscape Navigator, has incorporated Java into its software. In addition, 3D standards such as VRML may use Java for interactive behavior. With its potential in future applications such as intelligent agents, Java is almost certainly destined to be the most overreaching technology of the Internet in the next decade.
Of course, Javas infusion on the Internet is not the end of the Java mission. Sun sees Javas success on the Internet as the first step in employing Java in interactive television set-top boxes, hand-held devices, and other consumer electronics productsexactly where Java began four years ago. Its portable nature and robust design enable it to be used for cross-platform development and in stringent environments such as consumer electronics.
The Java technology is actually a group of technologies:
The Java language is meant to be object-oriented, familiar, and simple. The Java architecture provides a portable, high-performance, robust runtime environment within which the Java language can be used. In addition, the Java tools give the programmer and end user the programs they need to develop the Java code and essential classes for providing advanced, dynamic content over heterogeneous networked environments. To understand Java is to understand each of these components and how they fit in relation to all the others.
Security in Java is implemented in many ways and can be seen in three aspects of the Java architecture.
In the description of the different Java architecture features to follow, it is important to keep these goals in mind and look at the overall design of Java and how it relates to these security issues.
The Java language is familiar, being derived from C++. It uses automatic garbage collection and thread synchronizationnot a hack of procedural programs to provide object-oriented behavior. As will be discussed, Java is an evolution of, but not a direct extension of, C++. It was initially found that extending C++ would not be enough to provide the necessary development environment for distributed computing; therefore, Java is a new language in its own right. Even though it is familiar, the new features of the language add simplification to the programmers job by adding advanced features such as automatic garbage collection and thread synchronization. This means that the language has thrown away the vestiges of procedural programming in order to create true object-oriented behavior from the foundation. The Java language provides the qualities necessary for rapid, powerful programming on todays advanced systems.
The Java architecture, or the runtime environment that the language and JVM provide, is portable and architecturally neutral; high performance with its dynamic, threaded capabilities; and robust with its compile-time checking and secure interactions. Java provides an interpreted environment in which architecturally neutral code can be run across a heterogeneous network of machines. This, however, does not preclude Java from being a high-performance environment. On the contrary, Java provides near native code speed, with the added benefit of dynamic linking and threaded execution. In addition, Java provides a robust atmosphere with stringent security features and code verification. The Java architecture provides the framework for high-performance distributed computing across divergent platforms such as the Internet.
The Beta Java Development Kit (JDK) includes the Java Appletviewer, Java interpreter, and Java compiler, along with class libraries to support programming for these environments. The Java Appletviewer is used to test Java applets. Both Netscape Navigator and Microsofts Internet Explorer support Java applets, and can be used in place of the HotJava browser. The Java interpreter is the standalone runtime system for Java applications. It can be used for running platform-independent code on a variety of machines in a robust, high-performance manner. The Java compiler enables programmers to develop the machine-independent Java bytecode necessary for running under the browser and interpreter environments. Java also comes with a substantial list of class libraries for both the browser and interpreter environments, providing the programmer with a host of useful routines from the outset. The Java tools enable content developers to get under way quickly and easily by providing all the programs necessary for creating Java programs.
Previous | Table of Contents | Next |