Connexion / Inscription Account

Intégration

Qu'est-ce qu'une architecture orientée événements ?

Une architecture orientée événements est un modèle d'architecture logicielle utilisé pour la conception d'applications. Dans un système orienté événements, la capture, la communication, le traitement et la persistance des événements constituent la structure centrale de la solution. C'est ce qui différencie ce type de système du modèle traditionnel basé sur les requêtes.

De nombreuses applications modernes sont conçues selon une architecture orientée événements. Les applications orientées événements peuvent être créées à l'aide de n'importe quel langage de programmation, car l'architecture orientée événements est une approche et non un langage. L'architecture orientée événements permet un faible couplage. Elle est donc adaptée aux architectures d'applications modernes distribuées.

Une architecture orientée événements est faiblement couplée parce que les producteurs d'événements ignorent quels consommateurs d'événements écoutent un événement et que chaque événement ignore les conséquences de son apparition.


Qu'est-ce qu'un événement ?

Un événement désigne tout phénomène ou changement d'état significatif au niveau du matériel ou d'un logiciel système. Il ne faut pas confondre un événement et une notification d'événement, c'est-à-dire une notification ou un message envoyé par le système pour signaler à une autre partie du système qu'un événement s'est produit.

Les événements peuvent être causés par des actions internes ou externes. Ils peuvent être provoqués par des utilisateurs (clics de souris ou frappe sur le clavier, par exemple), provenir d'une source externe (un capteur) ou être générés par le système (au chargement d'un programme, par exemple).


Fonctionnement d'une architecture orientée événements

Une architecture orientée événements implique des producteurs et des consommateurs d'événements. Un producteur d'événements détecte ou reconnaît un événement et le représente sous forme de message. Il ignore quels seront les consommateurs et les conséquences de chaque événement.

Lorsqu'un événement a été détecté, il est transmis du producteur d'événements au consommateur via des canaux d'événement, où une plateforme de traitement les prend en charge de façon asynchrone. Les consommateurs d'événements doivent être informés lorsqu'un événement se produit. Ils peuvent traiter l'événement ou être seulement affectés par ce dernier.

La plateforme de traitement des événements exécute la réponse adaptée à chaque événement et envoie l'activité en aval aux consommateurs concernés. Cette activité permet de visualiser le résultat d'un événement.

Apache Kafka est une plateforme distribuée de diffusion de données en continu fréquemment utilisée pour le traitement des événements. Elle peut gérer la publication, le stockage et le traitement de flux d'événements en temps réel, ainsi que l'abonnement à ces événements. Apache Kafka prend en charge de nombreux cas d'utilisation différents pour lesquels un débit élevé et une bonne évolutivité sont essentiels. En réduisant au minimum la nécessité d'intégrations point à point pour le partage des données dans certaines applications, cette plateforme peut réduire la latence à quelques millisecondes seulement.

Il existe d'autres gestionnaires d'événements de type middleware qui peuvent servir de plateforme de traitement des événements.


Modèles d'architectures orientées événements

Une architecture orientée événements peut être basée sur un modèle de publication/abonnement ou sur un modèle de flux d'événements.

Modèle de publication/abonnement

Ce modèle est une infrastructure de messagerie basée sur des abonnements à des flux d'événements. Lorsqu'il est utilisé, chaque fois qu'un événement se produit ou est publié, il est envoyé aux abonnés qui doivent en être informés.

Modèle de flux d'événements

Avec un modèle de flux d'événements, les événements sont enregistrés dans un journal. Au lieu d'être abonnés à un flux d'événements, les consommateurs d'événements peuvent accéder à n'importe quelle partie du flux et le rejoindre à tout moment.

Il existe différents types de flux d'événements :

  • Le traitement des flux d'événements s'appuie sur une plateforme de diffusion de données en continu, telle qu'Apache Kafka, pour ingérer des événements et des processus, voire transformer le flux d'événements. Le traitement des flux d'événements peut permettre d'y détecter des tendances importantes.
  • Le traitement des événements simples correspond aux cas où un événement déclenche immédiatement une action au niveau du consommateur d'événements.
  • Le traitement des événements complexes oblige un consommateur d'événements à traiter une série d'événements afin de détecter des schémas récurrents.

Avantages d'une architecture orientée événements

Avec une architecture orientée événements, les entreprises peuvent se doter d'un système flexible capable de s'adapter aux changements et prendre des décisions en temps réel. L'évaluation de la situation en temps réel signifie que les décisions métier, qu'elles soient manuelles ou automatisées, peuvent être prises en exploitant toutes les données disponibles qui reflètent l'état actuel de vos systèmes.

Les événements sont capturés régulièrement à partir de sources d'événements telles que des périphériques IoT, des applications et des réseaux. Les producteurs et les consommateurs d'événements peuvent ainsi partager en temps réel les informations d'état et de réponse.

Les entreprises peuvent ajouter une architecture orientée événements à leurs systèmes et applications pour améliorer l'évolutivité et la réactivité de leurs applications, ainsi que pour accéder aux données et au contexte qui leur permettent de prendre des décisions éclairées.


Red Hat, un partenaire de choix en matière d'intégration agile

Aujourd'hui, les architectures d'applications cloud-native faiblement couplées et les architectures orientées événements, développées selon des méthodes agiles et des principes DevOps, exigent une approche de l'intégration tout aussi évolutive et agile.

Selon Red Hat, l'intégration agile est une stratégie de connexion des ressources qui allie des technologies d'intégration, des techniques de distribution agile et des plateformes cloud-native dans le but d'accélérer la distribution des logiciels tout en renforçant la sécurité.

Nous vous proposons des plateformes d'intégration et des logiciels de gestion qui vous permettent de connecter rapidement les technologies et microservices existants dans des environnements de cloud hybride et prennent en charge votre architecture orientée événements grâce à l'intégration agile.

Les solutions d'intégration de Red Hat

Red Hat Fuse logo

La solution Red Hat Fuse est une plateforme d'intégration distribuée qui peut être déployée sur site, dans le cloud ou sous forme d'iPaaS. Elle permet aux spécialistes de l'intégration, aux développeurs d'applications et aux utilisateurs métier de développer de manière indépendante des solutions connectées dans l'environnement de leur choix. Grâce à cette plateforme unifiée, les utilisateurs peuvent travailler en collaboration, accéder à des fonctionnalités en libre-service et appliquer les politiques de gouvernance en vigueur.

Red Hat AMQ

La solution Red Hat® AMQ est une plateforme de messagerie flexible qui repose sur des communautés Open Source telles qu'Apache ActiveMQ et Apache Kafka. Elle transmet les informations de manière fiable, intègre les ressources en temps réel et connecte l'Internet des objets.

Apprenez-en davantage sur l'intégration avec Red Hat