We can note another feature of deployment design diagrams. When we move from
one point to another vertically and the arrival point lies in the gray area of Figure
4.3, we need an in-house coding effort to implement that deployment service.
Instead, when we move horizontally , we change the deployment means, and this
impacts mostly on the client-side, as we will discuss later.
After having introduced the main concepts that will guide us through the planning of our
deployment solution, we will use them to discuss the possible alternatives.
A Deployment Method
Having introduced some useful concepts, we are ready to illustrate a methodology for taming
the Java deployment issue. It is a simple steps sequence that is intended as a first guideline that
can be adapted as needed.
We propose the following procedure for approaching the deployment design:
1. Decide which deployment services you need, among those previously defined or others.
2. Choose the wanted deployment technology. There are mainly two choices: to use a stan-
dard, ready-to-use deployment technology or to write yourself the code that implements
the wanted deployment circuit, building on top of one of the Java deployment means
3. After the deployment services and the means to provide them are chosen, the deployment
engineer will carry out the implementation of the specifications obtained in the preceding
two steps. We will see below how this step can be divided in other substeps.
Let's see some details of the proposed steps.
Choosing Deployment Services
This step is quite delicate because a wrong decision could be disastrous in a later stage. A
more powerful deployment circuit than needed could seem an unnecessary waste at first, but it
may leave room for future enhancements. On the contrary, underestimating the level of needed
deployment services could tamper future application upgrades (if any) or even imply to re-
deploy completely the AHs (i.e. the deployment circuits clients) on all the client installations.
Graphically, it amounts to drawing a horizontal line on the Deployment Design Box at the
given service level. Figure 4.6 shows the line corresponding to the On-The-Run Debugging
service (see the abstract model in Chapter 2) that we considered as an advanced deployment