mardi 28 janvier 2014

[ESB open source] Introduction à Apache CAMEL (partie 1/6) : Problématique


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 :
  1.   Gérer les spécificités entre les applications et les moyens de transport.
  2.  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.

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.