Scénario : Appliquer des règles métier à un flux d'entrée afin de filtrer les données correspondantes - 6.1

Composants Talend Guide de référence

EnrichVersion
6.1
EnrichProdName
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Open Studio for Big Data
Talend Open Studio for Data Integration
Talend Open Studio for Data Quality
Talend Open Studio for ESB
Talend Open Studio for MDM
Talend Real-Time Big Data Platform
task
Création et développement
Gouvernance de données
Qualité et préparation de données
EnrichPlatform
Studio Talend

Ce scénario décrit un Job dans lequel le tBRMS applique des règles métier Drools à un flux d'entrée, afin que les données correspondantes puissent être récupérées en sortie. Dans ce scénario, les règles sont appliquées aux données d'entrée concernant des personnes demandant un prêt. La sortie montrera si les personnes peuvent avoir accès au prêt ou pas.

Prérequis :

Les règles métier utilisées dans le Job ont bien été créées et déployées dans le référentiel Drools compris dans Talend Administration Center.

Pour plus d'informations concernant l'utilisation de Drools pour construire et déployer des règles métier, consultez le Guide utilisateur de Talend Administration Center.

Vous pouvez également cloner des référentiels dans Drools pour accéder aux règles métier stockées dans ces référentiels. Pour plus d'informations concernant le clonage de référentiels Drools, consultez le Guide utilisateur de Talend Administration Center.

Déposer et relier les composants

  1. Déposez les composants suivants de la Palette dans l'espace de modélisation graphique : tFixedFlowInput, tMap, tBRMS, tExtractXMLField et tLogRow.

  2. Reliez le tFixedFlowInput au tMap à l'aide d'un lien Row > Main. Renommez ce lien loanAsk afin de mieux identifier sa fonction.

  3. Relie le tMap au tBRMS à l'aide d'un lien Row > *New Output* (Main).

  4. Reliez le tBRMS au tExtractXMLField à l'aide d'un lien Row > Main puis utilisez un autre lien Row > Main afin de connecter le tExtractXMLField au tLogRow.

Configurer le flux d'entrée

  1. Double-cliquez sur le tFixedFlowInput pour ouvrir sa vue Basic settings.

  2. Cliquez sur le bouton Edit schema afin de définir la structure des données source. Dans cet exemple, le schéma contient cinq colonnes relatives aux informations des candidats.

  3. Cliquez sur OK pour valider vos modifications et fermer la boîte de dialogue.

  4. Dans la zone Mode, sélectionnez Use Inline Content(delimited file).

  5. Modifiez les paramètres dans les champs Row Separator et Field Separator selon vos besoins. Dans cet exemple, saisissez "\t" dans le champ Field Separator.

  6. Dans la zone Content, saisissez les données suivantes représentant les informations des dix candidats :

    34	385000	58500	20	50000
    25	160000	12000	22	20000
    32	285000	8000	18	60000
    17	430000	100000	15	40000
    24	385000	58500	20	50000
    17	430000	100000	15	20000
    32	285000	5000	18	60000
    71	320000	23000	8	100000
    34	160000	12000	22	40000
    43	270000	60000	10	150000

Configurer le composant tMap

  1. Double-cliquez sur le tMap pour ouvrir son Map Editor.

  2. Dans la partie inférieure droite de l'éditeur de mapping, cliquez huit fois sur le bouton [+] pour ajouter huit colonnes : age, annualRevenue, loanDeposit, loanAmount, numberOfYears, loanInterest, monthlyPayment et rejected.

    Ces colonnes apparaissent dans la table des synonymes, du côté droit de l'éditeur de mapping. Dans cet exemple, la table se nomme row1.

  3. Dans la partie supérieure gauche de l'éditeur (flux d'entrée), sélectionnez les colonnes age et annualRevenue et déposez-les respectivement dans les colonnes age et annualRevenue de la partie supérieure droite de l'éditeur (flux de sortie).

    Vous pouvez également cliquer sur le bouton Auto map! pour mapper automatiquement les colonnes du même nom.

  4. Dans la table row1, cliquez dans la colonne Expression sur la ligne loanDeposit afin de localiser votre curseur puis cliquez sur le bouton [...] pour ouvrir la boîte de dialogue [Expression Builder].

    Saisissez l'expression suivante pour calculer le dépôt du prêt:

    Math.round(((loanAsk.downPayment  / loanAsk.totalAmount)*100)) 

    Cliquez sur OK pour fermer la boîte de dialogue [Expression Builder].

    Les champs downPayment et totalAmount du flux de données entrant et la colonne de sortie loanDeposit sont concaténés.

  5. Cliquez dans la colonne Expression sur la ligne loanAmount pour localiser votre curseur.

    Saisissez l'expression suivante pour calculer le montant du prêt:

    loanAsk.totalAmount - loanAsk.downPayment
  6. Cliquez dans la colonne Expression sur la ligne numberOfYears afin de localiser votre curseur.

    Saisissez loanAsk.duration afin de concaténer la ligne duration du flux d'entrée et la ligne numberOfYears de la colonne de sortie.

  7. Saisissez 0.0 dans la colonne Expression, pour les lignes loanInterest et monthlyPayment respectivement.

  8. Saisissez false dans la colonne Expression de la ligne rejected.

  9. Cliquez sur OK pour fermer l'éditeur de mapping.

Configurer le tBRMS

Configurer les Basic settings du tBRMS

  1. Cliquez sur le tBRMS afin d'ouvrir sa vue Basic settings.

  2. Cliquez sur le bouton [...] à côté du champ Edit schema pour ouvrir l'éditeur du schéma.

    Le schéma d'entrée à gauche est automatiquement récupéré du tMap.

  3. Dans la zone de sortie à droite, cliquez sur le bouton pour ajouter une nouvelle colonne qui permettra d'écrire les données de sortie dans un fichier XML. Saisissez un nom pour la colonne et définissez le Type comme String.

    Cliquez sur OK pour valider vos modifications et fermer la boîte de dialogue.

  4. Dans la liste XML Field, sélectionnez le Use latest deployment from KIE workbench pour télécharger le fichier .jar du référentiel Drools inclus dans Talend Administration Center.

    Pour plus d'informations concernant l'utilisation de Drools pour construire et déployer des règles métier, consultez le Guide utilisateur de Talend Administration Center.

  5. Dans le champ Drools Workbench URL, saisissez l'adresse du module Drools Workbench inclus dans Talend Administration Center.

  6. Saisissez l'URL de Guvnor dans le champ Guvnor URL.

  7. Saisissez dans les champs Username, Password votre identifiant et votre mot de passe de connexion au Talend Administration Center embarquant Drools.

    Saisissez l'adresse de votre Talend Administration Center dans le champ TAC URL.

    Lorsque Drools est installé sur le même serveur Web que Talend Administration Center, vous pouvez utiliser le nom de votre application Talend Administration Center au lieu de l'URL complète.

  8. À côté de Module List, cliquez sur le bouton [...] afin d'ouvrir la boîte de dialogue [Deploy Jar].

    Dans cette boîte de dialogue, les champs URL, Username, Password et URL of TAC sont déjà renseignés, avec les informations saisies dans les étapes précédentes.

  9. Cliquez sur le bouton [...] afin de parcourir les fichiers Jar dans la boîte de dialogue [Select Jarfile]  et sélectionnez le package de fichiers .jar, org.talend.bank, dans cet exemple :

  10. Dans la liste à côté du package sélectionné, sélectionnez la classe org.talend.bank.LoanSimulator puis cliquez sur OK afin de fermer la boîte de dialogue.

  11. Un programme Talend transforme la bibliothèque des règles métier de façon à pouvoir l'utiliser dans un Job et crée un fichier XSD à la racine de votre studio, dans /studio_path/Drools/<project_name>. Le fichier XSD enregistre le mapping entre le flux de données entrant et les objets à gérer par le moteur Drools.

  12. Dans le champ Drools Flow ID (optional), saisissez, entre guillemets, l'ID du flux Drools à utiliser lors de l'exécution des règles.

    Dans cet exemple, saisissez loanflow. Pour plus d'informations concernant les flux Drools, consultez le manuel Drools correspondant.

Configurer les paramètres avancés du tBRMS

  1. Cliquez sur l'onglet Advanced settings afin de définir les paramètres avancés.

  2. Dans la zone XML mapping, cliquez sur le bouton [...] pour configurer l'arborescence XML.

    Cliquez-droit sur la première ligne de la zone Link target puis sélectionnez Import XML Tree.

  3. Parcourez votre répertoire et sélectionnez le fichier XSD à la racine de votre Studio. Le schéma XML Tree est rempli automatiquement :

  4. Déposez toutes les colonnes adéquates à partir de Schema list dans les champs des colonnes correspondantes dans le schéma Link target.

    Dans la boîte de dialogue qui s'ouvre, sélectionnez l'option Add linker to target node.

    Vous pouvez également cliquer sur le bouton Auto map! afin de concaténer automatiquement les colonnes des panneaux Linker source et Linker target.

  5. Cliquez-droit sur le champ reason et sélectionnez Set As Loop Element dans le menu contextuel.

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

Configurer le flux de sortie

Pour extraire les données qui vous intéressent, vous devez configurer le flux de sortie. Les opérations à effectuer sont les suivantes :

  1. Double-cliquez sur le tExtractXMLField afin d'ouvrir sa vue Basic settings.

  2. Cliquez sur Edit schema pour ouvrir l'éditeur du schéma.

  3. Dans le schéma de sortie, à droite de l'éditeur, ajoutez et configurez les colonnes exactement comme elles apparaissent dans le schéma d'entrée du tBRMS. La séquence et le nom des colonnes peuvent varier selon vos besoins.

  4. Cliquez sur OK pour fermer l'éditeur.

  5. Dans le champ Loop XPath query, saisissez le nom du tag racine XML Tree, tel qu'il apparaît dans l'éditeur Configure XML Tree du composant tBRMS, c'est-à-dire précédé d'un slash et entouré de guillemets doubles, par exemple : "/loanSimulator".

  6. Dans les champs XPath query, à côté des colonnes correspondantes, saisissez entre guillemets doubles le nom des champs tels qu'ils apparaissent dans les champs XML Tree, dans la zone Link Target de l'éditeur Configure XML tree du composant tBRMS.

  7. Double-cliquez sur le tLogRow afin d'ouvrir sa vue Basic settings :

  8. Dans la zone Mode, sélectionnez l'option Table (print values in cells of a table).

Sauvegarder et exécuter le Job

  1. Appuyez sur les touches Ctrl+S afin de sauvegarder votre Job.

  2. Appuyez sur F6 pour exécuter le Job ou appuyez sur le bouton Run de la vue Run.

    La règle métier a été appliquée aux données d'entrée et le tableau des résultats indique quelles personnes ont été rejetées. La colonne Reason indique la raison pour laquelle la personne ne pourra obtenir de prêt.