fbpx

Na nowo odkryj Diagramy Architektury

Dzisiaj przedstawię Ci jeden ciekawy program, jaki odkryłem na nowo. Przez ponad rok na projekcie używałem Visio do rysowania różnych architektur i diagramów uml-podobnych.

I przyszedł czas, że zmieniłem projekt. Nie musiałem już korzystać z Visio, więc wróciłem do mojego ulubionego edytora diagramów PlantUML. I tutaj wielkie zaskoczenie.

Po pierwsze wyjaśnię Ci, czym jest PlantUML i dlaczego lubię go używać, gdy mam rozrysować jakąś architekturę (obojętnie czy klasy, bazę, AWSa czy C4).

Otóż w PlantUML nie rysujesz kwadracików, tylko piszesz kod. I tutaj masz największą zaletę tego narzędzia. Wpisuje się on w praktykę Everything-as-Code. Możemy wrzucić go do repozytorium Gita i traktować jak inny kod. Już nie będzie on własnością wszechwładnego architekta, tylko posłuży całemu zespołowi.
I tak na przykład taki kod:

@startuml
     Front -> API : Login
     API -> AuthService : Check
     AuthService --> API : ok
     API --> Front : Token #74632
@enduml

Wygeneruje nam taki oto diagram:

Przykładowy diagram (1)

Wracając do mojego zaskoczenia. W PlantUML jego twórcy wprowadzili „Standard Library”, w których można dodawać własne zestawy ikon. I dodano ikony chmur AWS, Azure i GCP. I teraz nie muszę już korzystać z żadnych edytorów graficznych, w których rysuje się piękne, kolorowe diagramy, tylko jak na prawdziwego programistę przystało, mogę zakodować diagram. Nie jest on co prawda tak piękny, jak po szlifach firmowego grafika, ale jest przede wszystkim funkcjonalny i może pracować przy nim cały zespół, a nie tylko ja.

I teraz taki kod:

@startuml
     !include
          !include
     !include
     !include
     !include

     EC2(Smadex, "Smadex Service", " ")
     Users(Users, "Users", " ")
     TraditionalServer(AdExchange, "Ad Exchange", " ")
     Mobile(Mobile, "Publisher app or web", " ")

     Users -down-> Mobile: 1. Visits
     Mobile -right-> AdExchange: 2. Start auction
     AdExchange -right-> Smadex: 3. Bid request / response
     Smadex -left-> Mobile: 4. Show Ad
     Users -right-> Smadex: 5. Impression / click / install /
          event {request id}                                            
@enduml

Wygeneruje mi taki diagram:

Jeszcze jedna super sprawa. W Visual Studio Code dostępny jest plugin, który podczas edycji kody będzie pokazywał ci zmiany, jakie zrobiłeś w kodzie. Taki preview jest naprawdę super sprawą. Po edycji, w menu generujesz wszystkie diagramy do wyznaczonego katalogu.

Czy spodobało Ci się to narzędzie? Spróbuj, a będziesz zadowolony z efektów.

Szafrański Michał
Uczę programistów efektywnego wykorzystania chmury AWS do ich pracy twórczej.