mardi 28 janvier 2014

[ESB open source] Introduction à Apache CAMEL (partie 3/6) : Comment fonctionne Camel ?

Nous avons vu que Camel se focalise sur la tâche qui consiste à rendre le travail de l’intégration le plus simple possible, ce qui pourrait se matérialiser dans les 3 points suivants :
·         Une implémentation concrète des EIP (Entreprise Integration Pattern) les plus utilisés.
·         Une connectivité à une grande variété de canaux de transports et d’APIs
·         Une DSL (Domain Specific Languauge) facile à utiliser pour relier les EIP et les moyens de transport ensemble.
Afin d’avoir une idée sur l’organisation de Camel, nous allons étudier son architecture :
Sur une vue d’ensemble, Camel est constitué de processeurs (Processors), de composants (Components) et de routes (Routes). Tous ces constituants sont contenus dans le CamelContext comme le montre la figure ci-dessous :



Le moteur de routage utilise les « Routes » comme spécification pour router les différents messages. Les « routes » sont définies en utilisant l’un des différents langages DSL Camel (Domain Specific Language).
Les Processors sont utilisés pour transformer et manipuler les messages durant le routage et aussi pour implémenter tout type de pattern EIP, qui ont des mots clé correspondants dans la DSL Camel.
Les composants (Components) sont les points d’extension de Camel pour ajouter de la connectivité à d’autres systèmes. Afin d’exposer ces systèmes au reste de Camel, les « Component » fournissent une interface Endpoint.
Voici le schéma d’une route « simple » qui reçoit en entrée un document XML et le guide selon une condition vers deux destinations système différentes :




0 commentaires :

Enregistrer un commentaire

Architecte SOA & Professionnel Open Source Headline Animator

 
Khaled BEN DRISS
Cloud Computing, SOA et Web 2.0 : Des sujets techniques sur SOA et l'Open Source : de Java & .Net, PHP5, Symfony, à SaaS / PaaS en passant par Azure, google appengine, le BPM, la Modélisation et d'autres sujets du coté du serveur et cloud computing.