Modelowanie infrastruktury w języku UML – diagram wdrożenia w praktyce

Modele mają za zadanie pokazać rzeczywistość w sposób uproszczony, w którym uwypuklamy interesującą nasz cechę. Projektując nowe lub zmieniając istniejące oprogramowanie bardzo często modelujemy przypadki użycia, architekturę logiczną aplikacji. Budujemy modele procesów biznesowych. Tworzymy diagramy sekwencji. Coraz częściej zachodzi potrzeba by opisać to co bez czego nie byłoby na czym zainstalować oprogramowania. Jest potrzeba by opisać infrastrukturę.

Do modelowania infrastruktury można skorzystać z notacji ArchiMate. Przykład podałem w tekście: ArchiMate w praktyce a w rozwiązaniach w których korzystamy z chmury można użyć notacji, która opisałem w tekście Modelowanie AWS, Azure i Google Cloud w Enterprise Architect Modelując bardziej klasycznie można skorzystać notacji UML i diagramu wdrożenia.

Diagram wdrożenia (ang. deployment diagram) odpowiada za reprezentację fizycznej architektury rozwiązania. Diagramy wdrożenia pokazują relacje między komponentami oprogramowania a sprzętem a także relacje pomiędzy poszczególnymi elementami infrastruktury technicznej. Na diagramie wdrożenia prezentuje się węzły systemu, którymi są komputery, serwery i inny sprzęt komputerowy funkcjonujący w działającym systemie oraz związki między nimi.

Diagram wdrożenia – podstawowa notacja

Węzeł

diagram wdrożenia węzeł
Węzeł

Węzeł (ang. Node) to fizyczne urządzenie, na którym wdrożona jest aplikacja. Węzeł zazwyczaj zawiera komponenty i inne wykonywalne fragmenty kodu. Typowymi węzłami na diagramach wdrożenia są klienckie stacje robocze, serwery aplikacji, komputery mainframe, routery i serwery terminalowe, maszyny wirtualne oraz wszystkie inne elementy infrastruktury mające zdolność do przetwarzania danych.

Urządzenie

diagram wdrożenia urządzenie
Urządzenie

Urządzenie to fizyczny zasób – maszyna, który ma możliwość przetwarzania. Urządzenie jest węzłem ze stereotypem <<Device>>. Różnica pomiędzy zwykłym węzłem a urządzeniem jest nieznaczna z naciskiem na używanie urządzenia w sytuacjach, w których przedstawiany element jest typową maszyną – sprzętem komputerowym. Na diagramie wdrożenia mogą to być mogą być „serwer aplikacji”, „stacja robocza klienta”, „telefon komórkowy” lub  „urządzenie wbudowane”.

Środowisko wykonania

diagram wdrożenia środowisko wykonawcze
Środowisko wykonania

Środowisko wykonania (wykonawcze) (ang. Execution Environment) to węzeł, który oferuje środowisko dla określonych typów komponentów, które są na nim wdrożone w postaci wykonywalnych artefaktów.

W modelowaniu UML środowisko wykonawcze jest rodzajem węzła, który reprezentuje konkretną platformę wykonawczą, taką jak system operacyjny lub system zarządzania bazą danych. Możesz użyć środowisk wykonawczych do opisania kontekstu, w którym odbywa się wykonanie modelu. Przykłady węzłów wykonania to środowisko bazy danych, system operacyjny, serwer aplikacji.

Artefakt

diagram wdrozenia artefakt
Artefakt

Artefakt na diagramach wdrożenia reprezentują jednostki fizyczne w systemie oprogramowania. Artefakty reprezentują fizyczne jednostki implementacyjne, takie jak pliki wykonywalne, biblioteki, komponenty oprogramowania, dokumenty i schematy bazy danych.

Diagram wdrożenia – zastosowania

Modelując infrastrukturę za pomocą diagramu wdrożenia tworzę, w zależności od potrzeb, trzy widoki. Widok struktury wewnętrznej infrastruktury, widok instalacji komponentów i widok połączeń sieciowych. Dość często w modelując infrastrukturę korzystam z diagramu wdrożenia, który przedstawia obiekty. W repozytorium definiuje elementy składowe np.: maszyny wirtualne itp, którym przypisuje atrybuty. Diagram wdrożenia zawiera obiekty – konkretne wystąpienia, wcześniej zdefiniowanych elementów.

diagram wdrozenia bazowe elementy
Bazowe elementy diagramu wdrożenia

Diagram wdrożenia – widok struktury wewnętrznej infrastruktury

diagram wdrozenia wewnetrzna struktura
Diagram wdrożenia – widok struktury wewnętrznej

Diagram wdrożenia – widok struktury wewnętrznej infrastruktury to widok, który pozwala pokazać elementy składowe infrastruktury. Skupiam się tutaj na logicznym powiązaniu poszczególnych elementów. Do modelowania używam, trochę naciągając notację UML, relację agregacji albo kompozycji.

Diagram wdrożenia – widok instalacji komponentów

diagram wdrożenia widok instalacja komponentów
Diagram wdrożenia – widok instalacji komponentów

Widokiem tym prezentuję, w jaki sposób, gdzie są zainstalowane poszczególne komponenty aplikacji. Na powyższym diagramie celowo umieściłem dodatkowe elementy z poprzedniego widoku, tak by pokazać, iż te widoki mogą zostać połączone w jeden byt. Warto zauważyć, że aplikacja (element komponent) na tym diagramie jest przedstawiony także jako dwie instancje. Dzięki temu zabiegowi można zaprezentować różne implementacje tej samej aplikacji. Dodatkowym połączeniem, które wykonuje jest relacja realizacji łącząca komponent z jego wystąpieniem. Pomaga to w raportowaniu. Do mapowania aplikacji z elementami infrastruktury wykorzystuję relację deployment. Mapując wystąpienia aplikacji warto jest zmapować je z elementami będącymi na niskim poziomie abstrakcji. Dzięki temu jednoznacznie zostaną wskazane elementy, które są wymagane przez aplikację.

Diagram wdrożenia – Widok połączeń sieciowych

diagram wdrozenia polaczenia sieciowe
Diagram wdrożenia – Widok połączeń sieciowych

Widok połączeń sieciowych to diagram, na którym wcześniej zdefiniowane elementy są połączone siecią. Dość często na tych diagramach wstępują takie elementy jak switch, router, load balancer i inne elementy zapewniające łączność pomiędzy węzłami. Dodatkowo połączenia można uszczegółowić stereotypami, tak jak przykładowo zostało zrobione na powyższym rysunku lub opisami poszczególnych relacji.

Podsumowując diagram wdrożenia umożliwia zamodelowanie infrastruktury technicznej, na który uruchomione są aplikacje. Wykorzystanie obiektów na bazie wcześniej zdefiniowanych elementów standaryzuje ten opis. Ponadto narzędzia take jak Enterprise Architect dają pewną w swobodę w opisie relacji. Dzięki temu modele mogą lepiej odzwierciedlać złożoną rzeczywistość jaką niewątpliwie jest infrastruktura techniczna.

Podobne wpisy
Modelowanie AWS, Azure i Google Cloud w Enterprise Architect

Działanie w modelu serverless to już codzienność wielu firm. Serverless nie oznacza, że nie ma serwerów i sprzętu. To udostępnianie więcej

ArchiMate w praktyce

ArchiMate® jest otwartym i niezależnym językiem do modelowania architektury korporacyjnej. Jego głównym celem jest dostarczenie architektom korporacyjnym narzędzia pozwalającego w jednolity więcej

Przegląd modeli w Enterprise Architect

Wytwarzanie oprogramowania to proces, w którym przeglądy stanu realizacji prac są sytuacją codzienną lub prawie codzienną. Weryfikacja prac analitycznych i projektowych więcej

Diagram utrzymania w Enterprise Architect

Bardzo często myśląc o inżynierii oprogramowania myśli się o wytwarzaniu oprogramowania. A co z jego utrzymaniem, rozwojem? O tym nie więcej

Reklama
MODESTO - licencje Enterprise Architect

Zostaw komentarz

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

Przewiń do góry