ESB (Enterprise Service Bus) ■ Les ESB sont aujourd'hui la technologie d'intégration et de médiation inter-applicative privilégiée pour la mise en œuvre d'une architecture orientée service. ■ L’ESB est une solution technologique, qui facilite l’interaction entre les applications et la circulation de l’information dans votre système d’information bien sûr, mais également avec celui des fournisseurs, partenaires, clients… ■ L’ESB permet à des applications qui ne parlent pas la même langue de se comprendre et communiquer ! Pr. Khadija El Miloudi 293 ESB (Enterprise Service Bus) ■ Ce bus applicatif agit comme une colonne d’intégration à travers laquelle les applications interagissent sans contraintes de format ou de temporalité. ■ Il a un rôle de médiation et de communication entre les applications, bases de données, fichiers Excel… Pr. Khadija El Miloudi 294 Quels sont les principes de fonctionnement de l’Enterprise Service Bus ? ■ L’Enterprise Service Bus est représenté sous la forme d’un canal central ou d’un bus applicatif, qui se connecte avec les différentes applications et logiciels du système d’information. ■ Les applications du SI vont proposer leurs “services” à l’ESB, qui va les publier dans son registre afin de les mettre à disposition de toutes les applications, qui peuvent s’y abonner. Les applications sont donc à la fois fournisseurs et consommatrices de services. Pr. Khadija El Miloudi 295 Quels sont les principes de fonctionnement de l’Enterprise Service Bus ? Les responsabilités de l'ESB sont les suivantes : o Exposition des services o Routage des services o Transformation des services o Invocation des services Pr. Khadija El Miloudi 296 Quels sont les principes de fonctionnement de l’Enterprise Service Bus ? ■ Exposition : le consommateur ne connaît que l'ESB. Il invoque le service que ce dernier lui expose. Cette invocation se fait sur un protocole et avec un format de données qui sont indépendants du fournisseur de service ; Pr. Khadija El Miloudi 297 Quels sont les principes de fonctionnement de l’Enterprise Service Bus ? ■ Routage : l'ESB détermine le fournisseur de service à invoquer (éventuellement en s'appuyant sur un registre ou annuaire de services) Pr. Khadija El Miloudi 298 Quels sont les principes de fonctionnement de l’Enterprise Service Bus ? ■ Transformation : l'ESB réalise une médiation de format vers celui pris en charge par le fournisseur du service ; Pr. Khadija El Miloudi 299 Quels sont les principes de fonctionnement de l’Enterprise Service Bus ? ■ Invocation : c'est l'ESB qui invoque le fournisseur de service. Pr. Khadija El Miloudi 300 Les caractéristiques de l’ESB Médiation et routage intelligent : pouvoir dispatcher la bonne donnée au bon endroit Transformation : les messages sont convertis dans un format standard Rétention et persistance : la distribution peut être réalisée en mode synchrone ou asynchrone si l’application cible n’est pas disponible, sans bloquer l’acheminement vers les autres applications Convergence : plusieurs sources peuvent aller au même endroit Supervision : une vision consolidée des flux et de leur bon déroulement Pr. Khadija El Miloudi 301 Architecture Microservices ■ Les microservices sont une évolution logique de l'architecture SOA pour atteindre un degré élevé d’agilité, de distribution rapide et d’évolutivité. ■ C'est un style d’architecture logicielle dont les différents composants sont développés sous la forme de services autonomes qui s’exécutent avec leur propre processus. ■ L'ambition est la même que la SOA, c'est-à-dire transformer des applications complexes et volumineuses, en services simples communiquant entre eux. ■ L’architecture Microservices propose une granularité plus fine pour répondre à de nouveaux besoins en ne livrant et ne testant que le strict nécessaire. Pr. Khadija El Miloudi 302 Architecture Microservices ■ L'architecture microservices est basée sur des services plus petits et à plus fine granularité axés sur un seul objectif et pouvant fonctionner indépendamment les uns des autres, mais qui interagissent pour prendre en charge la même application. ■ Le concept de taille de service est la base des microservices. Il faut surtout s’assurer qu’un service rende une et une seule fonctionnalité, métier ou technique. Si un service commence à regrouper plusieurs fonctionnalités, il est certainement temps de le découper. Pr. Khadija El Miloudi 303 Architecture Microservices ■ La SOA et les microservices se distinguent principalement sur le médiateur inter applications : les ESB complexes de la SOA sont remplacés par des bus de messages simples sans complexité métier et robustes techniquement. ■ Les microservices reposent sur des systèmes de messagerie plus simples, comme les API qui sont indépendantes du langage utilisé et permettent une communication plus rapide. Pr. Khadija El Miloudi 304 Architecture Microservices ■ L’API (Application programming Interface) est, comme son nom l’indique une interface de programmation. Elle constitue le cadre à travers lequel un développeur peut interagir avec une application. ■ Les APIs sont un ensemble de classes, méthodes, fonctions et constantes qui sert d’interface par laquelle un logiciel peut offrir ses services à d’autres logiciels. Elles servent concrètement à accéder aux données d’une application et à utiliser ses fonctionnalités. Pr. Khadija El Miloudi 305 SOA ou Microservices? ■ Il y a plusieurs points à prendre en compte pour décider quelle solution est la plus pertinente pour l’entreprise, entre les microservices et la SOA. ■ La SOA offre une solution modulable pour décomposer les applications en composants plus petits, tandis que les microservices offrent une approche plus réduite et plus fine pour atteindre le même objectif. ■ Ces deux architectures s'exécutent régulièrement dans le cloud, ce qui augmente la flexibilité de création et de déploiement d'applications. ■ En fin de compte, la meilleure approche dépend des besoins propres de chaque entreprise. Pr. Khadija El Miloudi 306