Szkolenie: Quarkus framework
Quarkus to framework do tworzenia aplikacji Java, działających na tradycyjnym JVM lub jako rozwiązania natywne, przystosowane pod kątem architektury microservices oraz Kubernetes
Czas trwania szkolenia:5 dni (40h)
Kod kursu:QUARKUS
Quarkus framework
Cele szkolenia
Wprowadzenie i gruntowne poznanie możliwości frameworku
Zrozumienie idei programowania z użyciem interfejsów, wstrzykiwania zależności oraz aspektów
Poznanie najważniejszych modułów Quarkus framework
Dla kogo?
Szkolenie adresowane do programistów języka Java, chcących tworzyć skalowalne i łatwe w utrzymaniu aplikacje, z wykorzystaniem najnowszej wersji Quarkus framework
Zalety
Warsztatowy charakter zajęć (realizacja jednego, dużego projektu)
Gruntowne wprowadzenie do tematu, umożliwiające samodzielną pracę z omawianymi technologiami
Program ukierunkowany na praktyczne zdobywanie wiedzy, umożliwiającej budowanie rozwiązań opartych o architekturę mikroserwisów
Praktyka przed teorią - wszystkie szkolenia technologiczne prowadzone są w formie warsztatowej. Konieczna teoria jest wyjaśniana na przykładzie praktycznych zadań
Konkretne umiejętności - w ramach każdego szkolenia rozwijamy praktyczne umiejętności związane z daną technologią i tematyką
Nauka z praktykami - wszyscy trenerzy na co dzień pracują w projektach, gwarantuje to dostęp do eksperckiej wiedzy i praktycznego know-how
Wymagania
Umiejętność programowania w języku Java na poziomie średnio zaawansowanym
Elementarna wiedza z zakresu technologii wchodzących w skład Jakarta EE
Podstawowa znajomość SQL i relacyjnych baz danych
W cenie otrzymasz:
Materiały szkoleniowe
Certyfikat ukończenia szkolenia
W przypadku szkolenia w trybie stacjonarnym zapewnimy Ci również lunch oraz sprzęt niezbędny do nauki
Program szkolenia
Architektura mikroserwisów
Założenia, zalety, wyzwania, zastosowanie
Mikrousługi vs. monolit
Architektura na poziomie mikro i makro
Przypadki użycia
Wprowadzenie do Quarkus
Charakterystyka frameworku
Quarkus a technologie Jakarta EE
Przygotowanie środowiska deweloperskiego i tworzenie projektu
Czysta architektura jako klucz do skalowalności i reużywalności
Wstrzykiwanie zależności i separacja odpowiedzialności z użyciem CDI
Konfigurowanie projektu oraz instalowanie rozszerzeń
Dokumentacja
Warstwa dostępu do danych
Konfigurowanie połączenia do bazy danych
Integracja z JPA/Hibernate
Zarządzanie transakcjami
Warstwa utrwalania z wykorzystaniem Panache
Wykorzystanie baz NoSQL
Walidacja modelu bazodanowego z użyciem Bean Validation
Pamięć podręczna/cachowanie danych
Usługi REST
Założenia i dobre praktyki związane z projektowaniem REST API
Budowanie usług opartych o JAX-RS/RestEasy
Obsługa wyjątków
Obiekty transferowe i mapowanie między warstwami
Konfiguracja CORS
Publikowanie dokumentacji z OpenAPI
Konsumowanie usług z REST Client
Usługi sterowane zdarzeniami
Standard Reactive Streams i programowanie reaktywno-funkcyjne
Wprowadzenie do platformy Vert.x
Implementacja reaktywnych usług REST
Reaktywna warstwa dostępu do danych
Integracja z popularnymi brokerami - Kafka, JMS
Bezpieczeństwo i monitorowanie usług
Konfiguracja uwierzytelniania i autoryzacji dostępu
Zbieranie metryk oraz monitorowanie usług
Tracing
Agregacja logów
Testowanie
Tworzenie testów jednostkowych z wykorzystaniem narzędzia JUnit oraz Quarkus Tests
Tworzenie testów integracyjnych w oparciu o REST Assured
Wdrażanie aplikacji
Konfiguracja, uruchamianie i skalowanie mikroserwisów w oparciu o kontenery
Wdrażanie w środowisku zarządzanym na przykładzie Kubernetes
Budowanie natywnej wersji aplikacji