Tworzenie złożonych systemów przy wsparciu Domain-Driven-Design

by:
Czas trwania 5 dni

Najbliższe terminy tego szkolenia

26.05 30.05 Termin gwarantowany Szkolenie online Ostatnie miejsca!
Zapisz się
20.10 24.10 Termin gwarantowany Szkolenie online Ostatnie miejsca!
Zapisz się

Szkolenie
dedykowane
dla Twojego
zespołu

Cena szkolenia 3500 PLN (netto)

Standardy JSystems

  1. Wszyscy nasi trenerzy muszą być praktykami i osiągać średnią z ankiet minimum 4.75 na 5. Nie ma wśród nas trenerów-teoretyków. Każdy trener JSystems ma bogate doświadczenie komercyjne w zakresie tematów z których prowadzi szkolenia.
  2. Wszystkie szkolenia mają format warszatowy. Każde zagadnienie teoretyczne jest poparte rzędem warsztatów w ściśle określonym formacie.
  3. Terminy gwarantowane na 100%. Jeśli jakiś termin jest oznaczony jako gwarantowany, oznacza to że odbędzie się nawet jeśli część grupy wycofa się z udziału. Ryzyko ponosimy my jako organizator.
  4. Do każdego szkolenia które wymaga jakiegokolwiek oprogramowania dostarczamy skonfigurowane, gotowe hosty w chmurze. Dzięki temu uczestnik nie musi nic instalować na swoim komputerze (i bić się z blokadami korporacyjnymi). Połączenie następuje przez zdalny pulpit lub SSH - w zależności od szkolenia.
Zapisz się
Program szkolenia
  1. Wstęp - co zamierzamy osiągnąć
    • Implementacja aplikacji w formie modularnego monolitu z wykorzystaniem Domain-Driven-Design
  2. Podstawy Domain-Driven-Design
    • Domena i subdomeny
    • Prawo Conwaya
    • Cynefin framework
    • Ubiqutous language
    • Bounded context
    • Wyznaczanie granic kontekstów
    • Warstwa anti-corruption
  3. Warsztat event storming
    • Wprowadzenie
    • Big Picture
    • Poziom procesowy
    • Wyznaczanie granic agregatów
  4. Drivery architektoniczne
  5. Projekt architektury w notacji C4
    • Poziom context
    • Poziom containers
    • Poziom components
    • Poziom classes
  6. Przygotowanie środowiska pracy
    • Instalacja środowiska deweloperskiego (IDE)
    • Instalacja Javy
    • Instalacja MySQL
    • Zbudowanie projektu szkieletowego na podstawie szablonu z repozytorium
  7. Spring Boot - framework do tworzenia nowoczesnych aplikacji
    • Architektura
    • Beany i wstrzykiwanie zależności
    • Adnotacje @Repository, @Service, @Controller, @Component
    • Spring Data JPA
  8. REST
    • Zasoby
      • Metody HTTP
      • Kody odpowiedzi
      • Reprezentacje
    • Domena
      • CRUD vs domena
      • Mapowanie domeny na REST
  9. CQRS (Command Query Responsibility Segregation)
    • Stos write
    • Stos read
    • Projekt koncepcyjny
  10. Encje w ujęciu DDD
    • ORM
    • model anemiczny
    • model domenowy
  11. Agregaty domenowe
    • modelowanie zachowań
  12. Scenariusze testowe domeny za pomocą testów jednostkowych w metodologii TDD
    • Junit
    • Mocki i stuby
    • 100% pokrycia warstwy domenowej
    • Unikanie pracy z serwerem
  13. Value Objects
    • Czym są Value Objects
    • Niezmienność w Value Objects
  14. Repozytorium domenowe
  15. Fabryka obiektów domenowych
  16. Serwisy aplikacyjne stosu write
    • Testy serwisów
    • Implementacja
  17. Serwisy domenowe
    • Testy serwisów
    • Implementacja
  18. Różnorodność zachowań biznesowych
    • Strategie i polityki
    • Specyfikacje
    • Walidacja
  19. Implementacja stosu read
    • Wydajność
    • Mapowanie danych domenowych do DTO
  20. Endpointy
    • Testowanie aplikacji za pomocą Swagger
    • Testowanie aplikacji za pomocą Postman
    • Integracja z interfejsem użytkownika
  21. Podsumowanie
    • Co dalej? Zaproszenie na kurs o dzieleniu na mikroserwisy i integracji synchronicznej/asynchronicznej
    • Gdzie zdobywać dodatkowe informacje o Domain-Driven-Design

Opis szkolenia

Szkolenie odbywa się na żywo z udziałem trenera. Nie jest to forma kursu video!

O szkoleniu

Kompleksowe i ultra praktyczne szkolenie pokazujące jak wygląda cały proces budowy systemu informatycznego ze złożoną domeną biznesową, poczynając od samego procesu zrozumienia wymagań i komunikacji z biznesem, aż do finalnej, wysokojakościowej i rozszerzalnej implementacji.



Cel szkolenia

Przeprowadzenie z uczestnikami szkolenia warsztatu Event Stormingu, jako narzędzia do ustalenia wspólnego słownika pojęć domenowych pomiędzy biznesem a developerami, zrozumienia wiedzy biznesowej i przekucia jej na konkretne wymagania architektury systemu. W dalszej części nauczymy się wyrażać te wymagania w postaci konkretnych wzorców i technik warsztatu programisty w języku Java. Na koniec przyjrzymy się tematyce testowania warstwy domenowej aplikacji.



Dla kogo?

Adresatami są osoby pracujące na codzień, lub mające zamiar pracować ze złożonymi systemami informatycznymi, z nietrywialną domeną (nie CRUD). Wymagane umiejętności to znajomość języka programowania Java, przynajmniej na średnim poziomie, podstawowa znajomość SQL oraz Spring Boot.



Co usprawnisz w swojej pracy?

Poprawisz umiejętności komunikacji z biznesem w jednym wspólnym, zrozumiałym dla obu stron języku. Zaczniesz lepiej rozumieć domenę biznesową aplikacji na którą pracujesz. Wprowadzisz do swojego projektu usprawnienia, które pomogą lepiej zaimplementować, a później zarządzać tym co decyduje o sukcesie projektu i jego przewadze rynkowej.



Gdzie użyjesz nabytą wiedzę?

Szkolenie przyda Ci się podczas pracy z nowopowstającymi oraz istniejącymi aplikacjami operującymi na złożonej domenie biznesowej, czyli praktycznie przy każdym projekcie bardziej ambitnym niż przeglądarka do bazy danych.



Czego się nauczysz?

Poznasz techniki pracy z Domain Driven Design zarówno na poziomie strategicznym jak i taktycznym (building blocki DDD)



Prework - jak przygotować się do szkolenia?

  1. Przypomnienie najważniejszych aspektów programowania w języku Java
    • Podstawowe kontrukcje typu warunek, pętla itd.
    • Programowanie obiektowe w Java
    • Kolekcje
    • Stream API
  2. Przypomnienie czym jest Spring Boot jako framework do tworzenia nowoczesnych aplikacji
    • Beany/wstrzykiwanie zależności
    • 3-warstwowa architektura
    • Podstawy REST API
    • Komunikacja z bazą danych
  3. Powtórka podstawowych informacji o bazach danych i języku SQL:
    • Co to jest baza danych?
    • Co to jest tabela?
    • SELECT ... FROM ... WHERE .... ORDER BY
    • INSERT/UPDATE/DELETE

Spring BOOT

Nowoczesny framework do szybkiego tworzenia aplikacji webowych. Pozwala w łatwy sposób udostępnić aplikację za pomocą wbudowanego serwera HTTP w postaci REST API. Umożliwia szybką implementację najbardziej potrzebnych funkcjonalności aplikacji, takich jak połączenie z bazą danych czy wysyłkę emaili.

MySQL

Jedna z najbardziej popularnych, relacyjnych baz danych. Bardzo dobrze wspiera język SQL (Structure Query Language). Jest wykorzystywana zarówno w małych jak i dużych projektach. Cechuje się wysoką niezawodnością i szybkością działania.

Domain Driven Design

Metodologia wytwarzania oprogramowania w oparciu o nacisk na jak najlepsze odzwierciedlenie rzeczywistych procesów biznesowych. Powstała jako narzędzie do skutecznego budowania aplikacji posiadających złożoną domenę biznesową. Wykorzystanie DDD ma zapewnić długofalową utrzymywalność projektu na wysokim poziomie, szybkie dostosowanie do zmieniających się warunków biznesu oraz zapobieganie rozkładowi takiego systemu w przyszłości.



Prowadzący szkolenie:
Marcin Nowak



Architekt oprogramowania i lider techniczny z 11-letnim doświadczeniem w programowaniu w technologii Java i tworzeniu systemów klasy Enterprise. Posiada wieloletnie doświadczenie w pracy z systemami zarówno legacy jaki i greenfield, posiadającymi bardzo złożoną i trudną w zrozumieniu domenę biznesową (life science, farmacja, procesy produkcji, energetyka zawodowa). Wielki entuzjasta Domain Driven Design, architektury zdarzeniowej (EDA) oraz mikroserwisowej. Zwolennik dzielenia się wiedzą (https://appsynergy.pl) i przekazywania jej w jak najprostszy sposób, najlepiej na przykładach zaczerpniętych z prawdziwych projektów. Widział pracę z obu stron projektu (biznes i developerzy), więc bardzo dobrze rozumie potrzebę grania obu ekip do jednej bramki. Prywatnie szczęśliwy mąż i ojciec dwójki synów.


Stanowisko robocze


Do tego szkolenia każdy uczestnik otrzymuje dostęp do indywidualnej wirtualnej maszyny w chmurze. Ma ona zainstalowane i skonfigurowane wszystko co potrzebne do realizacji szkolenia. Maszyna będzie dostępna przez cały okres szkolenia.
Terminy gwarantowane

Gdy na jakiś termin zgłosi się minimalna liczba osób, termin oznaczamy jako gwarantowany.

Jeśli jakiś termin oznaczony jest jako gwarantowany to oznacza to, że na 100% się odbędzie we wskazanym czasie i miejscu.

Nawet gdyby część takiej grupy zrezygnowała lub przeniosła się na inny termin, raz ustalony termin gwarantowany takim pozostaje. Ewentualne ryzyko ponosimy my jako organizator.

Przejdź do terminów tego szkolenia

Szkolenia online Szkolenia online odbywają się na żywo z udziałem trenera. Uczestniczy łączą się na szkolenie za pomocą platfomy ZOOM. Informacje o wymaganym niezbędnym oprogramowaniu oraz informacje organizacyjne uczestnicy otrzymują na 7 dni przed datą rozpoczęcia szkolenia.
Inne szkolenia tej kategorii Sprawdź pozostałe    szkolenia Architektura oprogramowania!

Sprawdź, co mówią o nas ci, którzy nam zaufali

  • 4.81/5

    Architektura oprogramowania

    29-03-2025 Ogrom wiedzy przekazany w przystępny sposób. Bardzo dużo poruszanych tematów. Otwiera głowę niezależnie od dziedziny w IT. Wojciech Bonicki, NASK S.A.
  • 5.0/5

    Architektura oprogramowania

    01-02-2025 Dużo wiedzy w przystępnej formie - polecam. Jarosław Słabik, DMT Software House Sp. z o.o.
  • 5.0/5

    Architektura oprogramowania

    01-02-2025 Świetne zaangażowanie i energia prowadzącego. Wysoki poziom i tempo utrzymane przez całe szkolenie. Miłosz Kinel, Asseco Poland SA
  • 5.0/5

    Architektura oprogramowania

    14-12-2024 Szkolenie dobrze przemyślane, widać ciąg myślowy dzięki czemu łatwo powiązać kolejne elementy przedstawiane w szkoleniu. Otwartość na dyskusje i rozwijanie tematów, które nie są ujęte na slajdach. Polecam :) Mariusz Wyszomierski, Centralny Ośrodek Informatyki
  • 5.0/5

    Architektura oprogramowania

    14-12-2024 Bardzo dobre wprowadzenie, podsumowanie i uzupełnienie wiedzy z zakresu architektury IT (w zależności od własnego poziomu wejściowego), obejmujące zarówno mocne teoretyczne podstawy, jak i praktyczne rozwiązania, przedstawione w zrozumiały i zwyczajnie - atrakcyjny - sposób. Michał Kaczmarski, OSOBA PRYWATNA
  • 5.0/5

    Architektura oprogramowania

    14-12-2024 Mega fajne szkolenie, ogromna piguła wiedzy podana w przystępny i ciekawy sposób. Trenerowi zależy, żebyś widział i zrozumiał. :) Michał Olszak, EMPLOYER BRANDING EVENTS Ewelina Gwizdowska
  • 5.0/5

    Architektura oprogramowania

    07-12-2024 Dużo wiedzy praktycznej. Bardzo dobra atmosfera. Super wykładowca Bogdan Wilk, Narodowy Fundusz Zdrowia
  • 5.0/5

    Architektura oprogramowania

    07-12-2024 Szkolenie było przeprowadzone na najwyższym poziomie – bardzo profesjonalne i dobrze zorganizowane. Dużym atutem była ogromna ilość praktycznych informacji oraz nacisk na zastosowanie zdobytej wiedzy w rzeczywistych projektach. Poruszane zagadnienia były szczegółowo omówione, co pozwoliło na głębokie zrozumienie kluczowych tematów związanych z architekturą oprogramowania. Całość dostarczyła nie tylko solidnej dawki wiedzy teoretycznej, ale również inspiracji do wdrażania nowych rozwiązań w codziennej pracy. Polecam każdemu, kto szuka praktycznego i merytorycznego szkolenia! Piotr Zwoliński, Novomatic Technologies Poland Sp. z o.o.
  • 4.81/5

    Architektura oprogramowania

    07-12-2024 Świetne szkolenie, doskonały prowadzący! Zakres szkolenia porządkuje wiele spraw i otwiera na nowe spojrzenie na temat architektury systemów. Jan Ulatowski, Narodowy Fundusz Zdrowia
  • 4.81/5

    Architektura oprogramowania

    30-11-2024 Przekrój przez architekturę systemów. Polecam jako pierwsze szkolenie z architektury. Jarosław Pleskot, Redge Technologies Sp. z o.o.
  • 5.0/5

    Architektura oprogramowania

    26-10-2024 Całe szkolenie było przeprowadzone w sposób angażujący, Prowadzący zachęcał do dzielenia się własnymi doświadczeniami oraz wyczerpująco odpowiadał na zadawane pytania. Ciekawy sposób przedstawienia teorii, liczne przykłady oraz praktyczne ćwiczenia sprawiły, że każdy mógł wynieść coś wartościowego. Karolina Mioduszewska, Tide Software Sp. z.o.o.
  • 5.0/5

    Architektura oprogramowania

    12-10-2024 Bardzo ciekawe, merytoryczne szkolenie. Poprowadzone w ciekawy i profesjonalny sposób. Monika Zakrzewska, Benefit Systems S.A.
  • 5.0/5

    Architektura oprogramowania

    12-10-2024 Polecam szkolenie, jego program. Polecam trenera Michała Podbielskiego, pasjonata i profesjonalistę w swojej dziedzinie Maciej Boryś, Benefit Systems S.A.

Trenerzy kategorii Architektura oprogramowania

Marcin Nowak
Michał Podbielski
Zapisz się

Masz jakieś pytania? Skontaktuj się z nami!

Odpowiadamy na telefony i maile w godzinach 9:00-17:00 od poniedziałku do piątku.

Telefon 22 299 53 69
Napisz do nas

Potrzebujesz więcej informacji?

Wiadomość wysłana

Przyjęliśmy Twoją wiadomość i skontaktujemy się z Tobą w tej sprawie

Klikając OK wrócisz do formularza

Nasza strona korzysta z plików cookie. Możesz zmienić zasady ich używania lub zablokować pliki cookie w ustawieniach przeglądarki. Więcej informacji można znaleźć w Polityce prywatności. Kontynuując korzystanie ze strony, wyrażasz zgodę na używanie plików cookie.