The Internet helped catapult Java to the
forefront of programming, and Java, in turn, has had a profound effect on the
Internet. The reason for this is quite simple: Java expands the universe of
objects that can move about freely in cyberspace. In a network, two very broad
categories of objects are transmitted between the server and your personal
computer passive information and dynamic, active programs. For example, when
you read your e-mail, you are viewing passive data. Even when you download a program,
the program’s code is still only passive data until you execute it. However, a second
type of object can be transmitted to your computer a dynamic, self-executing program.
Such a program is an active agent on the client computer, yet is initiated by the
server. For example, a program might be provided by the server to display
properly the data that the server is sending. As desirable as dynamic,
networked programs are, they also present serious problems in the areas of
security and portability. Prior to Java, cyberspace was effectively closed to half the entities
that now live there. As you will see, Java addresses those concerns and, by
doing so, has opened the door to an exciting new form of program the applet.
The reach and power of Java continues to
be felt in the world of computer language development. Many of its innovative
features, constructs, and concepts have become part of the baseline for any new
language. The success of Java is simply too important to ignore. Perhaps the
most important example of Java’s influence is C#. Recently created by Microsoft
to support the .NET Framework, C# is closely related to Java. For example, both
share the same general C++-style syntax, support distributed programming, and utilize
the same object model. There are, of course, differences between Java and C#, but
the overall “look and feel” of these languages is very similar. This
“cross-pollination” from Java to C# is the strongest testimonial to date that
Java redefined the way we think about and use a computer language.
Java Applets and Applications
Java can be used to create two types of
programs applications and applets. An application is a program that runs on
your computer, under the operating system of that computer. That is, an
application created by Java is more or less like one created using C or C++.
When used to create applications, Java is not much different from any other computer
language. Rather, it is Java’s ability to create applets that makes it
important. An applet is an application designed to be transmitted over the
Internet and executed by a Java-compatible Web browser. An applet is actually a
tiny Java program, dynamically downloaded across the network, just like an
image, sound file, or video clip. The important difference is that an applet is
an intelligent program, not just an animation or media file. In other words, an
applet is a program that can react to user input and dynamically change not
just run the same animation or sound over and over.
As exciting as applets are, they would
be nothing more than wishful thinking if Java were not able to address the two
fundamental problems associated with them: security and portability. Before
continuing, let’s define what these two terms mean relative to the Internet.
Security
As you are likely aware, every time that
you download a “normal” program, you are risking a viral infection. Prior to
Java, most users did not download executable programs frequently, and those who
did scanned them for viruses prior to execution. Even so, most users still
worried about the possibility of infecting their systems with a virus. In
addition to viruses, another type of malicious program exists that must be guarded
against. This type of program can gather private information, such as credit card
numbers, bank account balances, and passwords, by searching the contents of your
computer’s local file system. Java answers both of these concerns by providing a
“firewall” between a networked application and your computer.
When you use a Java-compatible Web
browser, you can safely download Java applets without fear of viral infection
or malicious intent. Java achieves this protection by confining a Java program
to the Java execution environment and not allowing it access to other parts of
the computer. The ability to download applets with confidence that no harm will
be done and that no security will be breached is considered by many to be the
single most important aspect of Java.
Portability
As discussed earlier, many types of
computers and operating systems are in use throughout the world and many are
connected to the Internet. For programs to be dynamically downloaded to all the
various types of platforms connected to the Internet, some means of generating
portable executable code is needed. As you will soon see, the same mechanism
that helps ensure security also helps create portability. Indeed, Java’s
solution to these two problems is both elegant and efficient.
Post a Comment