Serveurs Apache

 Apache Camel, mise en œuvre

Objectifs de la formation

  • Identifier les situations justifiant l’usage de pattern EIP.
  • Maîtriser l’architecture du framework Apache Camel.
  • Exploiter les principaux composants endpoint d’Apache Camel.
  • Concevoir des routes efficaces et robustes.
  • Effectuer des transformations sur les messages.
  • Réaliser le routage des messages de manière statique et dynamique. Assurer le suivi d’activité des routes.


Programme de la formation

Les défis de l’intégration d’entreprise

  • Les styles d’intégration d’entreprise.
  • Architecture orientée services versus orientée événements.
  • Le style Messaging.
  • Introduction aux EIP.

Travaux pratiques

Appropriation de l’étude de cas.

Le framework Apache Camel

  • Camel et les EIP.
  • Anatomie des messages.
  • Constituants d’une route (exchange, endpoints, processor, router, transformer), modèle Pipe and Filter.
  • Implémentation d’une route en java DSL et Spring DSL (XML).
  • Travailler le contenu des messages via les langages de script (simple, XPath, SpEL…).
  • Composants Endpoint : file, mail, ActiveMQ, JMS, direct.

Travaux pratiques

Conception de routes : transfert de fichiers vers des queues JMS, diffusion d’informations par mail.

Transformer le contenu des messages

  • EIP Message Translator : les différentes techniques (Processor, Beans, DSL, Expressions).
  • EIP Content Enricher : enrich versus pollEnrich.
  • Transformation XML : XSLT, marshaling / unmarsharling.
  • Composants prédéfinis de transformation de format (csv, xml, json, zip…).
  • Transformation à l’aide de templates (Velocity, Freemarker).
  • Concevoir ses propres convertisseurs.

Travaux pratiques

Transformer le contenu de messages véhiculés par les routes précédemment créées.

Composants endpoint et gateway

  • Les composants Camel.
  • Communication en mémoire (Direct, SEDA, VM), via des services web (CXF, CXFRS, Restlet), asynchrones (JMS).
  • Accès bases de données : JDBC, JPA.
  • Activation périodique de routes : Timer, Quartz.
  • Utilisation de gateway : CamelProxy et annotations @Consume et @Produce.

Travaux pratiques

Intégration d’applications existantes, proxification de services web (SOAP et REST), utilisation de gateway.

Routage des messages

  • Filtrage et diffusion de messages.
  • Routage statique : content-based router, recipientList.
  • Routage dynamique : routingSlip, dynamicRouter.
  • Load balancing et failover.

Travaux pratiques

Implémentation de stratégies de routage, mise en œuvre du load balancing.

Suivi d’activités et gestion des erreurs

  • Suivi d’activité des routes : Log et Wiretap, la JConsole.
  • Erreurs recouvrables ou non, stratégies associées.
  • Traitements d’erreurs prédéfinis : DefaultErrorHandler, DeadLetterChannel, LoggingErrorHandler.
  • Relivraison après erreur.
  • Gestion des exceptions : onException().

Travaux pratiques

Ajout de métriques, historisation de messages, gestion d'erreurs.

Please login to get access to the quiz
Tomcat – Administrer des serveurs d’applications (Prev Lesson)
Back to Serveurs Apache
Public

Développeurs JEE, architectes logiciel, chefs de projet SOA.

Pré-requis

Bonne connaissance des architectures de SI et des protocoles standards de communication. Bonne connaissance du langage Java. La connaissance du framework Spring est un plus.