Bądźmy w kontakcie

Plan Szkolenia

1. Wprowadzenie do zaawansowanego Apache Camel

  • Cele kursu oraz przegląd architektury
  • Przegląd podstawowych elementów Apache Camel
  • Podsumowanie Enterprise Integration Patterns (EIP)
  • Najnowsze funkcje w najnowszych wersjach Apache Camel
  • Best practices dla projektów integracyjnych

2. Architektura i zaawansowane koncepcje Apache Camel

  • Szczegóły wewnętrzne CamelContext
  • Komponenty, endpointy, producenci i konsumenci
  • Zarządzanie cyklem życia routu
  • Szablony routu oraz konfiguracja tras
  • Wstrzykiwanie zależności (DI) z wykorzystaniem Spring Boot i CDI
  • Projektowanie modularnych aplikacji

3. Zaawansowane Enterprise Integration Patterns

  • Content-Based Router
  • Dynamic Router
  • Recipient List
  • Routing Slip
  • Splitter i Aggregator
  • Resequencer
  • Multicast i Wire Tap
  • Scatter-Gather
  • Saga Pattern
  • Idempotent Consumer
  • Claim Check
  • Circuit Breaker pattern

4. Zaawansowane techniki routingu

  • Dynamiczne rozwiązywanie endpointów
  • Routing warunkowy i zagnieżdżony
  • Zasady działania routu (Route policies)
  • Szablony routu
  • Tworzenie tras dynamicznych
  • Ponowne ładowanie tras
  • Strategie load balancingu
  • Service Call EIP

5. Transformacja danych i przetwarzanie wiadomości

  • Formaty danych (JSON, XML, CSV, YAML, Avro)
  • Marszałkowanie (marshalling) i rozmarszałkowianie (unmarshalling)
  • Integracja z Beanami
  • Processorzy i niestandardowe procesory
  • Konwertery typów danych
  • Transformacje XSLT
  • Języki JSONPath, XPath oraz Simple
  • Wsparcie dla Groovy i skryptów

6. Praca z dużymi zbiorami danych i strumieniami

  • Przetwarzanie strumieniowe
  • Buforowanie strumieni
  • Obsługa dużych plików
  • Przetwarzanie wsadowe (Batch processing)
  • Integracja z systemami plików i FTP
  • Techniki optymalizacji pamięci
  • Przetwarzanie wysokiej przepustowości wiadomości

7. Integracja asynchroniczna i rozproszona

  • Routing asynchroniczny
  • Przetwarzanie równoległe
  • Komponenty SEDA oraz VM
  • Porównanie Direct vs. Direct-VM
  • Pool'e wątków i współbieżność
  • Rozproszone przetwarzanie wiadomości
  • Uwzględnienie mechanizmu back-pressure

8. Obsługa błędów i niezawodność

  • Exception Clause
  • Dead Letter Channel
  • Domyślny ErrorHandler
  • Transaction Error Handler
  • Strategie ponownych prób (Retry strategies)
  • Zasady ponownej dostawy (Redelivery policies)
  • Transakcje kompensujące
  • Odporność na błędy w integracjach

9. Transakcje i niezawodność wiadomości

  • Transakcje lokalne i rozproszone
  • Transakcje XA
  • Dostarczenie dokładnie raz (Exactly-once delivery)
  • Implementacja idempotencji
  • Gwarantowana dostawa wiadomości
  • Zarządzanie transakcjami z wykorzystaniem Spring

10. Tuning wydajności i optymalizacja

  • wąskie gardła wydajnościowe
  • Techniki optymalizacji routingu
  • Efektywny dobór komponentów
  • Optymalizacja producentów i konsumentów
  • Strategie buforowania danych
  • Tuning pool'ów wątków
  • Rozpowszechnianie aplikacji Camel

11. Integracja Apache Camel z systemami wiadomościowymi

  • Integracja JMS
  • ActiveMQ
  • RabbitMQ
  • AMQP
  • Apache Kafka
  • MQTT
  • Kolejki wiadomości vs. strumieniowanie zdarzeń (event streaming)
  • Niezawodne wzorce dostarczania wiadomości

12. Integracja REST i usług sieciowych

  • REST DSL
  • Konsumenci i producenci REST
  • Integracja SOAP
  • Apache CXF
  • Orochestracja API REST
  • Integracja z OpenAPI
  • Wersjonowanie API

13. Integracja baz danych i źródeł danych

  • Komponent JDBC
  • Komponent SQL
  • Integracja JPA
  • Zarządzanie transakcjami
  • Polling baz danych
  • Scenariusze ETL
  • Koncepcje Change Data Capture (CDC)

14. Integracja chmurowa i mikroserwisów

  • Apache Camel z Spring Boot
  • Przegląd Camel K
  • Przegląd Camel Quarkus
  • Koncepcje wdrożenia na Kubernetes
  • Integracje konteneryzowane
  • Natywne dla chmury wzorce integracyjne

15. Bezpieczeństwo w Apache Camel

  • Autoryzacja i uwierzytelnianie
  • Konfiguracja SSL/TLS
  • Bezpieczne usługi REST
  • Zarządzanie sekretami (Secrets management)
  • Szyfrowanie danych
  • Integracja OAuth i JWT

16. Monitorowanie, logowanie i obserwowalność

  • Camel Health Checks
  • Zbieranie metryk
  • Monitorowanie przez JMX
  • Integracja z Micrometer
  • Przegląd OpenTelemetry
  • Strukturalne logi (Structured logging)
  • Rozproszony tracing

17. Testowanie aplikacji Apache Camel

  • Testy jednostkowe z Camel Test
  • Mock endpointy
  • Testy integracyjne
  • Testowanie aplikacji Spring Boot
  • Przegląd Testcontainers
  • Best practices dla automatyzacji testów

18. Rozwiązywanie problemów i debugowanie

  • Rozwiązywanie problemów z routingiem
  • Debugowanie tras
  • Analiza logów
  • Dagnostyka wydajnościowa
  • Powszechne problemy integracyjne
  • Rozwiązywanie problemów wdrożeniowych

19. Scenariusze integracji z życia wzięte

  • Integracja systemów korporacyjnych
  • Przepływy przetwarzania plików
  • Architektury sterowane zdarzeniami (Event-driven architectures)
  • Medyacja API
  • Strategie migracji systemu
  • Przykłady hybrydowej integracji

20. Best practices i wytyczne projektowe

  • Projektowanie łatwych w utrzymaniu tras
  • Wielokrotnego użytku szablony routu
  • Zarządzanie konfiguracją
  • Standardy dokumentacji
  • Rozważania dotyczące governance
  • Zalecenia dotyczące wdrożeń produkcyjnych

21. Warsztaty praktyczne i podsumowanie

  • Kompletne rozwiązanie integracji korporacyjnej
  • Zastosowanie wielu wzorców Enterprise Integration Patterns
  • Integracja systemów komunikacyjnych, baz danych i usług REST
  • Szkolenie z optymalizacji wydajności
  • Przegląd kluczowych zagadnień
  • Pytania i odpowiedzi
  • Kolejne kroki oraz dodatkowe zasoby do nauki

Wymagania

  • Dobra znajomość podstaw Apache Camel
  • Doświadczenie w programowaniu w Javie oraz integracji systemów
  • Znajomość wzorców i technik integracyjnych

Grupa docelowa

  • Programiści
  • Architekci integracji
  • Administratorzy systemów
 21 godzin

Liczba uczestników


Cena za uczestnika (netto)

Opinie uczestników (2)

Propozycje terminów

Powiązane Kategorie