• Application Management . It is an outcome of the CHECK command (that is issued for
updating the application). A simple form of application configuration could be achieved
by using properties files stored in the cache and updated by the server. There is no way
to uninstall an application.
• Application Helper Execution . Some of the various steps in this phase are provided by
our simple deployment solution.
For the AH-application support, only the on-the-run update (taking advantage of the
classloader mechanism) and resource distribution features are partially implemented. For
the latter, for example, it is not possible to decide where, on the local file system,
deployed resources are saved. Features not implemented are JRE preparation, debugging,
and other types of on-the-run management.
For the application helper management support, only the application helper configuration
feature is supported using the appHelper properties file. This file in the current imple-
mentation has been kept outside the cache directory. Hence, it cannot be modified by
server commands, making impossible to configure remotely the application helper
through its property file. Features such as application helper update and other manage-
ment are not implemented.
• Deployment Server Management . In this case, to manage the server for deployment it's
enough to administer the serverdir directory and the downloadPolicy properties file.
Other notions used in our model (such as client environment and configurations, deployment
policies, and so on) are poorly implemented in this system.
The Satellite Effect
As was mentioned in Chapter 4 (and will be pointed out in Chapter 7, “Building Your Own
Deployment Solution”), inexperienced developers often tend to underestimate the freedom of
update their solution provides when building a brand new deployment solution.
We called it the satellite effect because it is like the development and launch of a satellite into
space. Once we try to update and manipulate it, we can discover that our design was flawed,
and some unexpected parts of the system are out of reach. We cannot modify them without
launching a new satellite (that is, redistributing the whole package).
Our ApplicationHelper suffers from this weakness, too. The parts that are “out-of-reach” are
the two classes that compose the application helper. They are hard-wired, and cannot be modi-
fied by our deployment protocol. If we wanted to change them, we would have to redistribute a
newer version of the application helper, with all the costs it would have.
However, what we can modify with a relatively small effort is the way CHECK commands are
executed. Simply factoring out the check method and its related data in a new class (to be