ESB vs P2P : Pourquoi le moment est venu de se débarrasser des solutions de codage P2P
L'intégration des applications en mode point à point (P2P) présente un grand nombre de difficultés. Comme le souligne Chris Tiernan, technologiste chez Salesforce : « Les intégrations rapides en mode P2P peuvent devenir un véritable casse-tête. »
Le bus ESB (Enterprise Service Bus) peut éliminer la plupart de ces difficultés. Comparé au codage P2P, le bus ESB propose un moyen plus rapide et plus agile de connecter des applications. Il n'est donc pas étonnant qu'un certain nombre d'entreprises parmi les plus innovantes se tournent vers le bus ESB pour l'intégration de leurs applications.
ESB vs P2P : Pourquoi P2P ne peut pas suivre le rythme
Lorsque la première application est apparue, elle pouvait exister en exclusivité. Mais une deuxième application est apparue, et très rapidement il a été nécessaire de la connecter à la première. Une solution a été rapidement apportée en codant à la main une connexion entre les deux applications, ce qui est le principe de base de l'« intégration point à point ».
Dans l'intégration en mode P2P, les systèmes ont connaissance les uns des autres et ils connaissent les modèles de données, les capacités et toute l'infrastructure technologique que chaque application supporte pour permettre cette intégration. Les groupes de deux systèmes sont donc connectés en « couplage fort ». S'il n'y avait qu'un petit nombre d'applications, P2P conviendrait très bien. Mais à mesure que le nombre de couplages forts augmente, l'infrastructure devient fragile et sujette aux incidents : sa maintenance est donc difficile.
C'est dans ce contexte que la valeur réelle de l'architecture ESB commence à émerger. Avant l'ESB, les entreprises continuaient à se diversifier et à connecter toute nouvelle application à l'ensemble des applications existantes en mode P2P. Dans une infrastructure en pleine croissance qui repose sur l'intégration P2P, et où tout le codage doit donc être fait à la main, la situation peut devenir très complexe très rapidement.
Les défis de l'intégration en mode P2P
Dès le départ, une solution d'intégration d'applications en mode P2P est un travail fastidieux pour un développeur : elle exige du code personnalisé pour chaque connexion établie entre les applications, les systèmes et les équipements qui font partie de l'infrastructure IT considérée.
L'inconvénient le plus évident du P2P est sa rigidité. Par ailleurs, les intégrations point à point sont extrêmement complexes en raison du nombre de connexions et du nombre d'interfaces exigeant des opérations de maintenance. Si une application change de version (ou simplement le modèle de données qu'elle utilise), l'impact de ce changement est considérable car les intégrations codées à la main vers les différentes interfaces demandeuses doivent être modifiées en conséquence. Enfin, les applications reposent souvent sur des technologies et compétences propriétaires, implémentent généralement plusieurs infrastructures de transport et communication, ce qui fait du mode P2P un cauchemar, même pour les développeurs les plus compétents.
La consommation de ressources et les risques associés aux changements nécessaires à une intégration P2P sont si importants qu'ils peuvent amener certaines entreprises à renoncer à ces changements en raison de l'impact anticipé sur leur infrastructure.
Clairement, lorsque le mode d'intégration menace la croissance et l'innovation de l'entreprise, il est temps d'explorer d'autres solutions, ce qui nous ramène au bus ESB.
Bus ESB – Intégration facile et transparente des applications
Pour l'intégration des applications, le bus ESB est une approche plus souple que le mode P2P. Le bus ESB est un style/modèle d'architecture logicielle qui est utilisé pour permettre les interactions et la communication entre les applications. Cette intégration est réalisée en encapsulant et publiant chaque fonctionnalité de chaque application sous la forme d'un ensemble de fonctionnalités distinctes et réutilisables.
Les applications ne s'intègrent plus directement entre elles. Elles s'intègrent par le biais d'une infrastructure ESB :
En général, un bus ESB comporte les deux éléments suivants :
- Registre des services – Tous les services accessibles par le bus ESB sont publiés et consignés dans ce registre. Ce registre sert également d'emplacement de découverte pour les applications qui souhaitent utiliser les services ou capacités d'autres applications.
- Administration et supervision centralisées – Ces systèmes génèrent une vue des flux transactionnels des interactions qui se produisent dans le bus ESB.
Comment l'information circule-t-elle dans un bus ESB ?
En général, les applications connectées à un bus ESB intègrent et publient leurs capacités sous forme de « services » (généralement des services Web, mais pas nécessairement). L'intégration de ces services distincts et réutilisables est réalisée selon la séquence suivante :
- Une application publie ses capacités en activant un service.
- L'application est décomposée en un ensemble de services réutilisables.
- Ces services deviennent disponibles dans l'ESB.
- Les services sont publiés dans un registre et mis à la disposition des consommateurs.
L'activation du service est entièrement automatisée : avec le bus ESB, aucun codage manuel n'est nécessaire. Autre avantage très net du bus ESB : les consommateurs ont besoin de connaître très peu d'informations (voire aucune information) sur l'application dont ils souhaitent utiliser les capacités. L'architecture technique, la version, le fournisseur de la solution, l'emplacement de l'application : ces informations n'ont aucune importance pour le consommateur, et n'ont aucun impact sur la consommation du service considéré.
Émergence des capacités temps réel et SOA
Le bus ESB permet le découplage des applications en établissant une infrastructure intermédiaire à travers laquelle les applications peuvent se synchroniser et communiquer, permettant une intégration plus rapide d'un plus large éventail d'applications et de sources de données. Le bus ESB offre un support complet pour l'intégration orientée événements et l'architecture orientée services (SOA) – deux styles d'intégration parmi les plus importants.
En fait, la plupart des entreprises ont généralement besoin de ces deux styles d'intégration. Les styles d'intégration à architecture orientée services (SOA) et à architecture orientée événements (EDA) répondent à des besoins différents et pour des raisons différentes. C'est pourquoi la plupart des bus ESB supportent ces deux styles (et la transition entre ces deux styles). Les architectures orientées événements sont souvent utilisées comme style d'intégration initial par les entreprises qui ne souhaitent pas adopter une architecture SOA complète (ou qui ne sont pas prêtes pour ce type d'architecture).
ESB l'emporte sur P2P pour ses qualités de vitesse et souplesse
Il est très facile de souligner les limites de l'intégration en mode P2P. Et il est tout aussi facile de souligner les avantages du bus ESB pour l'intégration d'applications :
- ESB simplifie et accélère l'intégration en supportant une grande variété de modèles d'intégration standard prêts à l'emploi – ce qui permet de réduire la pression sur le personnel technique.
- ESB permet d'intégrer rapidement une plus grande variété et un plus grand nombre d'applications et de services de données.
- ESB assure l'orchestration nécessaire pour proposer des capacités composées aux consommateurs de l'infrastructure technique ou aux consommateurs qui passent par un système BPM.
Les limites de l'intégration en mode P2P sont claires. Les avantages de l'intégration par bus ESB sont également très claires. En fournissant un support complet pour les principaux styles d'intégration et la possibilité de travailler avec une grande variété de modèles d'intégration standard prêts à l'emploi, il n'est pas surprenant que de nombreuses entreprises utilisent ESB pour leurs besoins d'intégration d'applications.
Essayez Talend Open Studio for ESB (version gratuite)
Après avoir exploré cette version gratuite, les avantages du bus ESB vous apparaîtront très clairement. Talend Open Studio for ESB est une solution gratuite qui repose sur une technologie open source extensible. Talend Open Studio pour ESB permet la transformation des applications et systèmes legacy en services et de construire une architecture orientée services (SOA) très puissante. N'hésitez pas à tester Talend Open Studio for ESB dès aujourd'hui !