In UML modeling, nodes are model elements that represent the computational resources of a system, such as personal computers, sensors, printing devices, or servers. Nodes can be interconnected, by using communication paths, to describe network structures.
Nodes can contain other nodes, called nested nodes, and can also have artifacts deployed on them.
Typically, a node has a name that describes the piece of hardware that it represents.
As the following figure illustrates, a node is displayed as a three-dimensional rectangle that contains the name of the node and the node icon.
In diagrams, compartments display information about the attributes, deployed elements, nested nodes, and internal structure of the node.
When you develop software for a distributed system, you can model the different components on which the system executes by using nodes in a deployment diagram. For example, an e-commerce application might have some software that runs on the client's computer and some that runs on a public server. These different components are represented by nodes. The artifacts that each node deploys can be listed in its Deploy compartment or are shown explicitly with deployment relationships.
As the following figure illustrates, you can model the client/server system with two nodes that are connected by a communication path.
A node can be stereotyped to represent a specific type of hardware. Several stereotyped nodes are available in the Palette in the Deployment Diagram Drawer. You can also assign a stereotype to a node, and replace the cube shape with a shape that resembles the system component. For example, the following figure shows how a node is stereotyped to represent a mainframe computer.
As the following figure illustrates, you can model the same client/server system, with two stereotyped nodes that are connected by a communication path, by using shapes that represent the specific system components.
Parent topic: Deployment diagrams
Related tasks
Nesting a node inside another node
Specifying the deployment of an artifact within a node