In some situations, the Plug-In solution can be quite useful. The applet model simplicity,
together with the most up-to-date Java features provided by the Plug-In (see the related discus-
sion in Chapter 2, “An Abstract Model for Deployment”) make this technique perfectly suited
for some deployment scenarios. In intranet environments, in which a reliable connection is
available and users are willing (or required) to experience some little extra complexity (essen-
tially, first-time activation costs), the Plug-In solutions become very valuable. Such an environ-
ment offers the following benefits, among the others:
• Support for the latest J2SE features.
• By means of security, fine-tuning is possible to run applets that exhibit all the features of
full-fledged Java applications. These applets are particularly suited for trusted closed
environments such as corporate intranets.
• Its automatic management of all basic deployment services (download, installation, and
caching of needed resources and code, even for optional packages) makes it a very
attractive deployment solution for developers.
• Such features favor the implementations of sophisticated deployment circuits built using
the Plug-In features in an intranet environment.
As a proof of concept of what we said, we will introduce an extensible deployment framework
based on such a technology in the next section.
A Complete Deployment Solution
Although we cannot have any direct control on the client AH (the applet container, provided by
the Sun's Plug-In), we can achieve a quite sophisticated level of services building on top of the
applet model deployment services in order to enforce our deployment policies. We saw at the
beginning of this chapter that developers need to build ad-hoc Application Helpers rarely
because of the inherent “unique” nature of their application domain (otherwise, they would
resort to cheaper, more standard solutions). We will see that most deployment services can be
achieved even without the support of a fully controlled AH installed on client platforms.
Let's introduce an example of the use of our deployment solution in order to introduce it more
concretely. The internal IT development staff of a corporation releases several applications for
internal use. One of such applications is an accounting utility. Applications intended for inter-
nal use only don't need to be so formalized and carefully crafted as those available on the mar-
ket. On the other hand, the intranet facility could shorten up development times even more. We
will see an example of our proposed framework that will provide (besides standard applet
deployment services) a simple logging and debugging facility. This way, the accounting appli-
cation could be released earlier, and detected bugs will be automatically reported back to the
deployment server back to the IT developers. In this way, new enhanced releases will be avail-
able earlier to end-users (thanks to the applet's mechanism), and so on. The overall effect is a