Lancement par émission d'événements

Les événements apportent aux éléments de l'application associés de manière souple un mécanisme pour communiquer des informations sur les changements d'état du système. Lorsqu'un module de l'application émet un événement, un ou plusieurs autres modules reçoivent une notification indiquant qu'un événement s'est produit, pourvu qu'ils soient inscrits en tant que programmes d'écoute de cet événement.

Pour utiliser cette fonctionnalité, il faut définir des événements, du code doit émettre ces événements, et certains gestionnaires d'événements doivent être définis et enregistrés en tant que programmes d'écoute de ces événements. Des développeurs doivent écrire et enregistrer des gestionnaires d'événements (classes qui effectuent certaines actions lorsqu'un événement est émis) et éventuellement des filtres d'événement (logique qui détermine s'il convient d'appeler le gestionnaire pour un événement donné). Le WMS dispose d'un gestionnaire d'événements automatiquement enregistré pour écouter les événements associés aux flux de travaux.

Il est possible de démarrer un processus en réponse à un événement émis. Ceci nécessite de paramétrer certaines données de configuration (via une interface d'administration ou en tant qu'entrées préconfigurées de base de données). La configuration précise le ou les processus à démarrer en réponse à l'événement spécifique déclenché. Cette méthode permet aussi de configurer des mappages de données d'événement sur les données de lancement requises par le processus.

La configuration des événements de lancement de processus est conservée dans la base de données, et une interface utilisateur permet de manipuler ces données. Un lancement de processus créé de cette façon peut donc être activé, désactivé, modifié et même supprimé lors de l'exécution. Le principal inconvénient de cette approche est qu'elle ne peut être utilisée que pour les définitions de processus qui nécessitent une petite quantité de données de lancement, car les événements n'ont qu'une quantité limitée d'informations.

Un Gestionnaire d'événement de lancement de processus est fourni avec l'application, et automatiquement enregistré pour écouter les événements lancés dans l'application. Lorsqu'un processus a été configuré pour être lancé en tant qu'événement, les données de l'événement sont mappées sur les données de lancement du processus et le processus est démarré.

Des informations complémentaires sur les processus de lancement déclenchés par l'émission d'événements sont proposées dans le chapitre Process Enactment du Cúram Workflow Reference Guide.