4.2 Java

http://www.javasoft.com

Contrary to the execution of CGI (Common Gateway Interface) programs that run entirely on the server and are only sending back the output to the browser that posted the request, Java applets are loaded over the network and executed by the client browser (figure I.20).


Figure I.20 Program execution over the web

This approach offers obvious advantages:

Portability:
An applet can be executed on any client platform where a Java-enabled browser is available.
Performance:
Each task can be executed in its optimal environment. In particular, server and network load can be reduced by moving computation to the client.

Unfortunately, transmission of executable code over the network introduces potential risks and security leaks. The Java developers have gone to great lengths to close those gaps.

Sun not only recommends Java for extending web browsers by applets, but also positions it as the next generation application development language. Consequently, the Java development environment allows to build stand-alone Java applications.

http://www.javasoft.com/JDK-1.0/api/packages.html

The Java API provides a platform independent runtime environment for Java applets and applications, the Abstract Window Toolkit (AWT). The API contains classes for the GUI, for networking, for I/O plus a collection of utilities. The programmer accesses the API through a Java class library.