|
|
Architecture Orientée EvènementsL'architecture orientée événements (de l'anglais Event Driven Architecture, ou EDA) est une forme d'architecture de médiation qui est un modèle d'interaction applicative mettant en œuvre des services (composants logiciels) répondant à des sollicitations externes :
Par opposition à l'architecture orientée services (SOA) où un « fournisseur » rend un service à la demande d'un consommateur; en architecture EDA, un « service» prévient par émission d'un événement qu'il a réalisé une opération donnée. C'est aux Clients potentiels de traiter cet événement. Avec la SOA c'est une réponse très efficace aux problématiques que rencontrent les entreprises en termes de réutilisabilité, d'interopérabilité et de réduction de couplage entre les différents systèmes qui implémentent leurs systèmes d'information. Les architectures EDA ont été popularisées avec l'apparition de standards pour les places de marchés et les systèmes de vente aux enchères. Elles mettent en application une partie des principes d'urbanisation. Une architecture orientée événements, repose principalement sur un bus disposant de fonctionalités d'abonnement et de publication (publish and Subscribe).
[modifier] ExempleOn peut citer Sotheby's, qui a mis en place une architecture de type EDA pour son système de gestion des enchères (inscription des acheteurs, gestion des enchéres avec alertes,...) qui prend en charge à la fois le réseau intranet et les sollicitations de son site web et de son plateau téléphonique. [modifier] Les ConceptsLe couplage entre services est un couplage lache et les communications sont toutes asynchrones. Le service peut:
Le service doit :
[modifier] L'annuaire de servicesL'annuaire de services référence l'ensemble des services et leurs événements (et des contrats associés) disponibles au sein du SI, il participe ainsi activement à la mise en œuvre d'une cartographie dynamique du SI. [modifier] Le bus Publish & SubscribeDans une architecture EDA, le bus a un rôle de médiateur (middleware) entre le service émetteur de l'événement et les consommateurs potentiels, il permet ainsi de réaliser le couplage lâche. Le bus peut aussi fournir une gamme de services :
[modifier] L'événementUn événement peut être défini comme "un changement significatif d'état"[1]. Par exemple, quand un client achète un tableau, le tableau passe de l'état "à vendre" à l'état "vendu" et le système de facturation va sur réception de cet événement déclencher l'émission de la facture, le même état sera traité par le service commission pour calculer les honaraires du commissaire priseur. Ce modèle d'architecture est très souple et avec un couplage très lache. Les consommateurs d'un événement doivent s'abonner (subscribe) à un intermédiaire de gestion d'événement (le bus) et le producteur de l'événement doit le publier auprès de ce gestionnaire (le bus). Quand le gestionnaire d'événement recoit un événement d'un producteur, il le diffuse (forward) aux consommateurs concernés. Si le consommateur est injoignable, le gestionnaire peut conserver le message et le diffuser ultérieurement. Ce moyen de transmission d'événements repose sur un bus de message "store and forward" [2]. Concevoir un système d'information reposant sur une architecture orientée événements permet à ses applications d'être construites de manière plus réactive, plus souple et plus flexible. L'architecture EDA compléte l'architecture orientée services (SOA) car les services peuvent être activés par des triggers que sont les événements[2][3]. [modifier] Structure d'un événementUn événement comprend 2 parties, un en-tête (event header) et le message (event body). L'en-tête comprend des informations comme son nom, son type, et un horodatage (timestamp de l'événement). Le message est la partie qui décrit la cause de l'événement (le tableau X a été vendu pour un prix Y à l'acheteur Z). [modifier] Voir aussi[modifier] Articles
[modifier] Références
[modifier] Liens externes
|