Scénario 2 : Mettre les données de sortie en mémoire tampon du serveur d'application Web - 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 appelant un service Web et stockant les données de sortie directement sur la mémoire tampon du serveur d'application Web. Ce scénario crée d'abord un Job utilisant des variables de contexte qui pourra ensuite être utilisé en tant que service Web, puis exporte de Job en tant que service Web.

Créer un Job

  1. Cliquez-déposez les composants suivants dans le Job Designer : tFixedFlowInput et tBufferOutput.

  2. Reliez-les via une connexion de type Row Main.

Créer une variable de contexte

Dans ce scénario, vous allez définir deux variables de contexte : nb_lines et lastname. La première variable configure le nombre de lignes générées par le composant tFixedFlowInput et la seconde configure le nom de famille à afficher dans la liste de sortie. Pour plus d'informations concernant la création et l'utilisation de variables de contexte, consultez le Guide utilisateur de Studio Talend.

Pour définir les deux variables de contexte :

  1. Dans l'onglet Contexts de votre Job, cliquez sur le bouton [+] au bas de la vue, afin d'ajouter deux variables, respectivement nb_lines, de type Integer et lastname de type String.

  2. Dans le champ Value des variables, configurez le nom de famille à afficher et le nombre de lignes à générer, respectivement Ford et 3 dans cet exemple.

Configurer les données d'entrée

  1. Dans l'espace de travail, sélectionnez le tFixedFlowInput.

  2. Cliquez sur la vue Component pour paramétrer ses propriétés de base dans l'onglet Basic settings.

  3. Cliquez sur le bouton [...] à côté du champ Edit Schema pour décrire la structure des données que vous souhaitez à partir des variables internes. Dans ce scénario, le schéma est constitué de trois colonnes : now, de type Date, firstname et lastname, toutes deux de type String.

  4. Cliquez sur OK pour fermer la boîte de dialogue et acceptez la propagation des modifications lorsque vous y êtes invité. Les trois colonnes définies apparaissent dans le champ Values de l'onglet Basic settings du tFixedFlowInput.

  5. Cliquez dans la cellule Value de chaque ligne des deux premier paramètres définis et appuyez sur Ctrl+Espace pour accéder à la liste des variables globales.

  6. A partir de la liste des variables globales, sélectionnez TalendDate.getCurrentDate() pour la colonne now et talendDatagenerator.getFirstName pour la colonne firstname.

  7. Cliquez dans la cellule Value de la colonne lastname et appuyez sur Ctrl+Espace pour accéder à la liste des variables globales.

  8. A partir de la liste des variables globales, sélectionnez context.lastname, la variable de contexte que vous avez créé pour la colonne lastname.

Construire un Job en tant que service Web

Avant de construire votre Job en tant que service Web, consultez le Guide utilisateur du Studio Talend.

  1. Dans la vue Repository, cliquez-droit sur le Job que vous venez de créer et sélectionnez Build Job dans le menu. La boîte de dialogue [Build Job] s'ouvre.

  2. Cliquez sur le bouton Browse... et sélectionnez le répertoire dans lequel enregistrer votre Job.

  3. Dans la zone Build type, sélectionnez le type de construction (build) que vous souhaitez utiliser dans votre application Web Tomcat (WAR pour cet exemple) et cliquez sur Finish. La boîte de dialogue [Build Job] se referme.

  4. Copiez le fichier War et collez-le dans le répertoire de votre Tomcat.

Scénario 3 : Appeler un Job contenant des variables de contexte à partir de votre navigateur Web

Ce scénario décrit la procédure à utiliser pour appeler le Job créé dans Scénario 2 : Mettre les données de sortie en mémoire tampon du serveur d'application Web à partir de votre navigateur Web en modifiant/sans modifier les valeurs des variables de contexte.

Saisissez l'URL suivante dans votre navigateur Web : http://localhost:8080//export_job/services/export_job3?method=runJob dans laquelle "export_job" correspond au nom du répertoire de votre application Web déployé sur le Tomcat et "export_job3" correspond au nom de votre Job.

Cliquez sur Enter pour exécuter votre Job à partir du navigateur.

Le Job utilise les valeurs par défaut des variables de contexte : nb_lines et lastname, et donc génère trois lignes contenant la date en cours, un prénom et le nom Ford.

Vous pouvez modifier les valeurs des variables de contexte directement à partir de votre navigateur. Pour appeler le Job à partir de votre navigateur et modifier les valeurs des deux variables de contexte, saisissez l'URL suivante :

http://localhost:8080//export_job/services/export_job3?method=runJob&arg1=--context_param%20lastname=MASSY&arg2=--context_param%20nb_lines=2.

%20 correspond à un espace blanc lorsqu'il est utilisé dans une URL. Dans le premier argument "arg1", définissez la valeur "MASSY" pour la variable de contexte lastname. Ainsi le nom qui apparaîtra sera "MASSY". Dans le deuxième argument "arg2", définissez la valeur "2" pour la variable de contexte nb_lines pour ne générer que deux lignes de données.

Cliquez sur Enter pour exécuter le Job à partir du navigateur.

Le Job génère deux lignes avec MASSY comme nom.

Scénario 4 : Appeler un Job exporté en tant que service Web dans un autre Job

Ce scénario décrit un Job appelant un autre Job exporté en tant que service Web en utilisant un composant tWebServiceInput. Ce scénario appellera le Job créé dans Scénario 2 : Mettre les données de sortie en mémoire tampon du serveur d'application Web.

  • Cliquez-déposez les composants suivants dans le Job Designer : tWebServiceInput et tLogRow.

  • Reliez-les via une connexion de type Row Main.

  • Dans l'espace de travail, sélectionnez le composant tWebServiceInput.

  • Cliquez sur la vue Component pour définir ses propriétés de base dans l'onglet Basic settings.

  • Dans la liste Schema, sélectionnez Built-In et cliquez sur le bouton [...] à côté du champ Edit Schema pour décrire la structure des données que vous souhaitez appeler du Job exporté. Dans ce scénario, le schéma est constitué de trois colonnes, now, firstname, et lastname.

  • Cliquez sur le bouton [+] pour ajouter les trois lignes de paramètres et définir vos variables. Cliquez sur OK pour fermer la boîte de dialogue.

  • Dans le champ WSDL de l'onglet Basic settings de la vue Component du tWebServiceInput, saisissez l'URL : http://localhost:8080/export_job/services/export_job3?WSDL dans laquelle "export_job" correspond au nom du répertoire de votre application Web dans lequel le Job à appeler est stocké et "export_job3" correspond au nom du Job.

  • Dans le champ Method name, saisissez runJob.

  • Dans la zone Parameters, cliquez sur le bouton [+] pour ajouter deux lignes de paramètres et définir vos variables de contexte.

  • Cliquez dans la première cellule Value pour configurer le paramètre définissant le nombre de lignes à générer : --context_param nb_line=3.

  • Cliquez dans la deuxième cellule Value pour configurer le paramètre définissant le nom à afficher : --context_param lastname=Ford.

  • Sélectionnez le tLogRow et cliquez sur la vue Component pour afficher les propriétés du composant.

  • Dans la vue Basic settings du tLogRow, sélectionnez l'option Table pour afficher les données de sortie sous forme de tableau. Pour plus d'informations, consultez Propriétés du tLogRow.

  • Enregistrez votre Job et appuyez sur F6 pour l'exécuter.

Le Job génère trois colonnes contenant la date en cours, des prénoms et des noms, et les affiche dans la console sous forme de tableau.