[ Team LiB ] Previous Section Next Section

Chapter 8. Deployment Diagrams

Deployment diagrams show a system's physical layout, revealing which pieces of software run on what pieces of hardware. Deployment diagrams are really very simple; hence the short chapter.

Figure 8.1 is a simple example of a deployment diagram. The main items on the diagram are nodes connected by communication paths. A node is something that can host some software. Nodes come in two forms. A device is hardware, it may be a computer or a simpler piece of hardware connected to a system. An execution environment is software that itself hosts or contains other software, examples are an operating system or a container process.

Figure 8.1. Example deployment diagram

graphics/08fig01.gif

The nodes contain artifacts, which are the physical manifestations of software: usually, files. These files might be executables (such as .exe files, binaries, DLLs, JAR files, assemblies, or scripts), or data files, configuration files, HTML documents, and so on. Listing an artifact within a node shows that the artifact is deployed to that node in the running system.

You can show artifacts either as class boxes or by listing the name within a node. If you show them as class boxes, you can add a document icon or the «artifact» keyword. You can tag nodes or artifacts with tagged values to indicate various interesting information about the node, such as vendor, operating system, location, or anything else that takes your fancy.

Often, you'll have multiple physical nodes carrying out the same logical task. You can either show this with multiple node boxes or state the number as a tagged value. In Figure 8.1, I used the tag number deployed to indicate three physical Web servers, but there's no standard tag for this.

Artifacts are often the implementation of a component. To show this, you can use a tagged value in the artifact box.

Communication paths between nodes indicate how things communicate. You can label these paths with information about the communication protocols that are used.

    [ Team LiB ] Previous Section Next Section