Poste réalisé par Mohamed Karim LILI (Ingénieur logiciel confirmé à OXIA) |
Prenez n’importe quel projet d’intégration et vous aurez
plusieurs applications qui communiquent à travers plusieurs moyens de transport
sur des plateformes totalement différentes. Rien qu’à lire cette phrase, vous
aurez le tournis J
Comme vous pouvez l’imaginer, dans les applications des
grandes entreprises (Editeurs, banques, assurances, etc..) ceci pourrait
devenir complexe très rapidement.
|
La complexité en effet se résume en deux points
essentiels :
- Gérer les spécificités entre les applications et les moyens de transport.
- Modéliser et implémenter les bonnes pratiques pour les solutions d’intégration.
Le fait de gérer la communication des applications ainsi que
l’utilisation des différentes API de transport est relativement simple.
N’importe quel développeur pourrait envoyer des messages JMS par exemple, bien
que pour une bonne implémentation, cela nécessiterait une bonne connaissance de
la spécification JMS (chose qui n’est pas évidente pour tout développeur).
Qu’en est-il alors si vous voulez router ce message JMS à une destination spécifique,
qui elle, réalisera d’autres traitements ? Vous devez alors prendre soin
de bien mapper le message JMS et gérer les nouveaux concepts de la nouvelle
application cible. Si vous y ajouter d’autres applications, cela deviendrait
alors un vrai casse-tête.
Faisons abstraction des problématiques d’échange de message
et de transport, et focalisons-nous plutôt sur la modélisation de l’interaction
entre différentes applications d’entreprise. Heureusement, plusieurs solutions
d’intégration ont été formalisées dans
le livre : « Enterprise
Integration Patterns: Designing, Building, and Deploying Messaging Solutions, » de Gregor Hohpe and Bobby Woolfe
suite à une expérience de dizaines d’années dans l’architecture des
applications d’entreprise dans une collection de 65 Entreprise Integration
Pattern (EIP)
Patrons de conception d’intégration. l’EAI (Enterprise
Application Integration) nous livre tout le savoir, les bonnes pratiques et les
moyens technologiques qui servent à créer des solutions d'intégration extensibles
et entretenues en mode productif. Ceci constitue un énorme travail, sauf que
nous avons encore besoin d’implémenter nous-mêmes ces patterns, car ils ne sont
d’autres que des recommandations et non des solutions clés en main.
Apache Camel a été créé dans le but de répondre à ces deux
problématiques.
Nous allons commencer par une présentation de Camel, puis
présenter ses composantes essentielles, pour finir avec une démonstration de
résolution d’une problématique d’intégration avec Camel en implémentant un
exemple
Sommaire
- Introduction à Apache CAMEL (partie 1/6) : Problématique
- Introduction à Apache CAMEL (partie 2/6) : Qu’est ce que « Apache Camel » ?
- Introduction à Apache CAMEL (partie 3/6) : Comment fonctionne Camel ?
- Introduction à Apache CAMEL (partie 4/6): Le modèle message de Camel (Camel Message model)
- Introduction à Apache CAMEL (partie 5/6) : Le DSL Camel (Domain Specific Language)
- Introduction à Apache CAMEL (partie 6/6) : tutorial CAMEL
Bibliographie, Netographie et lien utiles
Camel in Action, Clause Ibsen et Jonathan Anstey, Editions MANNING
0 commentaires :
Enregistrer un commentaire