Formation Camel

Intégrer simplement des applications d'entreprises

Durée 3 jours
CAMEL-03

Contactez nous pour planifier
la prochaine session.

Description

Les systèmes d'information explosant sous le poids des services et des applications développées, il devient de plus en plus complexe de faire communiquer les différentes composantes entre elles. A contrario des solutions précédentes, les problématiques d'intégration sont résolues au travers de frameworks dit « légers » comme Apache Camel. Ces frameworks permettent de relier efficacement et de manière fiable les applications au sein d'un SI et deviennent la brique de base pour la mise en place des architectures SOA actuelles. Nous nous confronterons à des exemples tirés de cas d'usage réels pour mettre en pratique des solutions simples et efficaces au travers de Camel.

Objectifs

  • Présenter les frameworks d'intégration et leur utilité
  • Mise en place avec Apache Camel et les patterns d'intégration (EIP)
  • Mise en œuvre d'une solution d'intégration simple et distribuée
  • Assurer un cadre de développement avec des tests
  • Déployer un environnement fiable et robuste
  • Surveiller et administrer cet environnement

Pré-requis : 

  • Notions de Java et de Spring

Public : 

  • Développeurs
  • Architectes

Pédagogie : 

50% théorie 50% pratique

Programme

Introduction aux frameworks d'intégration et à Apache Camel

  • La problématique d'intégration
  • Du 'point à point' aux ESB en passant par les EAI
  • Introduction aux 'Enterprise Integration Patterns' : la boîte à outils d'intégration
  • Les notions principales : Routage, Transformation, Enrichissement, Découplage
  • Présentation du framework Apache Camel

Fonctionnement de Camel

  • Messages
  • Exchange & Properties
  • Les Messages Exchange Patterns
  • Les Routes
  • Le Contexte
  • Le cycle de vie
  • Démarrer Camel

Connectivité Camel – Interfacer des systèmes hétérogènes

  • Du producteur aux consommateurs
  • La gamme des composants : fichier, jms, mail, http, ssh, ...
  • Les endpoints logiques Direct, Seda, VM
  • Les bases de données
  • Les Web Services Soap & REST
  • Les MOM – Message Oriented Middleware

Utilisation avec le Framework Spring

  • Le composant Bean
  • L'approche POJO
  • Utilisation de Proxy beans
  • Intégrer Camel dans votre application JavaEE

Routage, transformations et intégration

  • Les patterns de routage : simples à complexes
  • Routage dynamique à la demande
  • Les patterns de transformation : l'intégration des données
  • Les conversions de formats XML, CSV, JSON, Customs
  • Le pattern VETO/VETRO : 'Validate / Enrich / Transform / Route / Operate'

Tester les flux d'intégration avec Camel

  • L'intérêt des tests
  • Tests unitaires ou d'intégration ?
  • Apprendre à utiliser les mocks de Camel
  • Bonne pratiques de tests

Architectures scalables, asynchrones et parallèles

  • Les problématiques d'asynchronisme
  • Une architecture événementielle
  • Lancer des traitements parallèles
  • Scalabilité de vos applications

Traitements fiables dans un environnement distribué

  • Criticité d'un système / Perte de messages
  • Gestion des transactions techniques
  • Techniques de clustering et de failover (Load Balancing & High Availability)
  • Créer un environnement distribué et fiable

Gestion et reprises des erreurs

  • Les différents types d'erreurs
  • Gestion classique et événementielle
  • Gestion transactionnelle des erreurs
  • Mécanismes de compensation

Administration & supervision

  • Comment et quoi administrer ?
  • Gestion des logs
  • Les patterns de supervision système : 'wire tap', 'message store', ...
  • Développer des briques auto-administrées
  • Les outils de monitoring disponibles

Les 10 commandements pour dompter un chameau

  • Les bonnes pratiques qui vous permettront de développer un système d'intégration performant, fiable et maintenable
  • Retour d'expérience