Diagram wdrożenia

Celem niniejszego wpisu jest zaprezentowanie techniki, która wspomaga modelowanie fizycznych aspektów rozwiązań informatycznych, ze szczególnym uwzględnieniem diagramu wdrożenia w języku UML.

Diagram wdrożenia – definicja i zastosowanie

Diagram wdrożenia (ang. Deployment Diagram) służy do obrazowania konfiguracji poszczególnych węzłów fizycznych działającego systemu i zainstalowanych na nich komponentów.

Na diagramie wdrożenia prezentuje się węzły fizyczne systemu, którymi są komputery, serwery i inny sprzęt komputerowy funkcjonujący w działającym systemie, oraz związki między nimi. Sprzęt fizyczny przedstawiany na diagramie wdrożenia może obejmować:

  1. Serwery:
    • Serwery aplikacji (np. Apache Tomcat, JBoss)
    • Serwery baz danych (np. MySQL, Oracle, Microsoft SQL Server)
    • Serwery WWW (np. Apache, Nginx)
    • Serwery plików
    • Serwery poczty elektronicznej
  2. Komputery klienckie:
    • Komputery stacjonarne
    • Laptopy
    • Terminale
  3. Urządzenia mobilne:
    • Smartfony
    • Tablety
    • Urządzenia IoT (Internet of Things)
  4. Urządzenia sieciowe:
    • Routery
    • Przełączniki (switche)
    • Firewalle
    • Load balancery
  5. Urządzenia peryferyjne:
    • Drukarki
    • Skanery
    • Urządzenia wielofunkcyjne
  6. Systemy pamięci masowej:
    • Macierze dyskowe
    • Systemy NAS (Network Attached Storage)
    • Systemy SAN (Storage Area Network)
  7. Urządzenia specjalistyczne:
    • Systemy kontroli dostępu
    • Kasy fiskalne
    • Terminale płatnicze
    • Systemy monitoringu
  8. Urządzenia wbudowane:
    • Sterowniki PLC
    • Systemy SCADA
    • Urządzenia przemysłowe

Związki między tymi elementami mogą reprezentować:

  • Połączenia sieciowe (np. LAN, WAN, VPN)
  • Protokoły komunikacyjne (np. HTTP, TCP/IP, FTP)
  • Zależności funkcjonalne (np. klient-serwer, master-slave)

Diagram wdrożenia pozwala na zobrazowanie, jak różne komponenty oprogramowania są rozlokowane na fizycznych urządzeniach, co jest kluczowe dla zrozumienia architektury systemu, planowania wydajności, bezpieczeństwa oraz strategii utrzymania i rozwoju infrastruktury IT.

Diagram wdrożenia – notacja i semantyka

W ninijeszym wpisie skupię się tylko na najwazniejszych elementach wchodzących w skład diagramów wdożenia.

Węzeł

diagramy uml węzeł
Rys. 1 Węzeł

Węzeł (ang. Node) to działający fizycznie składnik systemu. Węzeł zazwyczaj ma pewne zdolności przetwarzania i pamięć. Reprezentuje zasoby obliczeniowe. Na diagramach wdrożenia węzły stanowią fizyczne byty, na których rezyduje budowany system.

Artefakt

Artefakt (ang. Artifact) to fizycznie istniejący zasób informatyczny w postaci takich bytów jak: model, plik lub tabela. Jest używany lub wytwarzany w czasie wdrażania oprogramowania. Artefakt może posiadać atrybuty i operacje i może być połączony asocjacją z innym artefaktem.

Środowisko wykonania

diagramy uml artefakt
Rys. 2 Artefakt
diagramy uml środowisko wykonania
Rys. 3 Środowisko wykonania

Środowisko wykonania (ang. Execution Environment) to element prezentujący wybrany rodzaj platformy, np. system operacyjny, silnik bazy danych i inne. Jest zazwyczaj częścią innego węzła, który modeluje sprzęt.

Urządzenie

diagramy uml urządzenie
Rys. 4 Urządzenie

Urządzenie (ang. Device) stanowi fizyczne zasoby komputerowe, na których mogą być wykonane wdrażane artefakty. Różnica pomiędzy zwykłym węzłem a urządzeniem jest nieznaczna, z naciskiem na używanie urządzenia w sytuacjach, gdy przedstawiany element jest typową maszyną – sprzętem komputerowym. Często w urządzeniu zagnieżdżone jest środowisko wykonania do specyfikowania oprogramowania.

Diagram wdrożenia – przykładowe zastosowanie

diagramy uml diagram wdrożenia struktura wezła
Rysunek 5. Diagram wdrożenia – struktura węzła

Powyższy rysunek przedstawia diagram wdrożenia systemu, który wykorzystuje maszynę wirtualną i środowiska wykonawcze. Oto szczegółowy opis:

  1. Maszyna Wirtualna:
    • Jest to najwyższy poziom diagramu, reprezentujący wirtualne środowisko, na którym zainstalowane są pozostałe komponenty.
  2. Windows Server:
    • Jest to pierwsza warstwa środowiska wykonawczego (executionEnvironment) wewnątrz maszyny wirtualnej.
    • Reprezentuje system operacyjny, na którym uruchamiane są pozostałe komponenty.
  3. MS SQL Server:
    • To druga warstwa środowiska wykonawczego, zagnieżdżona wewnątrz Windows Server.
    • Reprezentuje system zarządzania bazą danych Microsoft SQL Server.
  4. Renatal BD Schema:
    • Jest to artefakt reprezentujący schemat bazy danych, prawdopodobnie dla systemu wynajmu (rental).
    • Znajduje się wewnątrz środowiska MS SQL Server.
  5. Fizyczny model danych:
    • To kolejny artefakt, również znajdujący się wewnątrz środowiska MS SQL Server.
    • Zawiera element oznaczony jako „+ Tabela”, co sugeruje, że reprezentuje fizyczną strukturę danych w bazie.
  6. Relacja „manifest”:
    • Istnieje strzałka z opisem „«manifest»” łącząca „Renatal BD Schema” z „Fizyczny model danych”.
    • Ta relacja wskazuje, że schemat bazy danych jest manifestowany (realizowany) w fizycznym modelu danych.

Diagram ten pokazuje warstwową strukturę środowiska, gdzie maszyna wirtualna zawiera system operacyjny Windows Server, który z kolei hostuje MS SQL Server. Wewnątrz serwera SQL znajdują się artefakty reprezentujące schemat bazy danych i jej fizyczną implementację. Całość ilustruje typowe wdrożenie systemu bazodanowego w środowisku wirtualnym, z wyraźnym podziałem na warstwy logiczne i fizyczne.

Powyższy rysunke przedstawia diagram wdrożenia dla systemu rozproszonego, ilustrujący architekturę wysokiej dostępności. Oto szczegółowy opis:

diagramy uml diagram wdrożenia połaczenia fiziczne
Rys. 6 Diagram wdrożenia – połaczenia między węzłami
  1. Maszyny Wirtualne [DB]:
    • Widoczne są dwie maszyny wirtualne oznaczone jako [DB], co sugeruje, że są to serwery baz danych.
    • Umieszczenie dwóch maszyn DB wskazuje na redundancję, prawdopodobnie w celu zapewnienia wysokiej dostępności lub rozłożenia obciążenia.
  2. Maszyny Wirtualne [Serwer aplikacji]:
    • Widoczne są również dwie maszyny wirtualne oznaczone jako [Serwer aplikacji].
    • Podobnie jak w przypadku baz danych, duplikacja serwerów aplikacji sugeruje redundancję i możliwość rozłożenia obciążenia.
  3. Load balancer:
    • Pomiędzy serwerami aplikacji a klientem znajduje się element oznaczony jako „Load balancer”.
    • Jego rolą jest równoważenie obciążenia między serwerami aplikacji, co poprawia wydajność i niezawodność systemu.
  4. Laptop:
    • Po prawej stronie diagramu widoczny jest element oznaczony jako „«device» Laptop”.
    • Reprezentuje on urządzenie klienckie, z którego użytkownicy łączą się z systemem.
  5. Połączenia:
    • Widoczne są linie łączące poszczególne elementy, reprezentujące połączenia sieciowe między komponentami systemu.
    • Maszyny DB są połączone z odpowiadającymi im serwerami aplikacji.
    • Serwery aplikacji są połączone z load balancerem.
    • Load balancer jest połączony z laptopem klienta.

Ten diagram ilustruje typową architekturę systemu o wysokiej dostępności, z redundancją na poziomie baz danych i serwerów aplikacji, oraz z wykorzystaniem load balancera do optymalizacji ruchu. Taka struktura zapewnia odporność na awarie, możliwość skalowania oraz efektywne zarządzanie obciążeniem, co jest kluczowe dla systemów wymagających ciągłości działania i obsługi dużej liczby użytkowników.

Podsumowanie

Modelowanie infrastruktury, w tym wykorzystanie diagramów wdrożenia, nie jest tylko technicznym aspektem rozwoju oprogramowania. Jest to strategiczne narzędzie, które wspiera cały cykl życia systemu informatycznego, od planowania przez implementację, aż po utrzymanie i rozwój. Pozwala na podejmowanie świadomych decyzji, optymalizację zasobów i efektywne zarządzanie ryzykiem w złożonych środowiskach IT.

Pozostałe diagramy UML:

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Scroll to Top