| Tytuł: | Projektowanie microservisów z użyciem DDD |
| Kod: | arch-ms-ddd |
| Kategoria: | Microservices |
| Forma: | 40% wykłady / 60% warsztaty |
| Czas trwania: | 3 dni |
| Odbiorcy: | analitycy, architekci, developerzy |
| Zapisy: |
Indywidualne zamówienie i dopasowanie dla grupy. |
| Logistyka: |
W siedzibie klienta lub w innym dowolnym miejscu. |
Warsztat jest przeznaczony dla uczestników, którzy zastanawiają się jak pogodzić zrozumienie dziedziny problemu z decyzjami technicznymi. Nieodpowiednie ustalenie granic, odpowiedzialności i hermetyzacji usług prowadzi w krótkim czasie do katastrofy całego systemu.
Mikrousługi zamiast pomagać i spełniać składane obietnice powodują dodatkowy narzut złożoności technicznej i chaos organizacyjny. Dzięki zastosowaniu strategicznych wzorców DDD oraz analizy Event Storming zorientowanej na zachowania i reguły jesteśmy w stanie racjonalnie podejść do wymienionych problemów i przygotować się na większość typowych sytuacji, które naruszają architekturę rozwiązania.
Warsztat prezentuje spójną metodykę, która integruje rzetelną analizę, sprawdzone style architektoniczne i najlepsze wzorce implementacyjne.
Wyróżniki warsztatu
- Dobre określenie granic i odpowiedzialności microservices
- Strategiczne podejście do integracji usług - ich zależności i api
- Wyłanianie serwisów poprzez zachowania i spójność procesu dzięki Event Stormingowi
Program Warsztatu eksperckiego
Program jest ramą w jakiej możemy się poruszać merytorycznie - program dla konkretnego szkolenia dedykowanego ustalamy z grupą na podstawie analizy przed-szkoleniowej.-
Wstęp do Event Stormingu- Problem jaki chcemy rozwiązać
- Stosowalność
- Metodyka
- Mechanika
- Role i odpowiedzialność
- Mechanika
- Problem jaki chcemy rozwiązać
-
Sesja strategiczna - demonstracja z udziałem uczestników- Łagodne wejście w nomenklaturę poprzez stopniowe wprowadzanie notacji
- Odkrycie procesów biznesowych
- Wstępna destylacja Bounded Context
- Określanie klasy problemu z jakim mamy do czynienia w każdym BC
- Szacowanie ryzyk
- Drivery architektoniczne
- Szacowanie ryzyk
- Odkrywanie ukrytych Bounded Context
- Conway's Law vs SOA:Single Source of Truth
- Destylacja dziedziny kontekstów tak aby były reużywalne
- Conway's Law vs SOA:Single Source of Truth
- Opracowanie strategii integracji BC
- PublishedLanguage
- OpenHost
- SharedKernel
- AnticorruptionLayer
- Customer-Supplier
- Conformist
- PublishedLanguage
- Propozycja modułów technicznych na podstawie granic BC (jeden BC to potencjalnie kilka modułów)
- Przygotowanie modułów do życia w izolacji jako microservices
- Destylacja API
- Przygotowanie modułów do życia w izolacji jako microservices
- Łagodne wejście w nomenklaturę poprzez stopniowe wprowadzanie notacji
-
Sesja taktyczna - demonstracja z udziałem uczestników lub praca własna- Kryteria wyboru kontekstów, w których będziemy stosować DDD
- Sesja ES z pogłębionym poszukiwaniem reguł domenowych
- Określanie granic agregatów - reguły i heurystyki
- Typowe problemy
- Źle obrany korzeń
- Zbyt duży agregat - brak kohezji
- Mylenie obiektów biznesowych z widokami (projekcjami)
- Źle obrany korzeń
- Typowe problemy
- Najlepsze praktyki
- Określanie granic agregatów - reguły i heurystyki
- Przykład implementacji kilku agregatów
- Testowanie
- Mapowanie relacyjno-obiektowe
- Optimistic Locking
- Testowanie
- Kryteria wyboru kontekstów, w których będziemy stosować DDD
-
Architektura systemu - przegląd podejść- Modularyzacja
- Poziomy separacji
- Techniki integracji modułów
- Poziomy separacji
- Command + Command Handler
- Ports and Adapters
- Restful
- Poziomy dojrzałości
- Rest jako protokół aplikacyjny a nie transportowy
- Poziomy dojrzałości
- Event Driven Architecture
- Architektury oparte o zdarzenia
- Events broker
- Events Bus
- Eventual Consistency
- Events broker
- Zależności czasowe pomiędzy zdarzeniami
- Sagi – orkiestracja zdarzeń
- Architektury oparte o zdarzenia
- Modularyzacja
-
Command-query Responsibility Segregation – rozszerzona architektura warstwowa- Rozwiązanie problemów z niedopasowaniem ORM do przeglądu danych w Gridach
- Zorientowanie na skalowanie i rozszerzalność
- Tworzenie dedykowanych modeli: do odczytu, do operacji biznesowych
- Rozwiązanie problemów z wydajnością
- Architektura zewnętrznego indeksu z użyciem noSQL
- Rozwiązanie problemów z wydajnością
- Rozwiązanie problemów z niedopasowaniem ORM do przeglądu danych w Gridach
Pobierz program w formacie PDF
Trenerzy
Poznaj ekspertów, którzy mogą poprowadzić Twój Warsztat.