Given the nature of client machines in this market, deploying Java code could become rather
easy or quite difficult. It could be easily compared to desktop applications because executables
for the consumer and embedded markets are generally much smaller and simpler. Nevertheless,
deploying such Java programs could be difficult if cross-device software editions are enforced.
An example of a difficult deployment is a word processor that is available on Java-enabled cell
phones, high-end digital assistants , and other Java platforms. This example requires a careful
software design and smart deployment techniques. The risk is to write many different versions
of the same application, each one specialized for a given device, which diminishes the advan-
tage of the Java language. The bytecode format with which they are written is the only thing
these versions would have in common.
The Server Side
The deployment of J2EE software is quite easy when compared to deploying today's J2SE or
J2ME applications. The reason stems from the high-level nature of the Enterprise Edition spec-
ification. J2EE programs run in a well-defined, standard environment and this helps the
deployment procedures. Ironically, these kinds of applications require less sophisticated
deployment techniques. J2EE programs are less mobile than other Java edition programs.
Furthermore, they typically reside on a limited number of servers, managed by expert employ-
ees who are often developers themselves.
Deployment: A Neglected Topic
Java has been designed for the Internet age; however, deploying Java executables is not so
easy. In fact, it is becoming even harder because Java is expanding into new environments such
as cell phones, smart cards, and car dashboards. The deployment issue has historically been a
neglected one. In the past, a floppy disk sufficed. Then, as the hardware grew, so did the soft-
ware, and a couple of floppies (followed by a CD-ROM) would have done the trick. Now we
are in the Internet age, and an average connection can support much more than a stack of CDs.
Simply because it is interactive, it can enable more sophisticated deployment features which
were not even thinkable before the Internet advent. In addition, consider the fact that we are
still in the infancy of this phenomenon.
All this power is still poorly used as well as poorly understood. The Internet is a relatively new
media. We constantly hear about all its wonders, but its real potential is still far from being
fully grasped by us.
Historically, deployment has been partly regarded as a usability problem, related to Graphical
User Interfaces (GUIs). GUIs came into play with special installation software intended for the