Tutoriel Camel : mise en oeuvre route avec Maven et XML DSL

Maîtrisez la création d’un projet d’intégration utilisant les technologies Camel, maven . Configurer vos routes camel avec XML. Comprenez le fichier de configuration camel-context.xml . Utilisez la notation Camel Simple Exression Language et le composant de Log. Exploitez les possibilités des connecteurs file, bean, jms, ftp et http. Mettez en œuvre les patterns d’intégration Content Base Router (CBR).

Liens utiles

- Composants Apache Camel
- Patterns d’Intégration (EIP)
- Implémentation des Patterns d’Intégration (EIP) avec Camel
- Pattern ’Message Router’ avec Camel

Partie 1 : création projet Camel Spring

- Créez un répertoire c :\formationsoa\camel (ou tout autre répertoire de votre choix vide)

PNG - 2.1 ko
tutoriel-route-camel-spring-dsl-1

- Exécutez la commande suivante :

mvn archetype:generate -B -DarchetypeGroupId=org.apache.camel.archetypes -DarchetypeArtifactId=camel-archetype-spring -DarchetypeVersion=2.16.0 -DgroupId=com.objis.democamel -DartifactId=demoroutecamel -Dversion=1.0-SNAPSHOT

- Expliquez cette commande

Cette commande crée le répertoire suivant :

PNG - 36.7 ko
tutoriel-route-camel-spring-dsl-2

Le contenu du répertoire est le suivant...

PNG - 2.8 ko
tutoriel-route-camel-spring-dsl-3

...dont le contenu est le suivant

PNG - 4.2 ko
tutoriel-route-camel-spring-dsl-4

Dans le fichier pom.xml , identifiez :
- le nombre et le nom des dépendences Maven du projet
- le nombre et le nom des plugins Maven

TELECHARGEMENT

Zip - 5.8 ko
demoroutecamel-v1

Partie 2 : analyse du projet

- Quelles instructions sont mises en évidence dans le fichier Readme.txt ?

PNG - 8.5 ko
tutoriel-route-camel-spring-dsl-4bis

- Expliquez le contenu du répertoire src\data

PNG - 3.7 ko
tutoriel-route-camel-spring-dsl-5

Analysez le contenu du message1.xml

PNG - 7.7 ko
tutoriel-route-camel-spring-dsl-5bis

- Expliquez le contenu du répertoire src\main\java\com\objis\democamel\

PNG - 3.7 ko
tutoriel-route-camel-spring-dsl-6

QUESTION : que pourrait’il y avoir ici ?

- Expliquez le contenu du répertoire src\main\resources\META-INF\spring

PNG - 4 ko
tutoriel-route-camel-spring-dsl-7

A quoi sert le fichier camel-context.xml ?

- Analysez le contenu de ce fichier

PNG - 32.3 ko
tutoriel-route-camel-spring-dsl-8

- Quel lien entre ce fichier et les fichiers présents dans src\data ?

- Expliquez

Partie 3 : compilation et exécution de la route

- Lancez mvn install

PNG - 21 ko
tutoriel-route-camel-spring-dsl-9

QUESTION : à quoi sert cette commande ?

Analysez les dernières ligne qui précèdent ’BUILD SUCCESS’

PNG - 16.1 ko
tutoriel-route-camel-spring-dsl-10

- Expliquez

- Lancez mvn camel:run

Analysez les premières lignes :

PNG - 22.6 ko
tutoriel-route-camel-spring-dsl-11

...et les dernières lignes

PNG - 49.3 ko
tutoriel-route-camel-spring-dsl-12

- Expliquez cers dernières lignes.

Partie 4 : logguer le contenu et en têtes des messages

En utilisant la documentation du Simple Expression Language de Camel, montrez qu’il est possible de logguez les messages

- Analysez la nouvelle ligne ajoutée :

PNG - 26.9 ko
tutoriel-route-camel-spring-dsl-13

- Expliquez

- Arretez l’exécution de la route (CTRL+C)

- puis relancer camel:run

PNG - 20.7 ko
tutoriel-route-camel-spring-dsl-14

- Expliquez

En utilisant la documentation du Simple Expression Language , proposez la syntaxe permettant de logguer l’ensemble des tête du messsage :

PNG - 24.2 ko
tutoriel-route-camel-spring-dsl-15

Partie 4 : router vers une file JMS

VOTRE MISSION : envoyer les messages ’UK’ dans une file de message ActiveMQ

3 étapes clés

1) Installer et démarrer le fournisseur de message JMS (activemq start)

2) Ajouter la dépendance du composant ’jms’ dans Maven

3) Utiliser la documentation du composant JMS

S’inspirer du tutoriel Camel JMS

Partie 5 : router vers un Bean

VOTRE MISSION : envoyer les messages autres que ’UK’ dans un Bean

3 étapes clés

Nious avons utilisé la documentation du composant bean pour identifier ces étapes

1) Coder le bean

PNG - 13.3 ko
tutoriel-route-camel-spring-dsl-16

QUESTION : qu’est ce qu’un exchange ?

QUESTION : qu’est ce qu’un processor ?

2) Ajouter la dépendance du composant ’bean’ dans Maven (dispo par défaut)

PNG - 42.5 ko
tutoriel-route-camel-spring-dsl-17

3) Référencer le bean dans la route comme destinataire de messages non ’UK’

PNG - 45.2 ko
tutoriel-route-camel-spring-dsl-18

Après la commande : mvn clean install et la commande mvn camel:run nous obtenons

PNG - 24.2 ko
tutoriel-route-camel-spring-dsl-19

Que s’est t’il passé ?

Partie 6 : écouter url http

VOTRE MISSION : écouter les messages provenant de http://localhost:8080/monappli ?ville=UK et router vers répertoire UK

3 étapes clés

1) Coder l’appli et déployer dans Tomcat

2) Ajouter la dépendance du composant ’http’ dans Maven

3) Déclarer le composant dans camel-context.xml

4) Utiliser la documentation du composant http pour le référencer dans la route

Conclusion

Dans ce tutoriel, vous avez créé un projet d’intégration utilisant les technologies Camel, maven. Vous avez mis en oeuvre des composants Camel ainsi qu’unpattern d’intégration Message Router.