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

by:
Czas trwania 5 dni

Najbliższe terminy tego szkolenia

03.06 07.06 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.
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

  • 5.0/5

    Administracja bazami danych Oracle

    30-03-2024 Polecam w 100% Wojciech Dawid, Wojskowa Akademia Techniczna
  • 5.0/5

    Kompleksowe szkolenie SQL w PostgreSQL

    30-03-2024 Świetne szkolenie ! Kolejne szkolenie w JSystems i kolejny raz się nie zawiodłem. Szczerze polecam każdemu. Dziękuję ! Zbigniew Wiaterski, Cloud & Devops Solutions Zbigniew Wiaterski
  • 4.83/5

    Administracja serwerem baz danych Microsoft SQL Server + High Availability

    30-03-2024 Śmiało zapisujcie się wiedza szeroka i przede wszystkim praktyczna ;) Szymon Nowakowski, Prokuratura Okręgowa w Płocku
  • 5.0/5

    Administracja serwerem baz danych Microsoft SQL Server + High Availability

    30-03-2024 Cena, treść oraz poziom wiedzy prowadzącego Godne Polecenia Adam Klatte, Prokuratura Okręgowa w Płocku
  • 4.9/5

    Kompleksowe szkolenie SQL w PostgreSQL

    30-03-2024 Szkolenie nastawione na praktykę. Dużo wiedzy popartych ciekawymi przykładami. Rafał Gasz, Politechnika Opolska
  • 5.0/5

    Kompleksowe szkolenie SQL w PostgreSQL

    30-03-2024 Polecam szkolenia firmy JSystems. Są one przeprowadzane w sposób warsztatowy, dają możliwość stałego kontaktu z trenerem oraz sprawdzenia swojej wiedzy podczas wykonywania zadań praktycznych. Patrycja Sałata, Cosibella Sp. z o.o.
  • 5.0/5

    Administracja bazami danych Oracle

    30-03-2024 Bardzo dobre i treściwe szkolenie. Prowadzący z bardzo dużą wiedzą teoretyczną jak i praktyczną. Zdecydowanie polecam! Adam Raflewski, IBS POLAND Sp. z o.o.
  • 5.0/5

    Programowanie w języku Python

    30-03-2024 Polecam - bardzo dobra zawartość merytoryczna szkolenia. Świetnie prowadzone. Dariusz Leśniewski, Polska Spółka Gazownictwa Sp. z o.o.
  • 5.0/5

    Programowanie w języku Python

    30-03-2024 Zdecydowanie polecam prowadzącego Łukasza. Potrafi w prosty sposób wytłumaczyć nawet zawiłe tematy. Posiada bardzo duża wiedzę związaną z Pythonem. Jacek Wachowiak, Volkswagen Poznań Sp. z o.o.
  • 5.0/5

    Programowanie w języku Python

    30-03-2024 Dotychczas pytona kojarzyłem w inny sposób... coś w okolicach frameworka ZOO :) . Po szkoleniu Python nabrał kształtów i okazał się niezłą "małpą", bo coś tam zaskoczyło i zaraziło tematem. Do tematu będę wracał, choć może nie w tak szerokim zakresie jak na szkoleniu. Niemniej jednak skutecznie i produktywnie udało się przekuć zwykłą złotówkę na wiedzę, która, niezależnie od stopnia, na pewno się przyda, i to bardzo. Dzięki Łukasz! I do zobaczenia JSystems... po rządny z Was szkoleniowiec. A nawet, cytując bieżące trendy, "swój chłop!". Aleksander Wyszyński, Centrum Unijnych Projektów Transportowych
  • 4.9/5

    Administracja bazami danych Oracle

    30-03-2024 Praktyczne informacje, kompetentny prowadzący, ciekawa tematyka. Polecam. Arkadiusz Curulak, Eltel Networks Energetyka SA
  • 5.0/5

    Administracja bazami danych Oracle

    30-03-2024 Świetne przygotowanie trenera, który udzielał wyczerpujących informacji oraz przedstawiał różne scenariusze. Nie szedł tylko zgodnie z materiałem, ale pokazywał również różne sztuczki wybiegające poza materiał a które mogą być przydatne w codziennej pracy administratora baz Oracle. Artur Szymański, Gas Storage Poland sp. z o.o.
  • 5.0/5

    Administracja bazami danych Oracle

    30-03-2024 Bardzo dobre wprowadzenie do tematu baz danych Oracle. Polecam. Bogusław Henrykowski, Centrum Informatyki Resortu Finansów
  • 5.0/5

    Zaawansowana administracja PostgreSQL: High Availability, Disaster Recovery, monitoring, skalowanie

    30-03-2024 Bardzo ciekawe szkolenie. Świetne materiały, dużo przykładów praktycznych. Prowadzący, który jest praktykiem i zdecydowanie wie o czym mówi. Krzysztof Klimek, SGB BANK S.A.
  • 5.0/5

    Administracja bazami danych Oracle

    30-03-2024 Polecam. Jacek Papierzyński, Symatic Sp. z o.o.
  • 5.0/5

    Terraform i Infrastruktura jako Kod (IaC) - szkolenie kompleksowe

    29-03-2024 Polecam, trener wyczerpująco odpowiada na wszelkie pytania Mateusz Milczarczyk, ESET Polska Sp. z o.o.
  • 5.0/5

    Terraform i Infrastruktura jako Kod (IaC) - szkolenie kompleksowe

    29-03-2024 Godne uwagi, kurs przygotuje do pracy nawet bez wiedzy na temat terraforma Marcin Gach, EduBroker Sp. z o.o.
  • 5.0/5

    Terraform i Infrastruktura jako Kod (IaC) - szkolenie kompleksowe

    29-03-2024 Program szkolenia przeprowadzony bardzo profesjonalnie, widać wiedzę i doświadczenie prowadzącego. Wiedza przekazywana w jasny i klarowny sposób, nie było absolutnie "wywyższania się", z czym niestety przy szkoleniach z innymi prowadzącymi miałem doświadczenie. Interakcja prowadzącego z uczestnikami wzorowa - odpowiadanie na pytania, rozszerzanie wiedzy. Kamil Bogusławski, Rossmann SDP Sp. z o.o.
  • 5.0/5

    Spring WebFlux: Programowanie reaktywne w Javie z wykorzystaniem frameworka Spring

    28-03-2024 Bardzo dobre wejście w świat reaktywnej javy, asynchroniczności i wielowątkowości Jakub Musialik, Ornsson Solutions Sp. z o.o.
  • 5.0/5

    Tworzenie Single Page Application z wykorzystaniem Angular

    28-03-2024 Świetne szkolenie, bardzo polecam prowadzącego, duża wiedza, duże doświadczenie, świetne prowadzenie szkolenia, bardzo dobra współpraca z ludźmi Łukasz Bińkowski, Rossmann Supermarkety Drogeryjne Polska Sp. z o.o.
  • 5.0/5

    Spring WebFlux: Programowanie reaktywne w Javie z wykorzystaniem frameworka Spring

    28-03-2024 Marcin świetnie prowadzi zajęcia, chętnie udziela odpowiedzi na nurtujące nas pytania. Przemysław Czerw, Ornsson Solutions Sp. z o.o.
  • 4.81/5

    Kompleksowe szkolenie SQL w Microsoft SQL Server

    23-03-2024 Intensywne, napakowane wiedzą szkolenie. Od laika do osoby, która świadomie korzysta z zapytań w SQL w kilka dni :) Oliwia Wojtas, ORNSSON SOLUTIONS Sp. z o.o.
  • 4.9/5

    Kompleksowe szkolenie SQL w Microsoft SQL Server

    23-03-2024 Polecam szkolenie SQL - prowadzący Przemo! Dużo praktyki - pełen przekrój wiedzy. Na plus materiały po szkoleniu. Łukasz Dachowski, KRUK GRUPA VAT
  • 5.0/5

    Spring Boot - budowanie aplikacji REST

    23-03-2024 JSystems świetna robota. Merytoryczni prowadzący co ważne z żyłką pedagogiczną :) Tak trzymać. Emil Dmowski, UNIQA Towarzystwo Ubezpieczeń S.A.
  • 5.0/5

    Spring Boot - budowanie aplikacji REST

    23-03-2024 Tak powinny być prowadzone wszystkie szkolenia Marek Kuźniar, UNIQA Towarzystwo Ubezpieczeń S.A.
  • 4.9/5

    Spring Boot - budowanie aplikacji REST

    23-03-2024 jestem zadowolony Mateusz Bernaczyk, UNIQA Towarzystwo Ubezpieczeń S.A.
  • 5.0/5

    Programowanie w języku Python - poziom średnio zaawansowany

    21-03-2024 Szkolenie wysokiej jakości, bardzo dużo przydatnych treści, tematyka idealna dla osoby pracującej na stanowisku Python Developera. Przemysław Nowiński, LINK4 TU S.A
  • 5.0/5

    Analiza danych w języku Python

    21-03-2024 Takie szkolenie jest doskonałym punktem startowym dla początkujących, którzy chcą rozpocząć swoją przygodę z analizą danych przy użyciu Pythona. Szkolenie zrealizowane zgodnie z agendą. Czas i tempo bardzo dobrze dostosowane do materiału szkoleniowego. Szkolenie przeprowadzone w miłej atmosferze :) Paweł Jezierski, Kimball Electronics Poland Sp. z o.o.
  • 5.0/5

    Analiza danych w języku Python

    21-03-2024 Świetnie przeprowadzone szkolenie, luźna atmosfera, ciekawe zagadnienia, dużo praktycznych ćwiczeń. Pełen profesjonalizm prowadzącego, polecam! Karolina Bobruk, Santander Bank Polska S.A.
  • 4.9/5

    Programowanie w języku Python - poziom średnio zaawansowany

    21-03-2024 Dobrze tłumaczone! Miłosz Kocyła, Dynacon Sp. z o.o.

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.