
Java Glossary
Abstract Windows Toolkit (AWT): A set of classes for writing GUI programs.
Enterprise JavaBeans: A Java-specific model aimed primarily at the server that lets reusable components be easily glued together. Microsoft's transaction counterpart for EJB is the Microsoft Transaction Server.
HotSpot: A high-performance virtual machine based on JDK 1.2.
Java: A high-level, object-oriented, multithreaded programming language for which each program is both compiled and interpreted. When the program is compiled it is translated into platform-independent Java bytecode. That bytecode is interpreted each time the program executes by a Java Virtual Machine.
Java Applet: A Java program that can be included in an HTML page and that is transferred to a Java client where it is executed.
Java Archive File (JAR): A format that allows file bundling, easing the digital signing of applets and their associated resources and compression. JARs also decrease the time required for HTTP download.
JavaBeans Specification: A Java specific model aimed primarily at the client that defines APIs and lets reusable components be easily glued together.
Java Development Kit: The first JDK (1.0) shipped in early 1996; the latest (1.2) is expected to ship in November 1998. Sun has promised to preserve backward and forward compatibility among its JDKs, but the existence of multiple Java Virtual Machines based on different JDKs has been problematic on the Internet as functionality continues to improve in each iteration. Sun's solution is the Java Plug-in.
Java Interface Definition Language: This lets objects written in multiple languages interact based on CORBA's IDL. These communications occur via a CORBA-defined ORB (Object Request Broker).
Java Native Interface (JNI): This interface typically is used to tap platform-specific functionality outside the Java Virtual Machine, such as legacy applications and platform-dependent features, or to create time-critical code. Microsoft's Java implementation replaces JNI with a Windows-centric interface.
Java Plug-in (previously called Activator): Free intranet software that lets managers direct that applets or JavaBeans components on a Web page be run using Sun's Java Runtime Environment. The Plug-in lets businesses deliver updated VM functionality to browsers. It is also Sun's way to augment machines running Microsoft JVMs with Sun-pure functionality.
Java Runtime Environment: The smallest set of executables and files comprising the Java platform (the JVM, core classes and supporting files).
JavaServer Engine: Resusable Java classes for server-based applications (automates connection management, security administration).
Java Virtual Machine: A run-time environment that is generally designed for a specific operating system from which it is separated. The VM serves as interpreter for the platform-independent bytecode in a Java application.
Native Compiler: Native compilers are increasingly being touted to enhance Java's performance. This has led to portability concerns, especially on the client. Client portability can be preserved, however, so long as source code or bytecode is first distributed to the client. Native compilation on the server, where performance is most important, is less of an issue for businesses, since any business typically will know the server platform it will use and compilation can occur at the time of application install. Because few of these native compilers are available today, its not yet known whether they'll be implemented in a way that best preserves portability.
Remote Method Invocation: The key enabler for distributed apps in Sun Java. RMI, for example, can let one machine invoke the methods of a remote machine. Microsoft relies on its own method invocation in its COM (Component Object Model).
PAS (Publicly Available Specification): Sun's Java entered the ISO/IEC standards process as a vendor-provided submission, rather than being argued and drafted by traditional consensual committee structures.
Sandbox: A JVM security system that prevents Java applets from executing tasks outside the boundaries of the JVM. This prevents rogue applets from spying on files or executing programs that could harm an underlying OS.
Servlets: Software modules (without a GUI) that extend servers--for example, by taking HTML order-entry information on a Web server and using this to update an order database.
Write Once, Run Anywhere:
Sun's Java mantra. Most programmers say the reality is that they write once, debug on each platform, test and rewrite if necessary. If imperfect, however, Java is still widely considered to be the best option for writing platform-portable applications, superior to its closest C and C++ competitors.
|