Understanding UML Deployment Diagrams
This article explains the purpose, components, and relationships of UML deployment diagrams, illustrates a basic deployment example with client, web, application, and database nodes, and provides visual references while also promoting additional architecture resources from the author.
UML deployment diagrams (Deployment Diagram) describe the hardware nodes of a system at runtime and show how software components are deployed on those nodes.
They are used to represent nodes, the artifacts (software components) on those nodes, the communication links between nodes, and deployment specifications, helping to visualize the physical topology of distributed systems.
Purpose of UML Deployment Diagrams
Deployment diagrams display the physical architecture of hardware and software, revealing the connections between components and the distribution of processing nodes, which aids in understanding distributed system layouts.
Components of UML Deployment Diagrams
The main elements are Nodes, Artifacts, Links, and Deployment Specifications.
1. Node
A node represents a physical computing resource, such as a server or an operating system, typically shown as a three‑dimensional cube.
2. Artifact
An artifact is a product of the software development process, such as use‑case diagrams, design diagrams, source code, executables, documentation, prototypes, or user manuals.
It is depicted differently from a node to emphasize that it represents a software component rather than hardware.
3. Link (Association)
A link shows a physical connection between two nodes and can include details about the communication path or protocol.
4. Deployment Relationships
Dependency : A weak relationship where one node’s artifact calls another.
Association : Communication between nodes, often defined by protocols such as TCP/IP, FTP, HTTP, SOAP, or Web Services.
Example UML Deployment Diagram
The following is a basic deployment diagram example:
1. Client Node
The client node represents a user's browser accessing the web application.
2. Web Server Node
The web server processes HTTP requests from clients.
3. Application Server Node
The application server contains business logic and interacts with the database, often deployed as a cluster (e.g., multiple application nodes).
4. Database Server Node
The database server stores and manages the system's data.
---
At the end of the article, the author offers a free collection of over 300,000 Chinese characters of Alibaba architect advanced topics and a comprehensive set of major‑company Java interview questions and answers, inviting readers to add his WeChat for access.
Mike Chen's Internet Architecture
Over ten years of BAT architecture experience, shared generously!
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.