Processus

Talend Open Studio for MDM Guide utilisateur

EnrichVersion
6.2
EnrichProdName
Talend Open Studio for MDM
task
Gouvernance de données
Qualité et préparation de données
Création et développement
EnrichPlatform
Studio Talend

Un Processus définit plusieurs étapes pour réaliser une validation de données ou un Processus de validation humaine, un Processus de transformation, un Processus d'enrichissement, un Processus d'intégration de données, etc. Chaque étape d'un Processus peut utiliser un plug-in, qui est un mécanisme permettant d'ajouter des possibilités spécifiques au Processus afin d'effectuer une tâche unique. La liste des plug-ins disponibles est extensible par des développeurs J2EE. Les étapes définies dans chaque Processus et les plug-ins utilisés diffèrent selon la tâche que vous souhaitez accomplir.

Un des plug-ins disponibles dans toute plateforme de MDM de Talend est le plug-in callJob, qui invoque un Job Talend exposé en tant que Service Web. Pour plus d'informations concernant les types de Processus et les plug-ins associés, consultez Types de Processus et Principaux plug-ins.

Les paramètres à configurer lorsque vous définissez un Processus comprennent :

  • le nom du Processus,

  • la description du Processus,

  • la séquence des étapes : la liste de tous les plug-ins inclus dans le Processus à exécuter, l'un après l'autre,

  • les spécifications des étapes : un plug-in d'un Processus consomme des données dans les paramètres d'entrée et produit un résultat dans les paramètres de sortie. Vous devez définir des variables contenant le résultat d'une étape. Envoyez ensuite la variable à l'entrée de l'étape suivante, et ainsi de suite. Définissez un "pipeline" dans lequel le résultat de chaque étape est lié à l'étape suivante à travers une variable.

    Un plug-in peut avoir plusieurs variables et paramètres d'entrée, ainsi que plusieurs variables et paramètres de sortie.

Lorsque vous créez un Processus, vous combinez des plug-ins spécifiques dans une séquence d'étapes, qui sont exécutées les unes après les autres pour effectuer des tâches spécifiques.

Pour chaque étape, procédez comme suit :

  1. Choisissez le plug-in approprié.

  2. Saisissez ou sélectionnez une variable d'entrée et un paramètre d'entrée.

  3. Sélectionnez le paramètre de sortie et sélectionnez ou saisissez la variable de sortie.

Note

Il est possible de désactiver une ou plusieurs étape(s) à tout moment si vous cochez la case Disabled dans la zone Step Specification pour l'étape sélectionnée.

Pour une procédure étape par étape de la création d'un Processus, consultez Créer un Processus à partir de rien.

Types de Processus

Lorsque vous créez un Processus dans le Studio Talend, vous pouvez sélectionner l'un des types proposés : Before Saving/Deleting, Entity/Welcome Action, Smart View ou Other.

Le tableau ci-dessous décrit les différents types de Processus :

Type de Processus

Description

Plug-in associé

Other

Tout autre type que les types listés. Ce Processus est généralement exécuté après qu'un événement s'est produit sur les données maître dans le hub MDM.

Tout plug-in dans la liste des plug-ins disponibles.

Before Saving

Ce Processus valide les données maître selon certaines conditions avant de les sauvegarder dans le hub MDM. Il peut être lié à un Job créé dans la perspective Integration pour effectuer l'opération de validation de manière automatique.

Ce Processus peut altérer l'enregistrement MDM avant son commit dans la base de données. par exemple, un Job exécuté peut compléter un enregistrement avec des calculs et/ou des enrichissements.

Note

Le nom de ce Processus suit un modèle spécifique : beforeSaving_<entity>.

Notez, que, pour une meilleure lisibilité, dans la vue MDM Repository, les Processus sont stockés dans des sous-dossiers par type et seule la seconde partie du nom est affichée.

Tout plug-in dans la liste des plug-ins disponibles. Si ce Processus est lié à un Job Talend Job, il utilise le plug-in callJob. Ce plug-in exécute un appel de Job créé dans la perspective Integration pour évaluer les données à sauvegarder et retourne un message d'erreur si la validation de ces données est nécessaire.

Pour plus d'informations, consultez Configurer un schéma pour un Job "Before Saving/Deleting".

Before Deleting

Ce Processus évalue les données maître selon certaines conditions avant de les supprimer du hub MDM. Ce Processus peut être lié à un Job créé dans la perspective Integration pour effectuer automatiquement l'opération.

Note

Le nom de ce Processus suit un modèle spécifique : beforedeleting_<object name>.

Notez, que, pour une meilleure lisibilité, dans la vue MDM Repository, les Processus sont stockés dans des sous-dossiers par type et seule la seconde partie du nom est affichée.

Tout plug-in dans la liste des plug-ins disponibles. Si ce Processus est lié à un Job Talend Job, il utilise le plug-in callJob. Ce plug-in exécute un appel de Job créé dans la perspective Integration pour évaluer les données avant de les supprimer et d'interdire la modification par un message d'erreur.

Pour plus d'informations, consultez Configurer un schéma pour un Job "Before Saving/Deleting".

Smart_View

Ce Processus basé XSLT est automatiquement détecté par Talend MDM Web User Interface.

Il configure une présentation graphique plus personnalisée pour un objet de données spécifique (masquer des champs, afficher des icônes, etc.). L'utilisateur métier peut choisir d'afficher ou d'imprimer l'objet avec cette vue "smart view" ou passer à la vue "tree view", dans laquelle des éditions sont possibles.

Note

Le nom de ce Processus suit un modèle spécifique : Smart_view_<entity>_[<ISO2>][<#name>], dans lequel le code ISO et le suffixe du nom sont facultatifs. <ISO2> vous permet de définir des "Smart Views" multilingues et le suffixe <#name> vous permet d'avoir différentes "Smart View" de la même entité.

Le nom de ce Processus redeviendra automatiquement Smart_view_<Entity> si la langue n'est pas trouvée. La langue de votre navigateur sera celle par défaut.

Pour plus d'informations, consultez Créer un Processus "Smart View".

Généralement, le code XSLT transforme un document XML via un processeur XSLT.

Vous pouvez cependant choisir n'importe quel nombre d'étapes utilisant n'importe quel plug-in, tant que le résultat final est en HTML.

Entity Action

Ce Processus est créé dans le Studio et automatiquement listé dans l'éditeur Data Browser dans Talend MDM Web User Interface. Un utilisateur métier peut ensuite sélectionner l'un de ces Processus listés dans l'interface Web et cliquer sur le bouton Launch Process pour lancer le Processus sélectionné.

Ce Processus est toujours lié à une entité spécifique. Vous pouvez créer ce Processus pour effectuer toutes les tâches que vous souhaitez, par exemple envoyer une entité par e-mail.

Note

Le nom de ce Processus suit un modèle spécifique : Runnable_[entity]. Cependant, si vous souhaitez personnaliser le nom du Processus, vous devez spécifier un nom dans le champ Optional Name, dans l'assistant [Create Process], ce qui ajoute un caractère dièse (#) avant le mot que vous souhaitez ajouter au nom du Processus. Par exemple, donner, dans le champ Optional Name, le nom Send à un Processus Entity Action sur l'entité Agency donne au Processus le nom : Runnable_Agency#Send.

Notez, que, pour une meilleure lisibilité, dans la vue MDM Repository, les Processus sont stockés dans des sous-dossiers par type et seule la seconde partie du nom est affichée.

Tout plug-in dans la liste des plug-ins disponibles.

Cependant, le plug-in généralement associé est callJob si le Processus est lié à un Job Talend.

Welcome Action

Ce Processus est similaire au Processus Runnable Process, mais il n'est pas lié à une entité spécifique.

Ce Processus est créé dans le Studio et est automatiquement listé dans la page [Welcome] dans Talend MDM Web User Interface.

Vous pouvez créer ce Processus afin d'effectuer n'importe quelle tâche, par exemple ajouter un nouvel enregistrement/une nouvelle entité.

Note

Le nom de ce Processus suit un modèle spécifique : Runnable_[name]; par exemple Runnable_AddNewRecord.

Notez, que, pour une meilleure lisibilité, dans la vue MDM Repository, les Processus sont stockés dans des sous-dossiers par type et seule la seconde partie du nom est affichée.

Pour plus d'informations, consultez Créer un Processus Welcome Action.

Tout plug-in dans la liste des plug-ins disponibles.

Cependant, le plug-in généralement associé est callJob si le Processus est lié à un Job Talend.

Principaux plug-ins

Les plug-ins sont des composants supplémentaires ajoutant des fonctionnalités spécifiques au MDM de Talend. Le Studio Talend propose une liste de plug-ins pouvant être combinés avec un Processus donné. Ces plug-ins comprennent callJob, workflowcontexttrigger, groovy et xslt.

Le tableau ci-dessous explique ce que font certains plug-ins et détaille leurs paramètres.

Plug-in

Action

Description

callJob

Exécute un Job Talend sur des données maître (les modifier ou les propager, par exemple).

Pour plus d'informations concernant les schémas utilisés, consultez Schémas utilisés dans les Processus MDM pour appeler des Jobs.

Ce plug-in exécute un appel de service Web vers le serveur dans lequel le service Web est déployé, généralement le serveur MDM.

Paramètres :

url : URL du port du service Web.

Name : nom de la variable d'entrée.

Value : valeur de la variable d'entrée.

Note

Si vous souhaitez visusaliser le Job lié, cliquez sur le bouton Open Job pour l'ouvrir dans la perspective Integration.

groovy

Appelle un script Groovy et l'utilise pour traiter et transformer les données.

Ce plug-in implémente toutes les fonctionnalités du script Groovy afin de traiter et de transformer les données lorsqu'il reçoit un rapport de mise à jour. Il peut lire le document XML, transformer les données et écrire dans le document XML également.

xslt

Transforme un document XML à l'aide de XSLT.

Ce plug-in implémente les transformations XSLT sur un document XML. Il supporte XSLT 2.0 et est enrichi par des fonctionnalités de références croisées : instructions spécifiques permettant d'effectuer à la volée des références croisées sur toute donnée maître stockée dans le hub MDM. Lorsque la méthode de sortie du XSLT est définie à xml ou xhtml. Les références croisées sont effectuées après le traitement du XSLT sur tous les éléments avec les attributs suivants :

<MyElement
     xrefCluster='CLUSTER'
     xrefIn='TEST1, ..., TESTN'
     xrefOut='XPATH_IN_ITEM'
     xrefIgnore='true|false'
     xrefDefault='DEFAULT_VALUE'
>OLD_VALUE</MyElement>

Voici une définition de chacun des attributs :

-xrefCluster : le cluster dans lequel les éléments utilisés pour les références croisées sont stockés.

-xrefIn : une série de tests XPaths pour mettre en correspondance le contenu d'un élément avec un élément distant.

-xrefOut : le chemin XPath dans l'élément distant, en commençant par le nom de l'entité (concept), du contenu qui remplacera le contenu de l'élément.

-xrefIgnore : facultatif, par défaut à "false". S'il est configuré à "true", les références croisées n'échoueront pas si aucun élément n'est trouvé et la valeur xrefDefault sera insérée.

-xrefDefault : si xrefIgnore est configuré à "true" et que les références croisées échouent, cette valeur sera utilisée à la place.

Variables d'entrée :

-xml : le document xml sur lequel appliquer le XSLT.

-parameters : paramètres d'entrée facultatifs du XSLT dont la forme est :

<Parameters>
   <Parameter>
       <Name>PARAMETER_NAME</Name>
       <Value>PARAMETER_VALUE</Value>
   </Parameter>
</Parameters>

Variables de sortie :

- text : le résultat du XSLT.

Pour un exemple relatif à ce plug-in, consultez Exemple de plug-in xslt.

partialupdate

Effectue des mises à jour partielles sur un élément.

Le plug-in partialupdate met à jour des éléments d'un objet existant dans le contenu d'un document XML fourni. Ce plug-in propose la fonctionnalité suivante :

-ajout de sous-éléments ou mise à jour d'éléments existants,

-ajout de sous-éléments à une liste de sous-éléments existants, en commençant par une position spécifiée.

Variables d'entrée :

-xml-instance : XML utilisé pour trouver et mettre à jour un élément existant. L'élement mis à jour est recherché à partir du contenu XML, et le XMLdoit suivre certaines spécifications :

Tout d'abord, l'élément racine doit avoir le même nom que l'Entité de l'élément.

Ensuite, le XML doit contenir la valeur de toutes les clés de l'élément ayant le même chemin XPath que celles de l'élément, à moins que l'élément item_primary_key soit spécifié.

Enfin, à part les clés, le XML peut contenir plus d'éléments que celui mis à jour sur l'élément mais n'ayant pas à valider le modèle de données de l'élément.

-item_primary_key : facultatif si les valeurs de la clé sont configurées sur la variable xml_instance. La clé primaire doit être fournie en tant qu'objet de type application/xtentis.itempk comme retourné par le plug-in project.

-data_model : (facultatif) modèle de données utilisé pour valider l'élément après la mise à jour. Ecrase la valeur correspondante fournie dans les paramètres.

-clear_cache : facultatif, par défaut à "false". Si la variable est paramétrée à "true", le modèle de données est relu et analysé depuis la base de données pour chaque invocation du plug-in durant l'exécution du Processus.

Variables de sortie :

-item_primary_key : clé primaire de l'élément mis à jour de l'objet de type application/xtentis.itempk.

Exemple de plug-in xslt

Les paramètres de l'exemple suivant vont effectuer une boucle sur toutes les lignes de l'entrée XML et les envoyer dans le moteur de transformation comme fragments XML :

<Country
    xrefCluster='MYCLUSTER'
    xrefIn='.=Country/Codes/ISO2, ../Customer/Name=[ACME]'
    xrefOut='Country/Name/FR'
><xsl:value-of select='State/CountryCode'/></Country>

Cet exemple permet :

  • au XSLT de générer un élément <Country> dans le document cible,

  • au contenu de State/CountryCode du document source d'être inséré comme valeur de l'élément,

    -au reste des transformations xslt d'être effectuées,

  • au système d'interroger les données Country dans le cluster MYCLUSTER où :Codes/ISO2Code est égal à State/CountryCode (la valeur courante de l'élément Country) et /Customer/Name dans le document cible est égal à la valeur codée en dur ACME,

  • au document Country correspondant d'être retourné et à la valeur dans Name/FR d'être extraite,

  • à la valeur dans Country du document cible d'être remplacée par la valeur extraite.

Schémas utilisés dans les Processus MDM pour appeler des Jobs

Lorsqu'un Job est appelé d'un Processus MDM, il reçoit un document XML basé sur un schéma spécifique. En retour, le Job renvoie un document devant également se conformer à un schéma particulier.

Configurer le schéma pour un Job appelé via un déclencheur

Voici un cas typique lorsqu'un Processus est appelé par un déclencheur. Le Processus utilise un plug-in callJob pour invoquer un Job Talend créé dans la perspective Integration du Studio Talend.

Schéma d'entrée

Un document est passé au Job. Le schéma est :

<item>
         ... record ...
</item>

Par exemple, avec un enregistrement Customer, le résultat complet est :

<item>
        <Customer>
                <Firstname>Janet</Firstname>
                <Lastname>Richards</Lastname>
        </Customer>
</item>

Schéma de sortie

Si le Job ne retourne rien, le MDM va générer un document avec le statut de retour du Job dans la variable de sortie callJob :

<results>
        <item>
                <attr>0=ok or 1=failed</attr>
        </item>
</results>

Si le Job retourne une table via un composant tBufferOutput, le MDM va définir le document suivant dans la variable de sortie callJob :

<results> 
         <item>
                  <attr>col1</attr>
                  <attr>col2</attr>
                  etc.
         </item>
</results>

Ce résultat peut être remappé dans une entité en ajoutant le fragment suivant dans la configuration callJob :

<configuration>
(...)
   <conceptMapping>
         <concept>Customer</concept>
         <fields>
           {
           p0:Firstname,
           p1:Lastname,
           }
        </fields>
   </conceptMapping>
</configuration>

La variable de sortie callJob va recevoir :

<results>
        <Customer>
                <Firstname>col1</Firstname>
                <Lastname>col2</Lastname>
        </Customer>
</results>

Configurer un schéma pour un Job "Before Saving/Deleting"

Les noms des Processus Before Saving/Before Deleting sont donnés selon une convention de nommage. Ils ne passent pas par le mécanisme habituel déclencheur > Processus. Un Job appelé via un Processus Before Saving ou Before Deleting reçoit un document différent de ceux appelés par un déclencheur. De plus, ils doivent retourner un rapport de statut et un message d'erreur que l'Interface Web peut utiliser pour effectuer ou annuler l'action.

Note

Le Processus doit toujours retourner une variable appelée output_report.

Entrée

Le document d'entrée comprend le rapport de mise à jour (update report) ainsi que l'enregistrement à sauvegarder ou à supprimer :

<exchange>   
         <report>
         ... update report ...
         </report>
         <item>
         ... record ...
         </item>
</exchange>

Note

Vous pouvez toujours trouver la description exacte du schéma d'un rapport de mise à jour dans la vue MDM Repository dans Data Model > System > UpdateReport.

Dans le Job, vous pouvez définir des conditions similaires à celles des déclencheurs. Par exemple, vous pouvez utiliser exchange/report/Update/OperationType pour implémenter différentes conditions sur CREATE et UPDATE.

Sortie

Le Job est requis pour retourner un document conforme à :

<report><message type="info">message</message></report>

ou à :

<report><message type="error">message</message></report>

Note

Lorsque vous souhaitez créer un Processus Before Saving qui vérifie une règle de validation et met à jour un enregistrement à la volée, vous devez définir un Processus en deux étapes, une retournant output_item et l'autre retournant output_report.

Les principes de travail pour les Processus Before Saving et Before Deleting peuvent être résumés comme décrit dans les trois cas ci-dessous.

Après l'achèvement du Processus Before Saving ou Before Deleting, le serveur MDM cherche une variable appelée output_report dans le pipeline du Processus.

Premier cas :

L'attribut code détermine comment le serveur MDM doit considérer le résultat du Processus de validation :

  • Si <report><message type="info">message</message></report> : le Processus de validation de l'enregistrement de données a été effectué avec succès et un message va s'afficher. L'enregistrement de données sera sauvegardé avec succès avec le Processus Before Saving, ou supprimé avec succès avec le Processus Before Deleting.

  • Si <report><message type="error">message</message></report> : le Processus de validation de l'enregistrement de données échoue et un message s'affiche. L'enregistrement de données ne sera pas sauvegardé avec le Processus Before Saving et ne sera pas supprimé avec le Processus Before Deleting.

Deuxième cas :

Le serveur MDM n'a pas trouvé la variable output_report ou le fragment <error>. Le Processus de validation de l'enregistrement de données a échoué et un message d'erreur va s'afficher pour le confirmer. L'enregistrement de données ne sera pas sauvegardé avec le Processus Before Saving et ne sera pas supprimé avec le Processus Before Deleting.

Troisième cas :

Le Processus retourne une erreur (par exemple une des étapes du Processus amène à une erreur technique : mauvaise configuration, erreur de syntaxe XSLT, Job introuvable ou impossible à appeler, etc.). Un message d'erreur technique va s'afficher et l'enregistrement de données ne sera pas sauvegardé avec le Processus Before Saving et ne sera pas supprimé avec le Processus Before Deleting.

Définir la séquence du Processus callJob à l'aide de l'assistant Create Process

L'assistant [Create Process] vous guide lors de la génération de la séquence complète du Processus callJob pour chacun des types de Processus suivants : Before Saving ou Before Deleting, Entity Action ou Welcome Action et Other. Pour une description de chaque type de Processus, consultez Types de Processus.

Les étapes à suivre varient selon le type de Processus qui est généré.

Définir la séquence du Processus callJob pour un Processus Before

Pour définir la séquence du callJob pour un Processus Before Saving ou Before Deleting à l'aide de l'assistant [Create Process], procédez comme suit :

  1. Dans la vue MDM Repository, développez le nœud Event Management, cliquez-droit sur le nœud Process puis cliquez sur New.

    L'assistant [Create Process] s'ouvre.

  2. Sélectionnez le type de Processus que vous voulez créer puis cliquez sur Next.

    L'étape suivante de l'assistant [Create Process] apparaît.

  3. Sélectionnez soit Before Saving Process soit Before Deleting Process, puis cliquez sur le bouton [...] à côté du champ Input Name.

    La boîte de dialogue [Select one Entity] s'ouvre.

  4. Sélectionnez l'Entité spécifique pour laquelle vous voulez générer le Processus, puis cliquez sur Add pour revenir sur l'assistant [Create Process].

  5. Cliquez sur Next.

    Une boîte de dialogue s'ouvre, dans laquelle vous pouvez saisir un message multilingue pour accompagner votre Processus.

  6. Définissez le message d'erreur ou d'information que vous souhaitez afficher, comme suit :

    1. Sélectionnez le type de message, error ou info.

    2. Cliquez sur le bouton [...] à côté du champ Message pour ouvrir une boîte de dialogue dans laquelle vous pouvez écrire le message et une version localisée dans un ou plusieurs langues.

    3. Cliquez sur OK pour fermer la boîte de dialogue [Set multi-lingual message] et revenir à l'assistant [Create Process].

  7. Cliquez sur Next.

  8. Cochez ou décochez la case Generate the template job pour spécifier si vous voulez générer un modèle de Job pour le Processus, puis cliquez sur Finish.

    Le Processus et, s'il y a lieu, le modèle de Job s'ouvrent.

Définir la séquence du Processus callJob pour un Processus Entity Action ou Welcome Action

Pour définir la séquence du Processus callJob pour un Processus Entity Action ou Welcome Action à l'aide de l'assistant [Create Process], procédez comme suit :

  1. Dans la vue MDM Repository, développez le nœud Event Management, cliquez sur le nœud Process, puis cliquez sur New.

    L'assistant [Create Process] s'ouvre.

  2. Sélectionnez le type de Processus que vous voulez créer, puis cliquez sur Next.

    L'étape suivante de l'assistant [Create Process] s'ouvre.

  3. Sélectionnez Entity Action Process ou Welcome Action Process selon votre besoin.

    Un Processus Entity Action est lié à une Entité spécifique (que vous définissez dans l'étape suivante de cet assistant). Un Processus Welcome Action apparaît comme un lien standalone dans la page Welcome de Talend MDM Web User Interface.

  4. Cliquez sur le bouton [...] à côté du champ Description.

    La boîte de dialogue [Set multi-lingual message] s'ouvre.

  5. Saisissez le texte correspondant au titre en langue anglaise qui accompagnera votre Processus, puis cliquez sur le bouton [+].

    Note

    Si nécessaire, vous pouvez également définir des versions localisées du titre pour d'autres langues.

  6. Cliquez sur OK pour revenir à l'assistant [Create Process].

  7. Cliquez sur le bouton [...] à côté du champ Entity.

    La boîte de dialogue [Select one Entity] s'ouvre.

  8. Sélectionnez l'Entité spécifique pour laquelle vous voulez générer le Processus, puis cliquez sur Add pour revenir sur l'assistant [Create Process].

    Note

    Si vous créez un Processus Welcome Action, passez l'étape de sélection de l'Entité et saisissez manuellement un nom pour votre Processus dans le champ Optional Name.

  9. Cliquez sur Next.

    L'étape suivante de l'assistant [Create Process] s'ouvre.

  10. Cochez la case Enable redirection si vous voulez que le Processus redirige le navigateur Web vers une URL, et spécifiez l'URL dans le champ URL.

  11. Cliquez sur Next.

  12. Cochez ou décochez la case Generate the template job pour spécifier si vous voulez générer un modèle de Job pour le Processus, puis cliquez sur Finish.

    Le Processus et, s'il y a lieu, le modèle de Job s'ouvrent.

Définir une séquence du Processus callJob pour un Processus Other

Pour Définir une séquence du Processus callJob pour un Processus Other à l'aide de l'assistant [Create Process], procédez comme suit :

  1. Dans la vue MDM Repository, développez le nœud Event Management, cliquez-droit sur le nœud Process, puis cliquez sur New.

    L'assistant [Create Process] s'ouvre.

  2. Sélectionnez le type de Processus que vous voulez créer, puis cliquez sur Next.

    L'étape suivante de l'assistant [Create Process] s'ouvre.

  3. Saisissez un nom pour le Processus dans le champ Input Name, puis cliquez sur Next.

  4. Cochez ou décochez la case Generate the template job pour spécifier si vous voulez générer un modèle de Job pour le Processus, puis cliquez sur Finish.

    Le Processus et, s'il y a lieu, le modèle de Job s'ouvre.

Créer un Processus à partir de rien

Lorsque vous créez un Processus, vous combinez des plug-ins de Processus spécifiques dans une séquence d'étapes. Ces étapes sont alors exécutées l'une après l'autre pour effectuer des tâches spécifiques.

Lorsqu'un enregistrement de données est créé/mis à jour/supprimé, le serveur MDM génère un document et le liste sous le nœud UpdateReport dans le conteneur de données System dans la vue MDM Repository. Ce document décrit l'événement en répondant aux questions qui, quoi et quand et en donnant la clé primaire de l'enregistrement et les valeurs avant et après, en cas de mise à jour. Ce document UpdateReport contient toutes les informations concernant l'événement qui vient de se dérouler, il ne contient cependant pas l'enregistrement XML complet qui a été créé/mis à jour/supprimé. Ce document est ensuite envoyé au gestionnaire d'événements. Lorsque le gestionnaire d'événement reçoit un document, il essaye de comparer les conditions du déclencheur par rapport à ce document. Pour plus d'informations concernant les déclencheurs, consultez Déclencheurs.

La séquence d'événements qui se déroule lorsqu'une création/mise à jour/suppression est effectuée (Create/Update/Delete, CRUD) se fait dans le MDM de Talend comme suit :

  • le gestionnaire d'événement évalue chaque déclencheur pour voir si un ou plusieurs déclencheur(s) a (ont) des conditions valides,

  • les services définis dans le déclencheur ayant les conditions valides sont appelés,

  • si un service callJob a été défini sur le déclencheur, le déclencheur utilise le plug-in callJob pour exécuter un Job Talend.

Dans l'exemple ci-dessous, 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. Différents attributs ont été créés dans l'entité Product, y compris Price et Family. Vous souhaitez créer un Processus pour déclencher automatiquement un Job de validation, peu importe à quel moment le prix d'un élément appartenant à une famille spécifique a été modifié via Talend MDM Web User Interface.

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 Processus.

Pour créer un Processus afin de déclencher automatiquement un Job Talend :

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

    La boîte de dialogue [Create Process] s'ouvre.

  2. Sélectionnez l'option correspondant au type de Processus que vous souhaitez créer puis cliquez sur Next.

  3. Saisissez un nom pour le nouveau Processus.

    Dans cet exemple, créez un Processus Other nommé Call_Job. Sélectionnez l'option Create an other Process. Pour plus d'informations concernant les types de Processus, consultez Types de Processus.

  4. Cliquez sur OK pour fermer la boîte de dialogue.

    Un éditeur vide pour le nouveau Processus créé s'affiche dans l'espace de travail.

  5. Si nécessaire, cliquez sur le bouton [...] à côté du champ Description pour ouvrir une boîte de dialogue dans laquelle vous pouvez définir des descriptions multilingues de votre Processus.

  6. Dans le champ Step Description, saisissez un nom pour la première étape que vous souhaitez définir dans le Processus créé puis cliquez sur le bouton pour ajouter le nom de l'étape dans le rectangle sous le champ.

  7. Répétez la procédure pour ajouter les deux autres étapes incluses dans ce Processus.