Szkolenia Architektura oprogramowania
Szkolenia kategorii "Architektura Oprogramowania".
Co wyróżnia szkolenia w JSystems?
- Szkolenia na wysokim poziomie
- Instruktorzy to praktycy z wieloletnim doświadczeniem
- Znaczna część szkolenia to warsztaty
- Gwarantowane terminy
- Dużo ćwiczeń
- Przystępne ceny
Terminy gwarantowane
3 terminy gwarantowane?
Standardy JSystems
- 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.
- Wszystkie szkolenia mają format warszatowy. Każde zagadnienie teoretyczne jest poparte rzędem warsztatów w ściśle określonym formacie.
- 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.
- 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.
Architektura oprogramowania - dla architektów, analityków etc.
O szkoleniu w skrócie
Na szkoleniu zdobędziesz wiedzę i umiejętności niezbędne do tworzenia czy weryfikacji architektury systemów informatycznych. Poznasz cechy jakościowe oraz sposoby ich osiągania na poziomie logicznym, fizycznym, konfiguracyjnym, technologicznym i integracyjnym. Zarówno z użyciem wzorców jak i poza nimi. Poprzez zarządzanie ryzykiem, rozpatrywanie wad i zalet dobieranych rozwiązań nauczysz się podejmowania decyzji oraz ich opisu na diagramach UML. Duży nacisk położony jest na zrozumienie zależności architektonicznych oraz świadomość konsekwencji, aby uczestnicy radzili sobie tak z obecnie panującymi trendami, jak i lata po ukończeniu kursu. Poruszając się w realiach nieklarownych wizji systemu, ukrytych wymagań pozafunkcjonalnych i dużej ilości założeń, uczestnicy ćwiczą i budują zdolności podejmowania decyzji architektonicznych.
Dla kogo?
Szkolenie adresowane jest do osób, które chcą otworzyć przed sobą możliwość realizacji zadań architekta czy usystematyzować wiedzę. Zapraszamy też osoby pragnące podejmować lepsze decyzje architektoniczne, dzięki wyższej świadomości konsekwencji. Jeśli interesują Cię praktyczne aspekty tworzenia architektury, chcesz zdobyć/usystematyzować wiedzę i wymienić doświadczenia - szkolenie jest dla Ciebie bez względu na zajmowane stanowisko (programista, projektant, analityk, tester, manager czy architekt). Dla analityków mamy też szkolenie dedykowane.
Wymagania wstępne
Brak wymagań wstępnych. Szkolenie jest prowadzone od podstaw.
Prowadzący szkolenie: Michał Podbielski
Programista Java od 2004 roku, doświadczony w wielkich międzynarodowych projektach. Architekt oprogramowania i konsultant w zakresie architektury oprogramowania, UML i BPMN rozwiązujący problemy klientów w złożonych i zróżnicowanych projektach. Przeprowadził w sumie ponad 390 szkoleń ze świetnymi wynikami w ankietach. Prowadzi szkolenia z języka Java, architektury oprogramowania, UML i BPMN.
O szkoleniu w skrócie
Na szkoleniu nauczysz się wykrywać zagrożenia architektoniczne i przekładać je na poprawnie opisane wymagania pozafunkcjonalne, dzięki czemu założenia architektoniczne powstaną i zostaną zweryfikowane już podczas pierwszych wywiadów z klientem. Poznasz pojęcia, cele i rozwiązania architektury (parametry, wzorce, technologie, protokoły), dzięki czemu usprawnisz komunikację z architektem i zwiększysz komfort uczestnictwa w spotkaniach projektowych. W trakcie ćwiczeń przekujesz wiedzę w umiejętność ustalania szczegółów pozafunkcjonalnych w oparciu o niedookreślone wymagania klienta oraz samodzielnie wykryte zagrożenia. Celem szkolenia jest także przeszkolenie analityków, na których spadło utrzymanie zastanej architektury, aby zachowali jej założenia i nie dopuścili do degradacji systemu. Duży nacisk kładziony jest na zrozumienie zależności architektonicznych oraz świadomość konsekwencji, aby uczestnicy radzili sobie tak z obecnie panującymi trendami, jak i lata po ukończeniu kursu.
Dla kogo?
Szkolenie przeznaczone jest dla analityków biznesowych pragnących usprawnić komunikację z architektem, wykrywać i lepiej opisywać wymagania pozafunkcjonalne czy w końcu komfortowo uczestniczyć w spotkaniach, na których padają te wszystkie dziwne nazwy. Polecamy także analitykom, na których zrzucono utrzymanie istniejącej architektury.
Wymagania wstępne
Zagadnienia architektury wprowadzane są od podstaw, zatem nie ma wymagań wstępnych
Prowadzący szkolenie: Michał Podbielski
Programista Java od 2004 roku, doświadczony w wielkich międzynarodowych projektach. Architekt oprogramowania i konsultant w zakresie architektury oprogramowania, UML i BPMN rozwiązujący problemy klientów w złożonych i zróżnicowanych projektach. Przeprowadził w sumie ponad 390 szkoleń ze świetnymi wynikami w ankietach. Prowadzi szkolenia z języka Java, architektury oprogramowania, UML i BPMN.
Architektura oprogramowania - dla programistów
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?
- Przypomnienie najważniejszych aspektów programowania w języku Java
- Podstawowe kontrukcje typu warunek, pętla itd.
- Programowanie obiektowe w Java
- Kolekcje
- Stream API
- 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
- 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.
O szkoleniu
Kompleksowe szkolenie pokazujące proces budowania złożonego systemu informatycznego w architekturze rozproszonej (mikroserwisy). Zalety i wyzwania stojące podczas wykorzystania takiej architektury oraz sprawne przejście od monolitu, poprzez modularny monolit do klasycznych mikroserwisów na przykładzie prawdziwej aplikacji.
Cel szkolenia
Zrozumiesz, że mikroserwisy to nie tylko modny zwrot, przyciągający uwagę programistów w ofertach pracy, przygotujesz się na wyzwania idące za wdrożeniem architektury mikroserwisowej, a także zobaczysz jak najlepiej wykorzystywać zalety takiego podejścia. Zrozumiesz jak dobrze wyznaczać granice serwisów oraz jak zadbać o poprawną i bezawaryjną komunikację między nimi. Na koniec pochylimy się nad kwestiami bezpieczeństwa i testowania rozproszonych usług.
Dla kogo?
Adresatami są osoby pracujące na codzień, lub mające zamiar pracować ze złożonymi systemami informatycznymi w architekturze rozproszonej. 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?
Jeżeli w Twoim projekcie macie zamiar podjąć decyzję o wykorzystaniu mikroserwisów to dużym plusem będzie zdobycie umiejetności prawidłowego podzielenia obecnego monolitu, a następnie wdrożenie zdobytej na kursie wiedzy jak zrobić to najefektywniej.
Gdzie użyjesz nabytą wiedzę?
Szkolenie przyda Ci się podczas pracy z aplikacjami w architekturze rozproszonej. Pozwoli Ci wprowadzić całą gamę usprawnień do projektu, którego zdecydowanie wpłyną na jego jakość. Jeżeli dopiero zamierzasz wdrożyć podział na mikroserwisy to dzięki kursowi zrobisz to dobrze i bezpiecznie.
Czego się nauczysz?
Poznasz techniki projektowania aplikacji w architekturze mikroserwisowej oraz dzielenia na niezależne usługi istniejących aplikacji w formie monolitu. Poznasz techniki zapewnienia bezawaryjnej i bezpiecznej komunikacji pomiędzy usługami oraz wykorzystania największych zalet architektury.
Prework - jak przygotować się do szkolenia?
- Przypomnienie najważniejszych aspektów programowania w języku Java
- Podstawowe kontrukcje typu warunek, pętla itd.
- Programowanie obiektowe w Java
- Kolekcje
- Stream API
- 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
- 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.
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.
O szkoleniu
Kompleksowe szkolenie pokazujące proces budowania złożonego systemu informatycznego w architekturze rozproszonej z wykorzystaniem brokera Kafka i komunikacji w formie publish - subscribe. Przedstawienie zalety i wyzwania stojące podczas pracy z architekturą aplikacji w formie rozproszonej przy jednoczesnej komunikacji asynchronicznej.
Cel szkolenia
Poznasz najbardziej popularne obecnie narzędzie do pracy w architekturze zdarzeniowej – Kafkę. Nauczysz się ją wykorzystywać do komunikacji pomiędzy poszczególnymi modułami aplikacji. Zaimplementujemy, oparty na rzeczywistej domenie biznesowej, system informatyczny komunikujący się wyłącznie asynchronicznie przy wsparciu Spring Boot. Dowiesz się na co zwrócić szczególną uwagę przy implementacji takich rozwiązań, a także zdobędziesz umiejętności debugowania i naprawiania potencjalnych problemów.
Dla kogo?
Adresatami są osoby pracujące na codzień, lub mające zamiar pracować ze złożonymi systemami informatycznymi w architekturze rozproszonej z wykorzystaniem Kafki. 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?
Praca w architekturze rozproszonej z wykorzystaniem komunikacji asynchronicznej wymaga sporo doświadczenia i znajomości pewnego warsztatu, który pozwoli Ci szybko rozwijać, a potem utrzymywać takie systemy. Jeżeli już pracujesz z Kafką to odkryjemy przed Tobą jej wszystkie sekrety i sprawimy że wniesie ona jeszcze większą wartość dodaną do Twojego projektu.
Gdzie użyjesz nabytą wiedzę?
Szkolenie przyda Ci się podczas pracy z aplikacjami w architekturze rozproszonej. Pozwoli Ci wprowadzić całą gamę usprawnień do projektu, które zdecydowanie wpłyną na jego jakość. Jeżeli dopiero zamierzasz zbudować system w oparciu o Kafkę i komunikację asynchroniczną, to dzięki kursowi dowiesz się na co szczególnie zwrócić uwagę żeby uniknąć późniejszych problemów i wykorzystać maksymalną wartość tego narzędzia.
Czego się nauczysz?
Dogłębnie poznasz architekturę i sposób działania Kafki w integracji ze Spring Bootem jako narzędzia do implementacji złożonego systemu informatycznego. Dowiesz się jak dobrze wdrażać i testować aplikację opartą o zdarzenia. Rozważymy również kwestie późniejszego zarządzania i utrzymania takich systemów.
Prework - jak przygotować się do szkolenia?
- Przypomnienie najważniejszych aspektów programowania w języku Java
- Podstawowe kontrukcje typu warunek, pętla itd.
- Programowanie obiektowe w Java
- Kolekcje
- Stream API
- 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
- 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.
Kafka
Skalowalna i bardzo wydajna platforma streamingowa służąca do przetwarzania ogromnych ilości informacji w modelu publish-subscribe. Doskonale sprawdza się w systemach czasu rzeczywistego takich jak śledzenie aktywności użytkownika. Bardzo dobrze pozwala również wdrożyć rozproszoną architekturę aplikacji z centralnym brokerem wiadomości sterującym pracą poszczególnych usług za pomocą przekazywanych komunikatów.
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.