Prenez contact avec nous

Plan du cours

1. Introduction à Apache Camel avancé

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

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

  • Fonctionnement interne de CamelContext
  • Composants, endpoints, producteurs et consommateurs
  • Gestion du cycle de vie des routes
  • Modèles de route et configurations de route
  • 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)
  • Bande d'acheminement (Routing Slip)
  • Séparateur et Agrégateur (Splitter and Aggregator)
  • Reséquençeur (Resequencer)
  • Multicast et Wire Tap
  • Scatter-Gather
  • Patiente Saga (Saga Pattern)
  • Consommateur Idempotent (Idempotent Consumer)
  • Vérification de réclamation (Claim Check)
  • Motif du disjoncteur (Circuit Breaker pattern)

4. Techniques de routage avancées

  • Résolution dynamique des endpoints
  • Routage conditionnel et imbriqué
  • Politiques de route
  • Modèles de route
  • Création dynamique de routes
  • Rechargement des routes
  • Stratégies d'équilibrage de charge
  • EIP Service Call

5. Transformation de données et traitement des messages

  • Formats de données (JSON, XML, CSV, YAML, Avro)
  • Marshallage et démarshallage
  • Intégration de Beans
  • Processors et processors personnalisés
  • Convertisseurs de types
  • Transformations XSLT
  • Langages JSONPath, XPath et Simple
  • Support Groovy et scripts

6. Travailler avec des données volumineuses et le streaming

  • Traitement en streaming
  • Mise en cache de flux (Stream caching)
  • Gestion de gros fichiers
  • Traitement par lots
  • Intégrations Fichier et FTP
  • Techniques d'optimisation de la mémoire
  • Traitement de messages à fort volume

7. Intégration asynchrone et distribuée

  • Routage asynchrone
  • Traitement en parallèle
  • Composants SEDA et VM
  • Direct vs Direct-VM
  • Pools de threads et concurrence
  • Traitement distribué des messages
  • Considérations sur la contre-pression (Back-pressure)

8. Gestion des erreurs et fiabilité

  • Clauses d'exception
  • Canal de lettres mortes (Dead Letter Channel)
  • Gestionnaire d'erreurs par défaut
  • Gestionnaire d'erreurs transactionnelles
  • Stratégies de retry
  • Politiques de redelivery
  • 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 des performances et optimisation

  • Goulots d'étranglement de performance
  • Techniques d'optimisation des routes
  • Sélection efficace des composants
  • Optimisation des producteurs et consommateurs
  • Stratégies de mise en cache
  • Ajustement des pools de threads
  • Étalonnage (Benchmarking) des applications Camel

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

  • Intégration JMS
  • ActiveMQ
  • RabbitMQ
  • AMQP
  • Apache Kafka
  • MQTT
  • File d'attente de messages vs streaming d'événements
  • Motifs de messagerie fiables

12. Intégration REST et des 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 de base 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 des Modifications de Données (Change Data Capture)

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
  • Motifs d'intégration natifs du cloud (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. Surveillance, journalisation et observabilité

  • Vérifications de santé Camel (Camel Health Checks)
  • Récolte de métriques
  • Surveillance JMX
  • Intégration Micrometer
  • Aperçu d'OpenTelemetry
  • Journalisation structurée
  • Tracing distribué

17. Tests des applications Apache Camel

  • Tests unitaires avec Camel Test
  • Endpoints mock
  • Tests d'intégration
  • Tests 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 journaux (Logs)
  • Diagnostic des performances
  • Problèmes courants d'intégration
  • Résolution des problèmes de déploiement

19. Scénarios d'intégration concrets

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

20. Bonnes pratiques et directives de conception

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

21. Atelier pratique et résumé

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

Pré requis

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

Audience cible

  • Développeurs
  • Architectes en intégration
  • Administrateurs système
 21 Heures

Nombre de participants


Prix par participant

Nos clients témoignent (1)

Cours à venir

Catégories Similaires