Podczas gdy Diagramy komponentów skupiają się na organizacji logicznej modułów kodu, podczas gdy Diagram wdrożenia UML mostkuje luki z rzeczywistością. Odpowiada na kluczowe pytanie: „Gdzie faktycznie znajduje się cały ten kod?”
Ten diagram jest jedynym modelem UML poświęconym środowisku uruchomieniowemu fizycznemu. Wizualizuje mapowanie artefaktów oprogramowania na cele sprzętowe, ilustrując, jak komponenty systemu są rozłożone na serwerach, bazach danych, urządzeniach mobilnych i infrastrukturze chmury. W erze obliczeń chmowych, mikroserwisów i IoT zrozumienie tej architektury fizycznej jest ważniejsze niż kiedykolwiek.

Anatomia architektury fizycznej
Głównym celem Diagramu wdrożeniajest pokazanie topologii fizycznej systemu — sprzętu (węzłów) i oprogramowania (artefaktów), które na nim działa.
1. Węzły: sprzęt i środowiska wykonawcze
Podstawowym elementem budowlanym diagramu wdrożenia jest węzeł. Węzły reprezentują zasoby obliczeniowe, na których są wdrażane artefakty w celu wykonania. Są one przedstawiane jako sześciany (prostopadłościany trójwymiarowe).
Węzły występują w dwóch głównych wersjach:
-
Węzły urządzeń: Odpowiadają zasobom fizycznym sprzętu posiadającym możliwości przetwarzania.
-
Przykłady: Serwer aplikacji, serwer bazy danych, telefon komórkowy, czujnik IoT lub balansowanie obciążenia.
-
-
Węzły środowiska wykonawczego (środowiska wykonawcze): Są to kontenery oparte na oprogramowaniu, które działają w węźle urządzenia i hostują określone typy artefaktów. Reprezentują warstwę oprogramowania, która zarządza wdrożonymi komponentami.
-
Przykłady: A Wirtualna maszyna Java (JVM), środowisko wykonawcze .NET, kontener Docker lub wystąpienie przeglądarki internetowej.
-
2. Artefakty: oprogramowanie do wdrożenia
ArtefaktArtefakt Reprezentuje konkretną fizyczną postać komponentu oprogramowania. Podczas gdy „komponent” to logiczne grupowanie klas, „artefakt” to rzeczywisty plik, który jest instalowany na serwerze.
Artefakty są zazwyczaj rysowane jako prostokąt z kluczem «artefakt» lub małym ikoną dokumentu w rogu. Często umieszcza się je wewnątrzwęzła, aby pokazać, gdzie są wdrożone.
-
Przykłady:
user-service.jar,index.html,bazadanych-schema.sql,config.xml, lubpayment-api.exe.
3. Ścieżki komunikacji: Połączenia
Węzły rzadko działają samodzielnie.Ścieżki komunikacji reprezentują połączenia fizyczne lub związki między węzłami, pokazując, jak wymieniają informacje.
Są one rysowane jako linie pełne łączące dwa węzły. Kluczowe jest to, że często są oznaczone stereotypami, które wskazują używany protokół komunikacji lub typ sieci.
-
Przykłady:
«HTTP/HTTPS»,«TCP/IP»,«JDBC»,«RMI», lub«Kolejka komunikatów».

Wizualizacja topologii
Typowy diagram wdrożenia opowiada historię struktury czasu działania systemu. Na przykład standardowa aplikacja internetowa trójwarstwowa może zostać wizualnie przedstawiona następująco:
-
Warstwa klienta: A
Urządzenie mobilne(węzeł) zawierającyAplikacja mobilna(artefakt). -
Warstwa środkowa: A
Serwer WWW(węzeł urządzenia) hostującyContener Docker(środowisko wykonania), które wewnętrznie zawieraAPI Service.jar(artefakt). -
Warstwa danych: A
Serwer bazy danych(węzeł urządzenia) hostującyPostgreSQLwystąpienie (środowisko wykonania), które zarządzaDane użytkownika(artefakt).
Połączenie tych węzłów to linie oznaczone «HTTPS» (między urządzeniem mobilnym a serwerem internetowym) oraz «JDBC» (między serwerem internetowym a bazą danych).
Dlaczego używać diagramu wdrożenia?
Diagramy wdrożeniasą niezastąpione dla inżynierów DevOps, architektów systemów i administratorów sieci.
-
Planowanie wdrożenia:Są niezawodnym mapowaniem do zarządzania wersjami, szczegółowo wskazującymi, które pliki muszą zostać przesłane na które serwery.
-
Analiza wydajności:Poprzez wizualizację rozkładu przetwarzania i połączeń sieciowych architekci mogą identyfikować potencjalne węzły zatorów (np. zbyt wiele artefaktów na jednym niskoprzeciętnym węźle lub wolne połączenia sieciowe między intensywnie komunikującymi się usługami).
-
Modelowanie bezpieczeństwa: Pomagają identyfikować ryzyka bezpieczeństwa, wyróżniając, które węzły są narażone na sieci zewnętrzne (internet publiczny) i które są izolowane za zaporami ogniowymi.
-
Projektowanie infrastruktury jako kodu (IaC):W nowoczesnym DevOps te schematy stanowią szkic koncepcyjny do tworzenia skryptów Terraform lub CloudFormation w celu przygotowania zasobów chmury.
Aby uzyskać więcej informacji na temat UML i wizualizacji wspomaganej przez AI, zobacz naszcentrum zasobów UML.
Ten post dostępny jest również w Deutsch, English, Español, فارسی, Français, Bahasa Indonesia, 日本語, Portuguese, Ру́сский, Việt Nam, 简体中文 and 繁體中文












