Szkolenie Architektura oprogramowania - TERMIN GWARANTOWANY
Szkolenie Architektura oprogramowania: TERMIN GWARANTOWANY 28.06-02.07.2027
Szkolenie online na żywo z trenerem, 5 dni, w godz. 9:00-16:00. Termin gwarantowany odbędzie się na pewno, nawet przy jednym uczestniku. Prowadzi: Michał Podbielski.
Szczegóły szkolenia, program i zapisy: Szkolenie Architektura oprogramowania na jsystems.pl
Wszystkie terminy gwarantowane JSystems: lista terminów gwarantowanych
W skrócie
Decyzje architektoniczne, takie jak wybór między monolitem a mikroserwisami, sposób przechowywania danych czy protokół komunikacji, zapadają na początku projektu, a ich koszt widać dopiero po miesiącach. Po tym szkoleniu podejmujesz je na podstawie wymagań pozafunkcjonalnych i znasz zalety, problemy i przeciwwskazania każdego rozwiązania, więc swój wybór uzasadniasz przed zespołem. Przechodzisz od cech jakościowych, przez wzorce i chmurę, po dokumentowanie w UML i weryfikację architektury.
Co potrafisz po szkoleniu
- Definiujesz wymagania pozafunkcjonalne - Oczekiwanie "system ma działać szybko i bez przerw" zamieniasz w konkretne wymagania wydajności i dostępności. Ryzyka projektu nazywasz na starcie, zanim przełożą się na koszty.
- Dobierasz wzorce architektoniczne i infrastruktury - Dzielisz system na warstwy i moduły tak, żeby zmiana w jednym nie wymuszała zmian w pozostałych. Planujesz skalowanie, rozkładanie ruchu i nadmiarowość, dzięki której awaria serwera nie zatrzymuje np. systemu rezerwacji.
- Decydujesz, kiedy mikroserwisy, a kiedy monolit - Zestawiasz zalety i problemy obu podejść, np. dla systemu rozwijanego przez kilka zespołów, i wiesz, kiedy warto migrować do mikroserwisów. Uwzględniasz automatyczne budowanie i wdrażanie zmian oraz wybór między własną serwerownią a chmurą.
- Dobierasz sposób przechowywania danych - W jednym systemie używasz kilku rodzajów baz, np. zamówienia z pełną spójnością transakcji trzymasz w bazie relacyjnej, a katalog produktów w bazie NoSQL. Rozważasz rozdzielenie zapisu od odczytu i przechowywanie historii zmian jako ciągu zdarzeń.
- Projektujesz warstwę klienta i logiki biznesowej - Wybierasz, czy interfejs, np. panel dla handlowców, działa w przeglądarce, czy jako aplikacja instalowana, i gdzie przechowywać sesję użytkownika. Oceniasz, czy rozpraszać system, i dobierasz protokół komunikacji, np. REST albo gRPC.
- Integrujesz systemy, także zastane - Łączysz nowe aplikacje z tymi, które firma już ma, np. sklep internetowy z systemem magazynowym. Dane wymieniasz asynchronicznie przez brokera komunikatów, takiego jak RabbitMQ czy Kafka, więc systemy nie czekają na siebie.
- Dokumentujesz architekturę w UML - Na diagramie komponentów pokazujesz, z jakich części składa się system i co każda udostępnia innym, a na diagramie wdrożenia, na których serwerach działa. Programista, tester i menedżer mają przed sobą ten sam obraz systemu, np. przy planowaniu nowej wersji.
- Przenosisz architekturę do projektu i ją weryfikujesz - Pilnujesz, żeby model projektowy i jego fizyczna realizacja nie wychodziły poza ograniczenia przyjętej architektury. Jej przegląd prowadzisz z zespołem weryfikującym i kończysz raportem z wnioskami, np. przed rozbudową systemu.
Jak pracujemy
Poznajesz cechy jakościowe systemu i sposoby ich osiągania na poziomie logicznym, fizycznym, technologicznym i integracyjnym, z użyciem wzorców i poza nimi. Porównujesz rozwiązania rynkowe, od brokerów komunikatów po frameworki warstwy klienta. Prowadzi Michał Podbielski, architekt oprogramowania, który jako konsultant w zakresie architektury i UML rozwiązuje problemy klientów w złożonych projektach.
Dla kogo
Dla programistów, projektantów, analityków, testerów, menedżerów i architektów, którzy chcą tworzyć lub weryfikować architekturę systemów, przejąć zadania architekta albo uporządkować wiedzę. Analitykom skupionym na wymaganiach pozafunkcjonalnych polecamy też szkolenie Architektura oprogramowania dla analityków. Wymagania wstępne: brak, szkolenie jest prowadzone od podstaw.
Co zyskujesz
Umiejętność samodzielnego podejmowania i opisywania decyzji architektonicznych: od wymagań pozafunkcjonalnych, przez dobór wzorców i technologii, po diagramy UML i raport z weryfikacji. Termin gwarantowany odbywa się na pewno, nie odwołamy go z powodu małej grupy. Otrzymujesz też imienny certyfikat ukończenia szkolenia.
Zarezerwuj miejsce i projektuj architekturę tak, żeby każdą decyzję umieć uzasadnić, opisać w UML i zweryfikować.
Sprawdź, czy w Twoim przypadku dostępne jest finansowanie szkolenia ze środków BUR/KFS. Dostępność finansowania zależy od warunków danego programu oraz decyzji właściwej instytucji. Więcej informacji: https://jsystems.pl/dofinansowanie/
Prowadzący szkolenie
Program szkolenia
- Podstawy architektury oprogramowania
- Czym jest architektura i jakie są jej cele
- Kim jest architekt i jaką pełni rolę
- Zarządzanie ryzykiem
- Cechy jakościowe architektury
- Parametry systemowe - opis i problemy
- Poprawne definiowanie wymagań pozafunkcjonalnych
- Charakterystyka parametrów systemowych
- Availability, Reliability, Scalability
- Performance, Usability, Security
- Portability, Reusability, Extensibility
- Flexibility, Testability, Realizability
- Manageability, Maintainability, Serviceability
- Wpływ wymiarów systemu na parametry
- Wzorce architektoniczne
- Definicja też ważna, czyli jak uniknąć pułapek
- SDP - Stable Dependency Principle
- Wsparcie klienta cienkiego: MVC i SPA
- Podział odpowiedzialności
- Desktop, Client-Server
- 3-Tier, 4-Tier, Layers pattern
- Wzorce infrastruktury
- Skalowanie poziome i pionowe
- Modularyzacja, Load Balancing
- Redundancja Ścieżek, Cloud
- Klastry HA i Failover
- Wzorce Enterprise Application Integration
- MOM (message broker), SOA, ESB
- Microservices
- Wzmianka o szablonach: Microservices Patterns, POSA, PEAA, DDD, EIP
- Więcej o Microservices
- To SOA czy nie SOA?
- Monolit jako przeciwległa skrajność
- DevOps i CI/CD
- Są zalety, są problemy
- On Premise(s), IaaS, CaaS, PaaS, FaaS, SaaS
- Partycjonowanie w skalowaniu 3D
- Rady, przeciwwskazania i przeciwne zdania
- Polyglot Persistence
- CQRS i Event Sourcing
- ACID kontra BASE
- Kiedy migrować do microservices
- Architektura warstwy klienta i prezentacji
- Gdzie przechowywać sesję
- Rodzaje aplikacji klienckich
- Technologie klienta grubego: biblioteki, RCP
- Technologie klienta cienkiego
- Strony statyczne i dynamiczne
- Frameworki MVC
- Frameworki SPA: Angular, React, Vue
- Komunikacja zaawansowana: AJAX i WebSocket
- Architektura warstwy biznesowej
- Rozpraszać czy nie
- Wydajność komunikacji zdalnej a lokalnej
- Protokoły komunikacyjne
- CORBA jako przykład długu technologicznego
- SOAP, REST i GraphQL
- Sockets czyli protokół własny
- RMI jako przykład rozwiązania homogenicznego
- gRPC i inne rozwiązania rynkowe
- Kryteria wyboru serwera aplikacyjnego
- Architektura warstwy integracji i zasobów
- Technologie utrwalania danych
- Bazy relacyjne
- Bazy hierarchiczne
- Różne modele danych w NoSQL
- Big data i Data Lake
- Komunikacja asynchroniczna
- Bezpośrednia, ESB, MOM
- Wzorce EIP i ich wsparcie
- API kontra protokół, czyli JMS a AMQP
- Przykładowe rozwiązania: RabbitMQ, Redis, Kafka
- Różnice między implementacjami message brokera
- Legacy w teorii i praktyce
- Ostatnia deska ratunku: Screen Scraping
- Scaffolding, czyli jak to wszystko związać
- Technologie utrwalania danych
- Dokumentowanie architektury w UML
- Opisowy diagram komponentów
- Komponenty proste i złożone
- Interfejs wymagany i dostarczany
- Złączenie i zależność
- Porty
- Diagram wdrożenia
- Węzły i ich stereotypy
- Communication path - opis, liczność, kierunkowość
- Opisowy diagram komponentów
- Wgląd w zaawansowane modelowanie architektury
- Dodatkowe wymiary diagramu wdrożenia
- Instancyjny
- Niskopoziomowy
- Szablon architektoniczny
- Wdrażanie artefaktów
- Diagram pakietów
- Pakiet
- Access a import
- Uwzględnienie architektury w projekcie
- Warstwy i komponenty
- Model projektowy w UML
- Fizyczna realizacja projektu
- Projekt a ograniczenia architektury
- Weryfikacja i ocena architektury
- Korzyści weryfikacji
- Zespół weryfikujący
- Techniki, proces i raport z weryfikacji
Przeczytaj na naszym blogu
- SQL vs. NoSQL - wielkie porównanie baz danych: kiedy wybrać relacyjną, a kiedy nierelacyjną? Przewodnik Architekta
- Czysty kod (Clean Code) - 10 zasad, które odróżniają kod Seniora od Juniora
- Bezpłatny kurs Claude Code - kompletny przewodnik dla programistów (29 lekcji) - Claude Code tutorial
- Claude Code vs Codex - które narzędzie AI do programowania wybrać?
- Czym jest Codex? Kompletny przewodnik dla początkujących (2026)
Zapisz się na termin gwarantowany: Szkolenie Architektura oprogramowania | wszystkie terminy gwarantowane
Pytania: [email protected], tel. 22 299 53 69
