architecture orientée événements

Principes de l'architecture orientée événements

Temps de lecture : environ 8 min

Saviez-vous que nous produisons chaque jour pas moins de 2,5 trillions d’octets de données (c’est un « 1 » suivi de 18 zéros) ? Pour traiter et suivre toutes ces données, les organisations ont besoin d’applications flexibles qui peuvent s’adapter aux changements, susciter l’intérêt des utilisateurs et fournir des informations instantanées. 

Dans cet article, nous verrons comment l’architecture orientée événements peut aider vos équipes à développer des applications pour suivre et synthétiser les données. 

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

L’architecture orientée événements (EDA – event driven architecture) est une conception du développement d’applications visant à répondre à un « événement » en temps réel ou presque. Prenons l’exemple d’une commande passée sur un site de commerce en ligne. Cet événement détermine quelles mesures doivent être prises par tout service après sa survenue.

Pour que l’événement déclenche la réponse adéquate, un système orienté événements doit comporter trois grands éléments : les créateurs d’événements, les routeurs d’événements et les consommateurs d’événements. 

Cette approche fonctionne comme suit :

Créateur d’événements : un client passe une commande sur un site de commerce en ligne, créant ainsi un événement « Paiement » qui est envoyé à un routeur d’événements.

Routeur d’événements : rend l’événement disponible pour les consommateurs d’événements qui se sont abonnés à des événements de type « Paiement ». 

Consommateurs d’événements : les services tels que « Stock » et « Communication ».  

Le service « Stock » vérifie si l’article est en stock. Si l’article est en stock, un événement est créé et consommé par le service « Communication », qui envoie un message informant le client que la commande est en cours de traitement et qu’un autre message lui sera envoyé lorsqu’elle sera expédiée.

Si l’article est en rupture de stock, le service « Communication » informe le client qu’il peut attendre que l’article soit en stock ou annuler sa commande.

Lorsque l’article est expédié, le service « Expédition » crée un événement qui est consommé par le service « Communication », qui envoie un message contenant des informations telles que le numéro de suivi du colis, la date d’expédition et la date prévue de livraison.    

Quels sont les avantages de l’EDA ?

La programmation orientée événements présente plusieurs avantages, notamment :

Des services faiblement connectés : les créateurs et les consommateurs d’événements ne sont pas connectés. Le créateur ne sait pas quels consommateurs attendent les événements qu’il produit. Il envoie simplement l’événement à un routeur, où les consommateurs pourront trouver les types d’événements auxquels ils sont abonnés. 

Comme les créateurs et les consommateurs ne se connaissent pas et ne dépendent pas les uns des autres, il n’existe aucune source unique de défaillance. Si un service tombe en panne, les autres continuent de fonctionner afin que les événements soient consommés et traités comme prévu.

Évolutivité : comme les créateurs et les consommateurs ne se connaissent pas, il n’y a pas d’intégration directe. Il est beaucoup plus facile d’ajouter de nouveaux services dans le système et d’éviter les pannes au cours de cette opération.

Développement agile : comme il est facile d’ajouter de nouveaux services aux systèmes EDA, le développement s’intègre bien dans un environnement agile. Le routeur d’événements est le médiateur entre les services qui filtre et envoie les événements aux consommateurs. 

Cela signifie que vous n’avez pas à développer un code personnalisé qui recherche, filtre et transmet les événements aux consommateurs. Au final, cela accélère le développement et vous permet d’ajouter rapidement de nouveaux services sans impact majeur sur les composants existants.  

Réduction des coûts : les systèmes EDA sont basés sur le principe du « push », à la demande. Le système n’interroge pas continuellement les serveurs. La consultation et le traitement à la demande requièrent moins de ressources réseau, ce qui réduit les coûts globaux.

Réponse et analyses en temps réel : les applications réagissent aux changements en temps réel à l’aide des données actuelles et historiques pour prendre des décisions. Ce type de réponse aide le système à prévoir et à éliminer les menaces de sécurité à la volée, en automatisant et en optimisant les chaînes d’approvisionnement.

Quand utiliser une architecture orientée événements ?

Si vous souhaitez que vos applications soient interopérables avec divers systèmes et sous-systèmes, il est temps d’envisager l’utilisation d’une programmation orientée événements pour répondre aux besoins suivants :

Réplication des données entre comptes et entre régions : l’architecture orientée événements est idéale pour les entreprises qui opèrent dans différents lieux géographiques. Les routeurs d’événements peuvent transférer des données vers différents systèmes situés dans différentes régions et différents comptes. Cette approche permet de garantir la synchronisation des systèmes tout en laissant vos équipes développer et déployer de nouvelles applications et de nouveaux services indépendamment des autres équipes. 

Répartition et traitement parallèle: utilisez l’architecture EDA pour « répartir » un événement unique entre plusieurs systèmes qui doivent y répondre, ce qui évite à vos équipes de devoir développer un code personnalisé pour transmettre l’événement à chaque consommateur. Chaque système peut traiter l’événement en même temps à des fins différentes.

Surveillance et avertissements de l’état des ressources : les architectures  EDA peuvent surveiller les ressources et vous envoyer des alertes en cas de changement d’état, d’anomalies et de mise à jour des composants. 

Intégration de systèmes hétérogènes : utilisez des routeurs d’événements pour partager des informations entre des systèmes utilisant différentes piles technologiques. 

Cas d’utilisation

Vous pouvez déployer la conception EDA dans les scénarios suivants :

Financement

Surveillez les transactions pour détecter les fraudes. Employez l’intelligence artificielle (IA) et l’apprentissage automatique (ML) pour prédire et identifier des probabilités de fraude.

Services médicaux

Les événements peuvent créer des alertes pour effectuer un entretien préventif de l’équipement médical. Fournissez des soins proactifs et personnalisés sur la base des données en temps réel recueillies par les dispositifs de surveillance portables.

chaîne d’approvisionnement

Bénéficiez d’une visibilité complète, du traitement de la commande à l’expédition, grâce aux événements créés à chaque étape du processus. Répondez à la demande des clients en sachant à tout moment la quantité de marchandises que vous avez en stock dans votre entrepôt et dans les magasins.

Internet des objets (IoT)

Les « objets » connectés ne peuvent jamais deviner avec quel appareil ils devront travailler. Par exemple, les ampoules connectées doivent comprendre et répondre à un événement tel que « Allumer » que cet événement provienne d’une IA, d’une saisie manuelle dans une application ou d’une minuterie.

Omnicanal

Surveillez le comportement des clients. Obtenez des informations à partir des données collectées pour vous aider à répondre en temps réel aux besoins des clients.  

Comment bien démarrer

Pour de nombreuses entreprises, la mise en place d’un système EDA nécessite une refonte complète des systèmes et applications existants. Les architectures EDA aident les organisations à devenir plus réactives, à tirer parti des technologies du cloud et à concevoir de nouvelles technologies. Une révision complète peut prendre beaucoup de temps et coûter très cher. Mais il existe des solutions concrètes pour vous lancer.

Étape 1 : faire en sorte que les systèmes existants prennent en charge les événements  

Supprimez les silos liés à des interactions ou communications insuffisantes entre les systèmes existants. Codez-les pour qu’ils puissent publier des événements en temps réel. Ainsi, il ne sera plus nécessaire de coder des API personnalisées pour déplacer les données.   

Libérez le potentiel des données en rendant les changements et autres événements immédiatement visibles pour les systèmes et applications qui veulent en prendre connaissance.

Étape 2 : moderniser votre environnement d’applications actuel

Les architectures hybrides et multicloud gagnent en popularité grâce à leur flexibilité. Selon Santosh Rao, responsable principal de la gestion des produits, AWS RDS/Aurora chez Amazon Web Services :

« Les architectures hybrides vont permettre aux organisations d’aller au-delà de leurs centres de données et d’accéder à des services cloud répartis sur plusieurs plateformes. »

Il vous faut donc un moyen de faire transiter les événements et les données entre plusieurs systèmes fonctionnant simultanément. Dans le même temps, il vous faut transférer les charges de travail vers les systèmes qui offrent actuellement les meilleures performances et la meilleure disponibilité. 

Modernisez votre environnement d’applications pour tirer parti de l’infrastructure cloud. Par exemple, intégrez des applications SaaS capables de prendre en charge les fonctions qui vous intéressent.

Étape 3 : alerter et informer

Lorsque vos applications seront basées sur les événements, vos données ne seront plus bloquées dans des systèmes fermés ou cloisonnés. Les créateurs d’événements vous permettent d’interagir avec plusieurs équipes, partenaires commerciaux, fournisseurs et clients. Grâce aux événements, il n’est plus nécessaire de recourir à des processus d’extraction, de transformation et de chargement (ETL), et les entités intéressées par vos données n’ont plus besoin d’interroger constamment vos systèmes. La bande passante et les ressources processeurs ainsi libérées permettent aux consommateurs d’obtenir une réponse en temps réel. 

Visualisez

Pour commencer, visualisez et définissez ce que vous essayez d’accomplir. Utilisez les outils disponibles dans Lucid pour collaborer, rassembler des idées et représenter des architectures et des processus métier.

Lucidspark, un tableau blanc virtuel en ligne, permet aux membres d’une équipe, où qu’ils se trouvent dans le monde, de participer à des séances de brainstorming, de collaborer et de concrétiser leurs idées. 

Utilisez Lucidchart pour créer des visuels dynamiques qui cartographient les processus métier, les flux de travail, les graphiques, les architectures et tout ce qui peut vous donner un aperçu et une vue d’ensemble des systèmes que vous souhaitez déployer. Tous les documents Lucidchart sont stockés dans le cloud afin que les équipes puissent les ouvrir et collaborer en temps réel, quel que soit l’endroit où elles se trouvent ou l’heure de la journée.

Schématisez votre architecture orientée événements à l’aide de nos modèles de processus de gestion des événements personnalisable.

Gagnez en visibilité sur votre infrastructure grâce à Lucidchart

Surveillez les événements survenant sur votre infrastructure informatique à l’aide de notre modèle de gestion des événements.

Visualisez votre architecture dès aujourd’hui

À la une

The 4 Phases of the Project Management Life CycleLes 4 phases du cycle de vie de la gestion de projet

À propos de Lucidchart

Lucidchart est un éditeur de diagrammes intelligents qui permet aux équipes de simplifier la compréhension, de partager une vision commune et de construire l'avenir plus rapidement. Grâce à cette solution intuitive et basée sur le cloud, chacun peut travailler visuellement et collaborer en temps réel à la création de logigrammes, de maquettes, de diagrammes UML et bien plus encore.

Alternative à Visio la plus populaire, Lucidchart est une plateforme en ligne utilisée dans plus de 180 pays par plusieurs millions d'utilisateurs, des directeurs commerciaux chargés de cartographier leurs entreprises clientes aux responsables informatiques souhaitant visualiser leur infrastructure réseau.

Démarrer

  • Tarifs
  • Individual
  • Équipe
  • Entreprise
  • Contact commercial
ConfidentialitéMentions légalesCookies

© 2022 Lucid Software Inc.