All these issues can be addressed using a very basic deployment circuit (downloading an
installation package, for instance) or using some specialized deployment solution. In the latter
case, the JNLP technology is often the most common choice.
Intranet deployment is based on the same technologies as Web-based deployment, but offers
several advantages for developers:
•In an intranet environment, developers have a tighter control over the client platforms
and the connection with the deployment server. This permits the establishment of more
sophisticated deployment circuits. For example, a very common feature is the automatic
update of deployed software. This allows developers of in-house software to release their
products earlier while taking advantage of the testing done by more experienced users
for software debugging. The patched-up application modules will be newly deployed
(often in a totally transparent way to end-users) on client platforms. This can shorten
dramatically the whole software lifecycle. A concrete example of taking advantage of
such an environment is reported in Chapter 7.
•Also, the type of users and their possible platform configurations are more predictable,
allowing for a simpler deployment preparation.
In such a “privileged” environment, more sophisticated services are possible, even using less-
powerful deployment technologies. Nevertheless, the ease of installation of more sophisticated
deployment technologies can favor the use of such technologies for shortening software devel-
opment time (including its deployment). Figure 4.8 shows an example of such a situation.
In Figure 4.8, JNLP is used for providing automatic updates of an intranet application. Other
simpler technologies would have sufficed as well, but using JNLP will save developers time
and work. The amount of work developers have been “saved” could be intuitively depicted
with the W arrows in Figure 4.8 (it is as if JNLP performed that work on their behalf). Point B
is what they could achieve with the JNLP technology, and point A is the level of service they
needed in this case. Of course, they are somehow wasting much of the JNLP power. There is
nothing wrong with such a “misuse” in this case. The fact is that often such power comes asso-
ciated with some additional costs (fees or, as in this case, a possibly heavier end-user burden).
We will see several examples of deployment for this scenario (among the others, see the code
examples provided in Chapter 7). Like the Web deployment case, JNLP is a safe solution when
combined with the Plug-In technology.