L’ESB ou Enterprise Service Bus est un élément architectural permettant de faire communiquer entre eux différents éléments tels que des logiciels applicatifs: il permet l’intégration entre les systèmes à l’aide de messages et de services.
Il n’existe pas de norme pour définir universellement ce qu’est un ESB au niveau de l’industrie technologique. Il en résulte des compréhensions différentes de ce qu’est un ESB, son rôle, son périmètre et son fonctionnement.
Le concept derrière un bus est que différents composants logiciels appelés services et qui s’exécutent indépendamment peuvent s’intégrer et communiquer les uns avec les autres.
Cela se produit lorsque chaque application communique avec le bus, celui-ci agissant comme un intermédiaire qui va s’assurer que la bonne information arrive au bon endroit au bon moment.
Le bus peut se charger de traduire les informations au niveau de la sémantique mais aussi au niveau de la technologie pour faire communiquer entre eux des éléments sans point d’accroche technologique.
Le bus permet aussi de découpler volontairement les éléments pour les rendre les plus indépendants possible les uns des autres. Il assure une communication asynchrone entre les systèmes.
L’adoption de l’ESB dans le monde de l’open source a permis d’étendre son utilisation et sa portée.
Couplé avec un ETL qui permet de transmettre de grandes quantités de données, un ESB va permettre d’assurer une communication fiable et temps-réel (au sens affaire, pas au sens micro-contrôleur) en traitant des échanges par transaction.
Le principal bénéfice d’un ESB est d’améliorer la réactivité des entreprises, de leur permettre de devenir plus agiles. Mais il peut aussi permettre de facilement monter en capacité en ajoutant des éléments sur le bus sans devoir toucher à l’existant.
L’avantage de l’abandon des communications point à point entre les éléments du système d’information (SI) est bien compris. L’ESB de par sa flexibilité et sa fiabilité a fait ses preuves.
L’ESB est toutefois challengé par les architectures de communication par messages à l’intérieur des systèmes applicatifs telles que les Microservices.
Quelques fournisseurs: