Just before the stack trace, there is a log reporting some semantic messages that illustrates the
program evolution in time. The server counterpart of our applet is reported, too (an instance of
the ServerDeploylet we will see in the following), together with its server address. This
mechanism could be refined to provide a helpful tool for offline code debugging. Developers
study the error messages fixing up the AccountApplet bugs more efficiently because of the
provided runtime deployment service. Note that we could also have provided server-side ser-
vices to our framework.
This example was quite brief, and didn't show all the power of our deployment solution. To
keep things simple, we implemented a rather coarse accounting program and an even simpler
example of runtime service. We are interested in the concepts in our extensible deployment
framework rather than providing particular services.
Deploylet Extensible Deployment Framework
In this section, we will cover the theory behind our deployment framework; in the next section,
we will discuss its implementation. Nevertheless, for concreteness and clarity, we will mention
some implementation details while covering the theory.
Our ad-hoc deployment solution builds on the Plug-In applet technology, and provides the fol-
• There is full coverage of the client application lifecycle (see note following).
• It is fully flexible and extensible, both as regards lifecycle issues and runtime services
provided to client applications.
•Provides the possibility of the control fine-tuning of a client application. For example,
first-time execution, installation, and dismissing can be tracked both on the client side
and on the server side.
When we refer to the term client application , we don't mean the network-related
client side of an application. Instead, we refer to a whole business application (both
on the client and on the server) that uses our deployment framework. So, such an
application is a client of our class framework. In this way, the AccountApplet is a
client of our deploylet framework.
A deploylet is a kind of application container that takes charge of providing deployment ser-
vices to client executables. Thus, developers are freed to concentrate on the business aspects of
their applications, leaving deployment plumbing to the underlying deploylet package. A