Prenez contact avec nous

Plan du cours

1. Introduction à Apache Camel Avancé

  • Objectifs du cours et aperçu de l'architecture
  • Revu des fondamentaux d'Apache Camel
  • Rappel des Enterprise Integration Patterns (EIP)
  • Nouveautés dans les versions récentes d'Apache Camel
  • Bonnes pratiques pour les projets d'intégration entreprise

2. Architecture et concepts avancés d'Apache Camel

  • Fonctionnement interne de CamelContext
  • Composants, points de terminaison (endpoints), producteurs et consommateurs
  • Gestion du cycle de vie des routes
  • Modèles de routes (route templates) et configurations de routes
  • Injection de dépendances avec Spring Boot et CDI
  • Conception d'applications modulaires

3. Enterprise Integration Patterns avancés

  • Routage basé sur le contenu (Content-Based Router)
  • Routage dynamique (Dynamic Router)
  • Liste de destinataires (Recipient List)
  • Glissement de routage (Routing Slip)
  • Séparateur et Agrégateur (Splitter and Aggregator)
  • Réquençeur (Resequencer)
  • Multidiffusion et Tap filiaire (Multicast and Wire Tap)
  • Dispersion-récolte (Scatter-Gather)
  • Pattern Saga
  • Consommateur idempotent (Idempotent Consumer)
  • Valeur de revendication (Claim Check)
  • Pattern Circuit Breaker

4. Techniques de routage avancées

  • Résolution dynamique des points de terminaison
  • Routage conditionnel et imbriqué
  • Policies de route
  • Modèles de routes (Route templates)
  • Création dynamique de routes
  • Rechargement des routes
  • Stratégies d'équilibrage de charge
  • EIP Service Call

5. Transformation de données et traitement de messages

  • Formats de données (JSON, XML, CSV, YAML, Avro)
  • Marshalling et démarshalling
  • Intégration Bean
  • Processeurs et processeurs personnalisés
  • Convertisseurs de type
  • Transformations XSLT
  • JSONPath, XPath et langage Simple
  • Support Groovy et scripting

6. Travail avec de gros volumes de données et streaming

  • Traitement en streaming
  • Mise en cache de flux (Stream caching)
  • Gestion des fichiers volumineux
  • Traitement par lots (Batch processing)
  • Intégrations Fichier et FTP
  • Techniques d'optimisation mémoire
  • Traitement de messages à haut débit

7. Intégration asynchrone et distribuée

  • Routage asynchrone
  • Traitement parallèle
  • Composants SEDA et VM
  • Direct vs Direct-VM
  • Pools de threads et concurrence
  • Traitement de messages distribué
  • Prise en compte de la back-pressure

8. Gestion des erreurs et fiabilité

  • Clauses d'exception (Exception Clause)
  • Channel de lettres mortes (Dead Letter Channel)
  • Gestionnaire d'erreurs par défaut
  • Gestionnaire d'erreurs transactionnelles
  • Stratégies de retry
  • Policies de redélivrance
  • Transactions compensatoires
  • Construction d'intégrations tolérantes aux pannes

9. Transactions et fiabilité des messages

  • Transactions locales et distribuées
  • Transactions XA
  • Livraison exactement une fois (Exactly-once delivery)
  • Mise en œuvre de l'idempotence
  • Livraison garantie des messages
  • Gestion des transactions avec Spring

10. Ajustement et optimisation des performances

  • Goulots d'étranglement de performance
  • Techniques d'optimisation des routes
  • Sélection efficace des composants
  • Optimisation des producteurs et consommateurs
  • Stratégies de cache
  • Ajustement des pools de threads
  • Mise en œuvre de benchmarks pour les applications Camel

11. Intégration d'Apache Camel avec les systèmes de messagerie

  • Intégration JMS
  • ActiveMQ
  • RabbitMQ
  • AMQP
  • Apache Kafka
  • MQTT
  • Filaire de messages vs streaming d'événements
  • Patterns de messagerie fiable

12. Intégration REST et Services Web

  • DSL REST
  • Consommateurs et producteurs REST
  • Intégration SOAP
  • Apache CXF
  • Orchestration d'API REST
  • Intégration OpenAPI
  • Gestion des versions d'API

13. Intégration bases de données et sources de données

  • Composant JDBC
  • Composant SQL
  • Intégration JPA
  • Gestion des transactions
  • Sondage des bases de données (Polling databases)
  • Scénarios ETL
  • Concepts de Capture de Données Modifiées (CDC)

14. Intégration Cloud et Microservices

  • Apache Camel avec Spring Boot
  • Aperçu de Camel K
  • Aperçu de Camel Quarkus
  • Concepts de déploiement Kubernetes
  • Intégrations conteneurisées
  • Patterns d'intégration Cloud-native

15. Sécurité dans Apache Camel

  • Authentification et autorisation
  • Configuration SSL/TLS
  • Services REST sécurisés
  • Gestion des secrets
  • Chiffrement des données
  • Intégration OAuth et JWT

16. Monitoring, journalisation et observabilité

  • Health Checks de Camel
  • Collecte de métriques
  • Monitoring JMX
  • Intégration Micrometer
  • Aperçu OpenTelemetry
  • Journalisation structurée
  • Tracing distribué

17. Tests des applications Apache Camel

  • Tests unitaires avec Camel Test
  • Points de terminaison mock
  • Tests d'intégration
  • Test des applications Spring Boot
  • Aperçu de Testcontainers
  • Bonnes pratiques pour les tests automatisés

18. Dépannage et débogage

  • Diagnostic des problèmes de routage
  • Débogage des routes
  • Analyse des logs
  • Diagnostique des performances
  • Problèmes d'intégration courants
  • Résolution des problèmes de déploiement

19. Scénarios d'intégration réels

  • Intégration d'applications entreprise
  • Flux de traitement de fichiers
  • Architectures événementielles (Event-driven architectures)
  • Médiation d'API
  • Stratégies de migration système
  • Exemples d'intégration hybride

20. Bonnes pratiques et directives de conception

  • Conception de routes maintenables
  • Modèles de routes réutilisables
  • Gestion de la configuration
  • Normes de documentation
  • Considérations en matière de gouvernance
  • Recommandations de déploiement en production

21. Atelier pratique et synthèse

  • Construction d'une solution complète d'intégration entreprise
  • Application de multiples Enterprise Integration Patterns
  • Intégration des messageries, bases de données et services REST
  • Exercice d'ajustement des performances
  • Revu des concepts clés
  • Questions et réponses
  • Pas suivants et ressources d'apprentissage complémentaires

Pré requis

  • Bonne connaissance des bases d'Apache Camel
  • Expérience en programmation et intégration Java
  • Expérience avec les patterns et techniques d'intégration

Audience

  • Développeurs
  • Architectes d'intégration
  • Administrateurs systèmes
 21 Heures

Nombre de participants


Prix par participant

Nos clients témoignent (1)

Cours à venir

Catégories Similaires