Déclencheurs

Talend Data Fabric Studio Guide utilisateur

EnrichVersion
6.5
EnrichProdName
Talend Data Fabric
task
Qualité et préparation de données
Création et développement
EnrichPlatform
Studio Talend

Les déclencheurs sont utilisés pour lier le hub MDM et les modèles de données que vous avez définis dans le Studio. Vous pouvez utiliser des déclencheurs afin d'appeler des Processus spécifiques sous certaines conditions.

Les déclencheurs que vous définissez dans le Studio Talend activent différents services devant être appelés sur des enregistrements spécifiques de données.

Ensuite, lorsqu'un utilisateur métier crée ou modifie un enregistrement de données depuis Talend MDM Web User Interface, par exemple, un déclencheur démarre et le Processus basé événement correspondant est appelé par le Studio.

Créer un déclencheur

Note

La section ci-dessous explique comment créer un déclencheur à partir de rien, cependant, le Studio Talend vous permet également de générer automatiquement des déclencheurs basés sur les Jobs listés sous le nœud Job Designs dans la vue MDM Repository. Vous pouvez ensuite effectuer n'importe quelle modification sur le déclencheur généré, si nécessaire. Pour plus d'informations, consultez Générer un déclencheur basé Job.

Les déclencheurs sont des règles de transformation de données. Vous pouvez facilement définir des déclencheurs sur des entités/éléments métier spécifiques dans le Studio Talend.

Les paramètres à configurer lors de la définition des déclencheurs comprennent :

  • la sélection de l'entité métier sur laquelle vous souhaitez déclencher le Processus,

  • la définition des conditions sur son contenu,

  • le choix du mode d'exécution,

  • la sélection du service à déclencher,

  • la configuration des paramètres du service.

Prérequis : Vous devez déjà être connecté au serveur MDM à partir du Studio Talend. Vous devez avoir l'autorisation appropriée pour créer des déclencheurs.

Dans cet exemple, un modèle de données appelé Product a été créé dans le Studio Talend. Ce modèle de données possède deux entités métier : Product et ProductFamily. Plusieurs attributs ont été créés dans l'entité Product, y compris Price et Family. Pour plus d'informations concernant la création d'un modèle de données, consultez Configurer un modèle de données.

Un Processus a été créé et nommé Call_Job. Un service a été configuré dans ce Processus pour lancer un Job de validation lorsque le prix d'un élément appartenant à une famille spécifique a été modifié via Talend MDM Web User Interface. Pour plus d'informations concernant la création d'un tel Processus, consultez Créer un Processus à partir de rien.

Il vous reste encore à créer un déclencheur et à le configurer pour lancer le Processus Call_Job, qui lancera à son tour le Job Talend de validation du prix.

Les sous-sections ci-dessous expliquent de manière détaillée les procédures nécessaires afin de compléter la création d'un déclencheur.

Définir les entités métier sur lesquelles déclencher un Processus spécifique

Pour créer un déclencheur, vous devez d'abord définir les entités métier dans un modèle de données sélectionné sur lesquelles vous souhaitez déclencher un Processus spécifique. Vous devez également définir le mode d'exécution. Pour ce faire :

  1. Dans la vue MDM Repository, développez Event Management puis cliquez-droit sur Triggers et sélectionnez New dans le menu contextuel.

    La boîte de dialogue [New Trigger] s'ouvre.

  2. Saisissez un nom pour le nouveau déclencheur puis cliquez sur OK pour fermer la boîte de dialogue.

    Un éditeur pour le nouveau déclencheur s'ouvre dans l'espace de travail.

    Avertissement

    Les espaces ne sont pas autorisés dans le nom du modèle de données. Le bouton OK de la boîte de dialogue sera indisponible tant que le nom de l'instance contiendra un espace.

  3. Dans le champ Description saisissez une description pour identifier le déclencheur que vous être en train de créer. Dans cet exemple, le déclencheur va lancer un Processus qui lancera à son tour le Job ValidatePriceChange_0.1.

  4. Cliquez sur le bouton [...] à côté du champ Entity pour ouvrir une boîte de dialogue dans laquelle vous pouvez sélectionner l'entité métier sur laquelle déclencher le Processus, Product dans cet exemple.

  5. Dans la boîte de dialogue ouverte, cliquez sur la flèche Data Models et sélectionnez le modèle de données contenant l'entité métier sur laquelle vous souhaitez exécuter le déclencheur.

  6. Sélectionnez l'entité métier dans la liste et cliquez sur Add pour fermer la boîte de dialogue.

    Le nom de l'entité métier sélectionnée s'affiche dans le champ Entity.

  7. Cochez la case correspondant au mode d'exécution que vous souhaitez utiliser :

Cochez

pour...

Execute Synchronously

exécuter immédiatement le Processus déclenché. Dans la plupart des cas, cela signifie qu'une connexion ouverte à partir d'un système source ne sera pas libérée avant que l'enregistrement de données ait été envoyé au système de destination et la connexion est libérée par le système de destination.

Execution Order : saisissez une valeur entière (égale ou supérieure à zéro) dans ce champ afin de spécifier l'ordre dans lequel chaque Déclenchement sera exécuté, s'il y en a plusieurs éligibles pour un événement donné. Plus la valeur est basse, plus il sera exécuté tôt.

Gardez ceci à l'esprit :

  • Si aucune valeur n'est spécifiée pour un déclencheur, son ordre d'exécution est par défaut 0.

  • Si la même valeur est spécifiée pour plusieurs déclencheurs éligibles pour un événement donné, l'ordre d'exécution se fait au hasard.

Deactivate

mettre le déclencheur défini en pause.

Sélectionner le service à déclencher et configurer ses paramètres

Après avoir défini les entités métier sur lesquelles vous souhaitez déclencher un Processus spécifique, vous devez sélectionner un service à exécuter sur l'entité métier définie et configurer ses paramètres.

Pour sélectionner un service à déclencher, procédez comme suit :

  1. Dans la zone Service, cliquez sur la flèche Service JNDI Name et sélectionnez dans la liste le serveur que vous souhaitez démarrer par le déclencheur, callprocess dans cet exemple.

    Note

    Les services que vous pouvez trouver dans la liste sont des services MDM préconfigurés. Cliquez sur le bouton pour ouvrir une boîte de dialogue vous donnant des informations concernant ce que font les services et leurs paramètres.

  2. Dans la zone Service Parameters, configurez les paramètres du service sélectionné dans la liste.

    Lorsque vous sélectionnez le service call_process, vous devez simplement cliquer sur le nom du Processus que vous souhaitez déclencher, Call_Job dans cet exemple. Pour plus d'informations concernant la création d'un Processus à partir de rien, consultez Créer un Processus à partir de rien.

Le service callprocess est l'un des services les plus importants disponibles dans la liste. Lorsque vous sélectionnez ce service, vous pouvez appeler n'importe quel Processus que vous avez créé dans le Studio Talend pour transformer et croiser les données maître. Pour plus d'informations concernant les Processus, consultez Processus.

Les paramètres à définir dans la zone Service Parameters diffèrent selon le service sélectionné dans la liste des services. Le Studio Talend simplifie cette tâche en créant le code XML sous-jacent pour l'exécution du déclencheur.

Lorsque vous sélectionnez le service Calljob, par exemple, vous accédez à une liste de tous les Jobs déployés directement dans l'éditeur des déclencheurs.

Lorsque vous sélectionnez le service workflowcontext, par exemple, vous pouvez accéder à une liste de tous les workflows déployés, directement dans l'éditeur de déclencheur. Cela simplifie le processus de création de déclencheurs.

Dans la zone Service Parameters, vous pouvez spécifier le numéro de version du processus de Workflow et le nom et mot de passe utilisateur pour accéder au serveur BPM. Les informations d'authentification spécifiées ici vont écraser les paramètres par défaut pour les utilisateurs techniques de Bonita dans le fichier <$INSTALLDIR>\conf\mdm.conf<$INSTALLDIR> spécifie le chemin où a été installé le serveur MDM. Pour plus d'informations, consultez le Guide d'installation Talend.

Note

Pour certains services, vous pouvez passer de l'éditeur graphique à l'éditeur de texte en cliquant sur les onglets Sheet et Source respectivement. Vous pouvez configurer les paramètres du service dans ces deux éditeurs et les modifications que vous effectuez dans un éditeur seront reflétées dans l'autre.

Configurer les conditions pour le déclencheur

Après avoir sélectionné un service préconfiguré à exécuter sur l'entité métier sélectionnée, vous devez configurer les paramètres du service et définir les conditions sur le contenu de l'entité métier sélectionnée.

Pour configurer les conditions de ce déclencheur, procédez comme suit ;

  1. Dans la zone Trigger xPath Expressions, cliquez sur le bouton pour ajouter une nouvelle ligne XPath à la table, dans laquelle vous pouvez définir la première condition.

  2. Dans la nouvelle ligne XPath, cliquez sur le bouton [...] pour ouvrir une boîte de dialogue dans laquelle vous pouvez sélectionner l'entité ou l'élément sur laquelle/lequel vous souhaitez définir des conditions, Update/OperationType dans cet exemple.

  3. Cliquez dans la colonne Operator et sélectionnez un opérateur dans la liste.

  4. Dans la colonne Value, saisissez une valeur pour les entités/éléments sélectionné(e)s. La valeur est généralement le nom de l'entité ou de l'élément. Saisissez la valeur UPDATE dans cet exemple (sensible à la casse).

  5. Dans la colonne Condition Id, saisissez un identifiant unique pour la condition que vous souhaitez définir sur l'entité/élément sélectionné(e), C1 dans cet exemple.

    La première condition signifie que le déclencheur sera exécuté uniquement sur les enregistrements de l'entité Update lorsqu'une mise à jour est effectuée. Activez également ce déclencheur uniquement si la mise à jour est effectuée sur l'attribut Price. Ainsi, suivez les mêmes étapes pour définir la seconde condition sur l'attribut Item/path en utilisant la valeur Price et la condition C2.

  6. Dans la zone Conditions, saisissez la requête que vous souhaitez exécuter sur l'enregistrement de données à l'aide des IDs de condition que vous avez définis précédemment, C1 And C2 dans cet exemple.

    Le déclencheur créé dans la procédure ci-dessus signifie que vous souhaitez que le déclencheur soit exécuté sur un enregistrement dans l'entité Update uniquement lorsque l'attribut Price a été modifié.

    Note

    Lorsque les conditions correspondent au contenu de l'enregistrement de données, le service sélectionné est déclenché sur le contenu des enregistrements de données correspondants aux conditions définies.

  7. Cliquez sur l'icône de sauvegarde dans la barre d'outils ou appuyez sur les touches Ctrl + S de votre clavier pour sauvegarder vos modifications.

Le déclencheur créé s'affiche sous le nœud Trigger dans la vue MDM Repository.

Gérer les déclencheurs

Un utilisateur autorisé peut également tester, importer/exporter, copier/coller et supprimer des déclencheurs créés dans le Studio Talend.

Note

Il est également possible d'importer et de partager des projets MDM complets ou uniquement un modèle de données, on encore une partie d'un modèle de données dans la page Web de la communauté, Talend Exchange. Pour plus d'informations, consultez Projets/objets dans Talend Exchange.

Tester des déclencheurs dans le Studio

Le Studio Talend permet de tester l'exécution de déclencheurs pour voir si un ou plusieurs déclencheurs correspondant aux conditions de test définies par un enregistrement d'événement s'exécutent comme attendu.

L'enregistrement d'événement utilisé pour tester les déclencheurs est traité par le nœud Event Manager. Lorsque les conditions définies dans l'enregistrement d'événement correspondent aux conditions d'exécution d'un déclencheur, le déclencheur s'exécute.

Pour les déclencheurs synchrones, les résultats de l'exécution sont retournés directement. Pour les déclencheurs asynchrones, vous devez vérifier le log d'activité du serveur MDM afin d'obtenir le statut des résultats d'exécution.

Prérequis : Vous devez être connecté au serveur MDM. Un ou plusieurs déclencheurs à tester doit (doivent) avoir été déployé(s) sur le serveur MDM.

Pour plus d'informations sur les déclencheurs, consultez Déclencheurs.

Pour tester des déclencheurs dans le studio, procédez comme suit :

  1. Dans la vue MDM Repository, développez les nœuds Event Management et Trigger puis sélectionnez Test dans le menu contextuel.

  2. Une boîte de dialogue s'ouvre et vous demande de sélectionner le serveur sur lequel le serveur MDM est installé.

    Après sélection, cliquez sur OK pour fermer la boîte de dialogue.

  3. La boîte de dialogue [Select Record] s'ouvre. Le serveur sélectionné s'affiche dans la liste Server.

    Sélectionnez UpdateReport dans la liste Container.

    Le document UpdateReport contient tous les enregistrements d'événements générés lorsqu'un enregistrement de données est créé, mis à jour ou supprimé. A chaque fois que le gestionnaire d'événements reçoit un document, il tente d'évaluer les conditions de chaque déclencheur par rapport à ce document.

    Sélectionnez un enregistrement d'événement afin de tester des déclencheurs.

  4. Cliquez sur l'icône à côté de la liste Entity pour afficher une liste d'enregistrements.

  5. Si nécessaire, définissez les conditions dans la zone Record Search pour filtrer les enregistrements à afficher. Par exemple, vous pouvez sélectionner un moment spécifique dans les champs From et To respectivement, pour afficher uniquement les enregistrements générés durant cette période de temps.

  6. Cliquez sur l'enregistrement souhaité pour afficher son contenu dans la zone Record Content.

    Au besoin, vous pouvez créer un nouvel enregistrement à utiliser pour tester des déclencheurs. Pour plus d'informations, consultez Créer un nouvel enregistrement pour tester des déclencheurs.

  7. Cliquez sur Test. Un message s'ouvre et vous indique qu'un ou plusieurs déclencheurs correspondant aux conditions de l'enregistrement d'événement sélectionné a (ont) bien été exécuté(s).

  8. Afin de vérifier les résultats d'exécution de ces déclencheurs, consultez le fichier mdm.log en utilisant une des manières suivantes :

    • Dans le panneau Server Explorer, cliquez-droit sur la connexion au serveur où MDM est installé puis cliquez sur View Server Log. Une console s'ouvre affichant le contenu le plus récent du fichier mdm.log.

    • Vous pouvez également voir le contenu du fichier mdm.log dans un navigateur. Pour plus d'informations concernant la visualisation du log d'activité sur le serveur MDM, consultez Visualisation du log d'activité sur le serveur MDM.

    • Si vous avez un accès direct au serveur MDM, vous pouvez consulter ce fichier directement dans le répertoire <$INSTALLDIR>/log.

Créer un nouvel enregistrement pour tester des déclencheurs

Le Studio Talend vous permet de créer un nouvel enregistrement à utiliser pour tester des déclencheurs si vous ne trouvez pas d'enregistrement satisfaisant dans les enregistrements listés. Pour plus d'informations concernant le test de déclencheurs dans le studio, consultez Tester des déclencheurs dans le Studio.

Pour créer un nouvel enregistrement afin de tester des déclencheurs, procédez comme suit :

  1. Dans la boîte de dialogue [Select Record], cliquez-droit dans la zone où sont listés les enregistrements puis cliquez sur New Record.

  2. Une boîte de dialogue apparaît, contenant un éditeur et un aperçu XML.

    Saisissez un enregistrement définissant les conditions utilisées pour tester les déclencheurs. Vous pouvez également voir l'enregistrement sous forme d'arborescence en cliquant sur l'onglet Tree.

    Dans cet exemple, une partie du document UpdateReport est préparée. Notez que les rapports Update Reports sont stockés dans le MDM de Talend en tant que document XML semblable aux données maître, avec, en plus, un modèle de données statique et prédéfini.

  3. Sélectionnez le modèle de données approprié dans la liste Data Model. Dans cet exemple, sélectionnez UpdateReport.

  4. Si le nouvel enregistrement créé n'est pas un document UpdateReport, cochez la case Fire a change event (update report) and triggers pour écrire le nouvel enregistrement dans UpdateReport et exécuter directement les déclencheurs éligibles.

    Après avoir coché la case Fire a change event (update report) and triggers, si nécessaire, cochez la case Enable verification by before processes pour activer la vérification du nouvel enregistrement par les Processus de type Before Saving. Pour plus d'informations concernant les types de Processus, consultez Types de Processus.

    Dans cet exemple, laissez la case Fire a change event (update report) and triggers décochée.

  5. Cliquez sur Save afin de sauvegarder vos modifications.