Les Enterprise Service Bus
Principe
Objectif d'un ESB
Nous avons vu dans la partie Historique & Contexte les apports d'une couche de médiation au SI. Cette couche de médiation sera mise en place par l'intermédiaire d'un ESB. Cependant, l'ESB, de par sa nature d'intermédiaire pourra apporter d'autres éléments à l'entreprise :
- Réduire au maximum le couplage entre les producteurs et les consommateurs de services Web (Médiation)
- Rester indépendant de la technologie des services utilisés
- Décharger les différents projets du SI des problématiques de :
- Sécurité
- Surveillance
- Reporting
- Gestion des versions
- Routage et enrichissement des messages SOAP
Exposition des services
En tant qu'intermédiaire, l'exposition de services est la première fonctionnalité attendue d'un ESB. Il doit pouvoir facilement définir des interfaces d'accès (nouvelles ou respectant celles de services existants). Il doit également permettre de :
- Proposer des protocoles d'accès adaptés aux consommateurs de services
- Supporter différents types d'échanges de messages
- Maîtriser et surveiller les accès aux services (sécurité)
- Permettre de référencer ces services au sein de l'entreprise
Gestion multi-protocolaire
Une des promesses de l'ESB est de favoriser la réutilisation des services. Il doit donc supporter un maximum de protocoles d'accès à ses services afin de répondre à une typologie de clients variée.
- Les clients qui ont besoin d'une réponse pour poursuivre leur traitement, font des appels synchrones en utilisant parexemple des services web sur HTTP.
- Les clients qui n'ont pas besoin de réponse pour poursuivre leur traitement pourront utiliser des appels asynchrones, par exemple en déposant des fichiers ou en envoyant des messages.Pour un même paradigme d'appel (synchrone, asynchrone) le bus doit permettre d'utiliser plusieurs protocoles (en asynchrone on pourra utiliser Mail, FTP, Fichier, JMS, Message Broker...)
Manipulation et transformation des données
Les informations transmises par les consommateurs de services peuvent être de natures différentes
- Flux Binaires ou Textes non structurés
- Flux Binaires ou Textes structurés
- Documents XML
- Accepter différentes natures de messages
- Quand les informations sont structurées, permettre leur transformation pour traduire les différences consommateurs/fournisseurs (support de Xquery/Xpath)
- Faciliter la manipulation de ces données
La norme JBI >>>