Architektura PHP Masterclass

Kod: Arch-
Kategoria: Architektura systemów i aplikacji
Forma: 100% interaktywny wykład
Czas trwania: 3 dni
Grupa docelowa: developerzy
architekci
Koszt:
2750 zł + 23% VAT
Miasto: Warszawa, Warsaw Plaza Hotel, ul. Łączyny 5
Data: 09.12.2019 - 11.12.2019
Zapisy do: 22.11.2019

Czym jest architektura, na jakie pytania musi sobie odpowiedzieć osoba w roli (niekoniecznie stanowisku) architekta i czym kierować się podejmując decyzje?

Jak postępować kiedy jesteśmy pewni, że popełnimy błędy architektoniczne wynikające z niepełnej wiedzy? Jak zaprojektować system, który przetrwa niejedno trzęsienie ziemi - zarówno biznesowe jak i infrastrukturalne? Na te pytania odpowiemy sobie podczas masterclass w kontekście rozproszonych systemów biznesowych.

Chcemy zebrać w jednym, maksymalnie skondensowanym i nastawionym na praktyczne techniki miejscu wiedzę, która bywa często różnie interpretowana. Nadamy nową harmonię w tych miejscach, gdzie widzimy, że potrzeba połączyć odległe dyscypliny inżynierii oprogramowania w ciąg przyczynowo skutkowy prowadzący od wielowymiarowych wymagań do działającego rozwiązania.

W ciągu trzech dni będziemy pracować nad rozwojem w PHP jednego, spójnego systemy, która składa się z problemów różnej klasy: skalowanie ze względu na ilość danych i żądań, zmiany współdzielonego stanu w czasie, złożona i konfigurowalna logika, crud, integracja, niestabilność wymagań.

Czego jeszcze mogę się spodziewać podczas szkolenia?

Przygotuj się na intensywne szkolenie, chcemy w nim przekazać dużą dawkę naszych doświadczeń. Będzie to wiedza zarówno teoretyczna, jak i praktyczna, omawiane zagadnienia będą implementowane live podczas kolejnych sesji szkolenia. Zaczynając od prostych value objectów, a kończąc na architekturze mikroserwisowej. Jeszcze przed szkoleniem uzyskasz dostęp do kodu źródłowego, aby na spokojnie zapoznać się z zaimplementowanymi w niej pierwszymi konceptami.

Wyróżniki szkolenia

  • Jeden spójny przykład łączący w sobie 4 poziomy architektury
  • Dostęp do kodu rozwijanego live podczas szkolenia
  • Problemy zaczerpnięte z realnych systemów o dużej złożoności
  • Sprawdzone receptury jak i przydatne heurystyki

Program Szkolenia

  1. DZIEŃ I: Sławomir Sobótka - Strategiczne DDD i EventStorming
    1. Wstęp do Event Stormingu
      1. Problem jaki chcemy rozwiązać
      2. Stosowalność
      3. Metodyka
        1. Mechanika
        2. Role i odpowiedzialność
    2. Sesja strategiczna - demonstracja z udziałem uczestników
      1. Łagodne wejście w nomenklaturę poprzez stopniowe wprowadzanie notacji
      2. Odkrycie procesów biznesowych
      3. Wstępna destylacja Bounded Contextów
      4. Określanie klasy problemu z jakim mamy do czynienia w każdym BC
        1. Szacowanie ryzyk
        2. Drivery architektoniczne
      5. Odkrywanie ukrytych Bounded Context
        1. Conway's Law vs SOA:Single Source of Truth
        2. Destylacja dziedziny kontekstów tak aby były reużywalne
      6. Opracowanie strategii integracji BC
        1. Published Language
        2. Open Host
        3. Shared Kernel
        4. Anticorruption Layer
        5. Customer-Supplier
        6. Conformist
      7. Propozycja modułów technicznych na podstawie granic BC (jeden BC to potencjalnie kilka modułów)
        1. Przygotowanie modułów do życia w izolacji jako microservices
        2. Destylacja API
      8. Projekt API modułów na podstawie obranej strategii integracji
    3. Sesja taktyczna - wprowadzenie na potrzeby III dnia
      1. Kryteria wyboru kontekstów, w których będziemy stosować DDD
      2. Sesja ES z pogłębionym poszukiwaniem reguł domenowych
      3. Określanie granic agregatów - reguły i heurystyki
        1. Typowe problemy
        2. Żle obrany korzeń
        3. Zbyt duży agregat - brak kohezji
        4. Mylenie obiektów biznesowych z widokami (projekcjami)
        5. Najlepsze praktyki
      4. Przykład implementacji kilku agregatów
        1. Testowanie
        2. Mapowanie relacyjno-obiektowe
        3. Optimistic Locking
    4. Tematyka miękka
      1. Modele mentalne i sortowanie informacji
      2. Nawyki kognitywne uczestników sesji - dobór stylu prowadzenia sesji do typów uczestników
      3. Zadawanie pytań z intencją lepszego zrozumienia zamiast nękania
      4. Dbanie i komfort emocjonalny nietechnicznych uczestników sesji
  2. DZIEŃ II: Mariusz Gil - Taktyczne DDD i architektura aplikacji PHP
    1. Wprowadzenie do styli architektonicznych
      1. Czym jest styl architektoniczny
      2. Podstawowe style
      3. Komponent vs moduł
    2. Taktyczne DDD
      1. Service
      2. Aggregate - najważniejszy element modelu
        1. Określanie granic
        2. Typowe błędy
        3. Testowanie
        4. Problemy ORM
        5. Konsekwencje stosowania wzorca Unit of Work
        6. Optimistic locking
        7. Eager loading
      3. Repository
      4. Entity
      5. Value Object
      6. Factory
      7. Policy
      8. Saga
    3. Porty i Adaptery
      1. Dziedzina i infrastruktura
      2. Co może być portem
      3. Persystencja jako port
    4. CQRS
      1. API modułów - dobór stylu
        1. Service
        2. Command + Handler
        3. RESTful + Hateos
        4. 4 poziomy dorosłości modelu API Richardsona
      2. Read model
      3. Projekcje
      4. Integracja modeli
  3. DZIEŃ III: Jakub Kubryński - architektura wdrożeniowa i microservices
    1. Wprowadzenie do modelu systemów rozproszonych / microservices
      1. Kryteria stosowalności
      2. Podział funkcjonalny i techniczny
      3. Granulacja modularyzacji
    2. Komunikacja
      1. Dobór odpowiednich strategii komunikacji
        1. komunikacja synchroniczna
        2. komunikacja asynchroniczna
        3. events
        4. commands
      2. Wpływ mechanizmów komunikacyjnych na dostępność platformy
        1. zastosowanie wzorca circuit breaker
        2. wykorzystanie mechanizmów fallback
      3. Taktyki testowania
        1. stosowanie testów kontraktowch
        2. zapewnienie kompatybilności wstecznej API
    3. Dostarczanie
      1. Trzy poziomy dojrzałości wdrożeń
        1. continuous integration
        2. continuous delivery
        3. continuous deployment
      2. Zarządzanie zmianami bez ograniczania dostępności
        1. praktyki defered changes
        2. stosowanie rolling update / zero downtime deployment
      3. Wprowadzenie do modelu safe-to-fail
    4. Strategie projektowe
      1. Poziomy zabezpieczania usług
        1. zabezpieczenie edge service / api gateway
        2. tokeny aplikacyjne i dostępowe
      2. Modele wdrażania interfejsu użytkownika
        1. monolith frontend
        2. micro frontends
    5. Utrzymanie
      1. Logowanie i analiza błędów w środowiskach rozproszonych
        1. systemy centralnego logowania
        2. zastosowanie mechanizmów rozproszonego śledzenia
        3. techniki korelowania logów
      2. Automatyzacja infrastruktury
      3. Metryki i zarządzanie wydajnością
        1. monitoring systemu
        2. zarządzanie wydajnością
        3. metryki biznesowe


Pobierz program w formacie PDF

Trenerzy

Poznaj ekspertów, którzy będą wspólnie poprowadzić Twoje szkolenie.

Informacje logistyczne

Warsztat w formie wykładu interaktywnego z elementami: live coding, event storming demo, praca własna nad fragmentami modelu.

Rozwijany kod aplikacji będzie udostępniony zarówno do samodzielnego uruchomienia jak i analizy kolejnych zmian w kodzie. Laptop może więc być przydatny.

Zapisz się na szkolenie

Imię i nazwisko:
Firma:
E-mail:
Nr tel:
Temat:
Wiadomość:

Jeżeli preferujesz osobisty kontakt to zawsze możesz zadzwonić.

Iwona Sobótka

Koordynatorka szkoleń


Wyrażam zgodę na przetwarzania danych osobowych zgodnie z ustawą o ochronie danych osobowych w związku z wysłaniem zapytania przez formularz kontaktowy.

Podanie danych jest dobrowolne ale niezbędne do przetworzenia zapytania. Zastałem/am poinformowany/na, że przysługuje mi prawo dostępu do swoich danych, możliwości ich poprawienia, żądania zaprzestania ich przetwarzania.

Administratorem danych osobowych jest Bottega IT Minds, ul. Jana Sawy 2, 20-632 Lublin.


Klauzula informacyjna

Materiały związane ze szkoleniem

Idea renesansowej pracowni - Bottegi zakłada nieustanną pracę jej członków i dzielenie się jej wynikami.