Intrati in legatura

Schița de curs

1. Introducere în Apache Camel Avansat

  • Obiectivele cursului și prezentarea generală a arhitecturii
  • Recapitularea fundamentelor Apache Camel
  • Recapitularea Enterprise Integration Patterns (EIPs)
  • Noutăți în versiunile recente ale Apache Camel
  • Bune practici pentru proiectele de integrare enterprise

2. Arhitectura Apache Camel și Concepte Avansate

  • Internals CamelContext
  • Componente, capete (endpoints), producători și consumatori
  • Gestionarea ciclului de viață al rutelor
  • Șabloane de route și configurații de route
  • Injecția dependențelor cu Spring Boot și CDI
  • Proiectarea modulară a aplicațiilor

3. Modele Avansate de Integrare Enterprise

  • Router bazat pe conținut (Content-Based Router)
  • Router dinamic (Dynamic Router)
  • Listă de destinatar (Recipient List)
  • Slip de rutare (Routing Slip)
  • Splitter și Aggregator
  • Resequencer
  • Multicast și Wire Tap
  • Scatter-Gather
  • Model Saga
  • Consumer Idempotent (Idempotent Consumer)
  • Check Claim
  • Model Circuit Breaker

4. Tehnici Avansate de Rutare

  • Rezolvarea dinamică a capetelor (endpoints)
  • Rutare condiționată și imbricată
  • Politicile pentru route-uri
  • Șabloane de route
  • Creare dinamică de route-uri
  • Reîncărcarea rutelor
  • Strategii de负载均衡 (load balancing)
  • EIP Service Call

5. Transformarea Datelor și Prelucrarea Mesajelor

  • Formate de date (JSON, XML, CSV, YAML, Avro)
  • Marshalling și unmarshalling
  • Integrarea Bean-urilor
  • Procesori și procesori personalizați
  • Convertizoare de tip (Type converters)
  • Transformări XSLT
  • Limbaje JSONPath, XPath și Simple
  • Suport pentru scripting Groovy

6. Lucrul cu Date Mari și Streaming

  • Prelucrarea prin streaming
  • Cache pentru stream-uri
  • Gestionarea fișierelor mari
  • Prelucrarea în loturi (Batch processing)
  • Integrări File și FTP
  • Tehnici de optimizare a memoriei
  • Prelucrarea mesajelor la volum ridicat

7. Integrare Asincronă și Distribuibilă

  • Rutare asincronă
  • Prelucrare paralelă
  • Componente SEDA și VM
  • Direct vs. Direct-VM
  • Grupuri de fire (Thread pools) și concurență
  • Prelucrare distribuită a mesajelor
  • Considerații privind presiunea inversă (Back-pressure)

8. Gestionarea Erorilor și Fiabilitatea

  • Clauza Exception
  • Dead Letter Channel
  • Tratament implicit de eroare (Default Error Handler)
  • Tratament de eroare prin tranzacție
  • e>
  • Strategii de reîncercare
  • Politici de redirecționare (Redelivery policies)
  • Tranzacții compensatorii
  • Crearea integrărilor tolerante la erori

9. Tranzacții și Fiabilitatea Mesajelor

  • Tranzacții locale și distribuite
  • Tranzacții XA
  • Livrare exact-once
  • Implementarea idempotenței
  • Livrare garantată a mesajelor
  • Gestionarea tranzacțiilor cu Spring

10. Tuning de Performanță și Optimizare

  • Bottleneck-uri de performanță
  • Tehnici de optimizare a rutelor
  • Selectarea eficientă a componentelor
  • Optimizarea producătorilor și consumatorilor
  • Strategii de caching
  • Tuning grupurilor de fire (Thread pool tuning)
  • Evaluarea benchmark a aplicațiilor Camel

11. Integrarea Apache Camel cu Sisteme de Mesagerie

  • Integrare JMS
  • ActiveMQ
  • RabbitMQ
  • AMQP
  • Apache Kafka
  • MQTT
  • Coadă de mesaje vs. streaming de evenimente
  • Modele de mesagerie fiabilă

12. Integrarea REST și a Serviciilor Web

  • REST DSL
  • Consumatori și producători REST
  • Integrare SOAP
  • Apache CXF
  • Orchestrarea API-urilor REST
  • Integrare OpenAPI
  • Versionarea API-urilor

13. Integrarea cu Baze de Date și Surse de Date

  • Componenta JDBC
  • Componenta SQL
  • Integrare JPA
  • Gestionarea tranzacțiilor
  • Sondarea bazelor de date (Polling databases)
  • Scenarii ETL
  • Concepte Change Data Capture

14. Integrare în Cloud și Microservicii

  • Apache Camel cu Spring Boot
  • Prezentare generală Camel K
  • Prezentare generală Camel Quarkus
  • Concepte de implementare Kubernetes
  • Integrări containerizate
  • Modele de integrare native pentru cloud

15. Securitate în Apache Camel

  • Autentificare și autorizare
  • Configurare SSL/TLS
  • Servicii REST securizate
  • Gestionarea secretelor
  • Criptarea datelor
  • Integrare OAuth și JWT

16. Monitorizare, Logare și Observabilitate

  • Health Checks Camel
  • Colectarea metricilor
  • Monitorizare JMX
  • Integrare Micrometer
  • Prezentare generală OpenTelemetry
  • Logare structurată
  • Tracing distribuit

17. Testarea Aplicațiilor Apache Camel

  • Testare unitară cu Camel Test
  • Capete (Endpoints) Mock
  • Testare de integrare
  • Testarea aplicațiilor Spring Boot
  • Prezentare generală Testcontainers
  • Bune practici pentru testarea automată

18. Depanarea și Debugging-ul

  • Diagnosis problemelor de rutare
  • Debugging pentru route-uri
  • Analiza logurilor
  • Diagnosticare performanță
  • Probleme comune de integrare
  • Soluționarea problemelor de implementare

19. Scenarii Reale de Integrare

  • Integrarea aplicațiilor enterprise
  • Fluxuri de prelucrare a fișierelor
  • Arhitecturi orientate spre evenimente (Event-driven architectures)
  • Mediere API
  • Strategii de migrare a sistemelor
  • Exemple de integrare hibridă

20. Bune Practici și Ghiduri de Design

  • Proiectarea unor route-uri ușor de întreținut
  • Șabloane de route reutilizabile
  • Gestionarea configurației
  • Standarde de documentare
  • Considerații privind guvernanța (Governance)
  • Recomandări pentru implementarea în producție

21. Atelier Practic și Rezumat

  • Construirea unei soluții complete de integrare enterprise
  • Aplicarea mai multor Enterprise Integration Patterns
  • Integrarea sistemelor de mesagerie, bazelor de date și serviciilor REST
  • Exercițiu de tuning pentru performanță
  • Recapitularea conceptelor cheie
  • Răspunsuri la întrebări
  • Pași următori și resurse suplimentare de învățare

Cerințe

  • Cunoștințe bune de bază privind Apache Camel
  • Experiență în programare și integrare Java
  • Experiență cu modele și tehnici de integrare

Audiența țintă

  • Dezvoltatori
  • Arhitecți de integrare
  • Administratori de sistem
 21 Ore

Numărul de participanți


Pret per participant

Mărturii (1)

Cursuri viitoare

Categorii înrudite