Construction de Jobs

Talend ESB Studio Guide utilisateur

EnrichVersion
6.1
EnrichProdName
Talend ESB
task
Création et développement
EnrichPlatform
Studio Talend

La fonction Build Job vous permet de déployer et d'exécuter un Job à partir de n'importe quel serveur, indépendamment du Studio Talend.

En exécutant des scripts de build générés depuis des modèles définis dans les paramètres du projet, la fonctionnalité de construction de Job ajoute une archive tous les fichiers nécessaires à l'exécution d'un Job, y compris les fichiers .bat et .sh, ainsi que tous les fichiers de paramètres de contextes ou fichiers liés.

Note

Votre Studio Talend fournit un ensemble de scripts de construction par défaut. Vous pouvez personnaliser ces modèles afin qu'ils répondent à vos besoins. Pour plus d'informations, consultez Personnaliser les modèles de scripts de build Maven.

Par défaut, lorsqu'un Job est construit, tous les fichiers Jars requis sont inclus dans la commande .bat ou .sh. Pour un Job complexe impliquant de nombreux Jars, le nombre de caractères dans la commande batch peut dépasser la longueur autorisée par certains systèmes d'exploitation. Pour éviter l'échec de l'exécution de la commande batch à cause de cette limitation, avant de construire votre Job, cliquez sur Window > Preferences. Sélectionnez Talend > Import/Export et cochez la case Add classpath jar in exported jobs, afin de regrouper les Jars dans un fichier classpath.jar ajouté au Job construit.

Avertissement

L'option mentionnée ci-dessus est incompatible avec le JobServer. Si le Job construit est à déployer et exécuter dans Talend Administration Center, assurez-vous de décocher la case avant de construire votre Job.

Notez que le Job de service de données SOAP contenant le composant tESBProviderRequest implémentant une opération de service n'est pas autorisé à être publié indépendamment. Le Job doit être publié avec le service auquel il est assigné. Lorsque vous exportez un service SOAP, tous les Jobs de services de données implémentant les opérations de service sont également construits dans le fichier d'archive du service.

Pour construire des Jobs, procédez comme suit  :

  1. Dans l'arborescence Repository, cliquez-droit sur le Job que vous voulez construire et sélectionnez Build Job pour ouvrir la boîte de dialogue [Build Job].

    Note

    Vous pouvez directement afficher ou cacher, dans la boîte de dialogue [Build Job], l'arborescence de tous les Jobs ayant été créés dans le Studio Talend, en cliquant respectivement sur les boutons et . Les Jobs que vous avez précédemment sélectionnés dans l'arborescence du Studio s'affichent, précédés d'une case cochée. Cette fonctionnalité permet de modifier les éléments sélectionnés pour les exporter directement à partir de la boîte de dialogue, sans avoir à la fermer et retourner à l'arborescence Repository dans le Studio Talend.

  2. Dans le champ To archive file, cliquez sur le bouton Browse... et parcourez jusqu'au répertoire dans lequel vous souhaitez sauvegardez votre Job construit.

  3. Dans la zone Job Version, sélectionnez la version du Job que vous souhaitez construire, si vous en avez créé plusieurs versions.

  4. Dans la liste Build Type, sélectionnez le type de construction. Les différents types sont : Standalone Job, Axis WebService (WAR), Axis WebService (Zip) et OSGI Bundle For ESB.

    Notez que les Jobs de services de données qui incluent le composant tRESTRequest ne peuvent être construits qu'en tant que bundle OSGI pour ESB. Si le Job de services de données inclut le composant tRESTClient ou le tESBConsumer et qu'aucun Service Registry, Service Locator ou Service Activity Monitor n'est activé pour ce composant, le Job de services de données peut être construit en tant que bundle OSGI pour ESB ou en tant que Job Standard. Si le Service Registry, le Service Locator ou le Service Activity Monitor est activé, le Job de services de données incluant le tRESTClient ou le tESBConsumer ne peut être construit qu'en tant que bundle OSGI pour ESB.

  5. Cochez la case Extract the zip file, si vous souhaitez extraire automatiquement le fichier dans le répertoire cible.

  6. Dans la zone Options, sélectionnez un type de construction, entre Binaries et Sources (Maven) ainsi que le type de fichiers que vous souhaitez ajouter à l'archive. Les options correspondant aux fichiers nécessaires à l'exécution du Job sont cochées par défaut, vous pouvez néanmoins les décocher en fonction de ce que vous souhaitez construire.

    Option

    Description

    Binaries / Sources (Maven)

    Sélectionnez Binaries dans la liste afin de construire votre Job comme un Job exécutable.

    Sélectionnez Sources (Maven) pour construire les sources de votre Job et inclure dans le fichier archive les scripts de construction Maven générés depuis les modèles définis dans les paramètres du projet, afin de pouvoir construire à nouveau votre Job dans un système Apache Maven.

    Shell launcher

    Cochez cette case pour exporter les fichiers .bat et/ou .sh nécessaires au lancement du Job construit.

    • All : exporte les fichiers .bat et .sh,

    • Unix : exporte le fichier .sh,

    • Windows : exporte le fichier .bat.

    Context scripts

    Cochez cette case pour exporter TOUS les fichiers de paramètres de contexte et pas uniquement ceux sélectionnés dans la liste correspondante.

    Note

    Pour exporter un contexte, sélectionnez le contexte répondant à vos besoins dans la liste Context scripts, notamment les fichiers .bat ou .sh contenant les paramètres de contexte appropriés. Vous pouvez ensuite, si vous le souhaitez, éditez les fichiers .bat et .sh pour modifier manuellement le type de contexte.

    Apply to children Cochez cette case si vous souhaitez appliquer le contexte sélectionné dans la liste à tous les Jobs fils.

    Custom log4j level

    Cochez cette case pour activer la liste Log4j output level et sélectionnez un niveau de sortie pour le Job construit.

    Pour plus d'informations concernant les paramètres Log4j, consultez Paramètres du log4j.

    Items

    Cochez cette case pour exporter les sources utilisées par le Job durant son exécution, y compris les fichiers .item et .properties, ainsi que les sources Java et Talend.

    Note

    Si vous cochez la case Items ou Source files, vous pouvez réutiliser le Job construit dans un Studio Talendinstallé sur une autre machine. Ces fichiers source sont uniquement utilisés dans le Studio Talend.

    Execute tests

    Cochez cette case afin d'effectuer les scénarios de test du Job, s'il y en a, lors de la construction du Job et d'inclure les fichiers de rapport de test dans le dossier sunfire-reports de l'archive de la construction.

    Cette case est disponible uniquement lorsque l'option Binaries est sélectionnée.

    Pour plus d'informations concernant la création de scénarios de test, consultez Tester des Jobs et des Services à l'aide de scénarios de test.

    Add test sources

    Cochez cette case pour inclure les sources des scénarios de test du Job, s'il y en a, dans l'archive de la construction.

    Cette case est disponible uniquement lorsque vous avez sélectionné l'option Sources (Maven).

    Pour plus d'informations concernant la création de scénarios de test, consultez Tester des Jobs et des Services à l'aide de scénarios de test.

    Java sources

    Cochez cette case pour exporter le fichier .java contenant les classes Java générées par le Job lors de sa création.

    Include libraries

    Cochez cette casse pour inclure les dépendances du Job dans l'archive de la construction.

    Cette case est disponible uniquement lorsque l'option Sources (Maven) est sélectionnée.

  7. Cliquez sur le bouton Override parameters' values, si nécessaire.

    Une fenêtre s'ouvre, dans laquelle vous pouvez mettre à jour les paramètres et les valeurs de contexte du Job sélectionné ou ajouter de nouveaux paramètres ou de nouvelles valeurs, selon vos besoins.

  8. Cliquez sur Finish pour valider les changements effectués, finaliser la construction et fermer la boîte de dialogue.

Un fichier zip des Jobs est alors créé à l'endroit prédéfini.

Note

Si le Job à construire appelle une Routine personnalisée contenant une ou plusieurs classe(s) Java en parallèle avec la classe publique nommée de la même façon que la routine utilisateur, la ou les classe(s) supplémentaire(s) ne sera (seront) pas incluse(s) dans le fichier exporté. Pour exporter ces classes, vous devez les inclure en tant que sous-classes dans la classe ayant le même nom que la routine. Pour plus d'informations concernant les routines utilisateur, consultez Gestion des routines personnalisées. Pour plus d'informations concernant les classes et les sous-classes, consultez les manuels Java correspondants.

Construire un Job en tant que Job standalone

Dans le cas d'un export de Plain Old Java Object, si vous souhaitez réutiliser le Job dans le Studio Talend installé sur une autre machine, cochez la case Items. Ces fichiers source (.item et .properties) sont uniquement utilisés dans le Studio Talend.

Si vous souhaitez inclure un script Ant ou Maven pour chaque Job construit, cochez les cases Add build script puis sélectionnez l'option Ant ou Maven.

Lorsque que plusieurs contextes sont proposés dans la liste Context script, sélectionnez celui qui correspond à vos besoins. Ensuite, cliquez sur le bouton Override parameters' values, sous la case Context script. Une fenêtre s'ouvre alors et affiche tous les paramètres du contexte sélectionné. Dans cette fenêtre, vous pouvez configurer le contexte sélectionné selon vos besoins.

Tous les fichiers de paramètres de contexte sont exportés et pas uniquement celui que vous avez sélectionné dans la liste.

Note

Après l'export, les informations de contexte sélectionnées sont stockées dans le fichier .bat ou.sh. Les paramètres de contexte sont stockés dans le fichier de contextes .properties.

Construire un Job en tant que WebService

Dans la boîte de dialogue [Build Job], vous pouvez modifier le type de construction afin de construire le Job sélectionné dans une archive Webservice.

Sélectionnez le type d'archive que vous souhaitez utiliser dans votre application Web.

Type d'archive

Description

WAR

Les options sont en lecture seule. En effet, l'archive WAR générée comprend tous les fichiers de configuration nécessaires à l'exécution ou au déploiement à partir d'une application Web.

ZIP

Toutes les options sont disponibles. Si tous les fichiers de configuration de votre application Web sont configurés, vous avez la possibilité de ne sélectionner que les paramètres de contexte et de n'exporter que les Classes dans l'archive.

Une fois que l'archive est générée, placez le fichier WAR ou le dossier Class du ZIP (ou des fichiers décompressés) dans le répertoire souhaité de votre serveur d'application Web.

L'URL utilisée pour déployer votre Job ressemble à la suivante :

http://localhost:8080/NomAppWeb/services/NomJob?method=runJob&args=null

Les paramètres sont les suivants :

Paramètres de l'URL

Description

http://localhost:8080/

Saisissez les hôte et port de votre application Web.

/NomAppWeb/

Saisissez le nom de votre application Web.

/services/

Saisissez "services" comme terme d'appel standard pour les services Web.

/NomJob

Saisissez le nom exact du Job que vous souhaitez exécuter.

?method=runJob&args=null

La méthode utilisée pour exécuter le Job est RunJob.

Le retour d'appel de l'application Web s'est déroulé sans erreur (0), en cas d'erreur le chiffre affiché sera différent de 0. Pour un cas réel de création et de construction de Job en tant que service Web et de déploiement de ce Job à partir d'un navigateur Web, consultez Exemple de construction de Job en tant que service Web.

Le composant tBufferOutput a été conçu spécialement pour ce type de déploiement. Pour plus d'informations concernant ce composant, consultez le Guide de référence des Composants Talend.

Exemple de construction de Job en tant que service Web

Ce scénario décrit, dans un premier temps, un simple Job créant un fichier .txt contenant la date en cours, ainsi que des noms et prénoms. Dans un deuxième temps, ce Job est construit en tant que service Web à partir d'un navigateur Web. Le Job construit en tant que service Web renverra simplement le "retour d'appel" fourni par le système d'exploitation.

Créer le Job

  1. Déposez les composants suivants de la Palette dans l'espace de modélisation : tFixedFlowInput et tFileOutputDelimited.

  2. Connectez le tFixedFlowInput au tFileOutputDelimited à l'aide d'un lien Row Main.

  3. Dans l'espace de modélisation, sélectionnez le tFixedFlowInput et cliquez sur l'onglet Component pour paramétrer les propriétés du tFixedFlowInput.

  4. Dans le champ Schema, sélectionnez l'option Built-In et cliquez sur le bouton [...] à côté du champ Edit Schema afin de décrire la structure des données que vous souhaitez créer à partir des variables internes. Dans ce scénario, le schéma est composé de trois colonnes : now, firstname et lastname.

  5. Cliquez sur le bouton [+] pour ajouter vos trois lignes de paramètres et définir vos variables. Cliquez sur OK pour fermer la boîte de dialogue et acceptez la propagation des modifications lorsque le message de confirmation vous le demande.

    Les trois colonnes définies apparaissent dans le tableau Values de l'onglet Basic settings du composant tFixedFlowInput.

  6. Cliquez sur la cellule Value de chaque colonne définie et appuyez sur Ctrl+Espace pour accéder à la liste des variables globales et sélectionnez TalendDate.getCurrentDate() pour la colonne now, talendDatagenerator.getFirstName pour la colonne firstname, talendDataGenerator.getLastName pour la colonne lastname.

  7. Dans le champ Number of rows, saisissez le nombre de lignes à générer.

  8. Dans l'espace de modélisation, sélectionnez le composant tFileOutputDelimited, cliquez sur l'onglet Component et, dans le champ File name, sélectionnez le fichier de sortie. Paramétrez les autres propriétés du composant, si nécessaire.

  9. Si vous appuyez sur F6 pour exécuter le Job, trois lignes contenant la date en cours et des noms et prénoms seront écrits dans le fichier de sortie défini.

Construire le Job en tant que service Web

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

  2. Dans le champ To archive file, cliquez sur le bouton Browse... et sélectionnez un répertoire dans lequel enregistrer le fichier archive contenant votre Job.

  3. Dans la liste Job Version, vous pouvez renseigner la version que vous souhaitez construire, si vous avez créé plusieurs versions de votre Job.

  4. Dans la liste Build type, sélectionnez le type de construction que vous souhaitez utiliser dans votre application Web (WAR pour cet exemple) et cliquez sur Finish. La boîte de dialogue [Build Job] disparaît.

  5. Copiez le dossier War et collez-le dans le répertoire du serveur d'application Tomcat.

Invoquer le Job à partir d'un navigateur Web :

  1. Saisissez l'URL suivante dans votre navigateur : http://localhost:8080//export_job/services/export_job2?method=runJob dans lequel "export_job" correspond au nom de l'application Web utilisée pour le déploiement sur le Tomcat et "export_job2" correspond au nom de votre Job.

  2. Cliquez sur Enter pour exécuter le Job à partir de votre navigateur Web.

    Le code retourné à partir de votre application Web est 0 lorsqu'il n'y a pas d'erreur et 1 si une erreur est apparue.

    Pour un cas réel de création et de construction d'un Job en tant que service Web via le composant tBufferOutput, consultez le Guide de référence des Composants Talend.

Construire un Job en tant que bundle OSGI pour ESB

Dans la boîte de dialogue [Build Job], vous pouvez changer le type de construction pour construire le Job sélectionné en tant que bundle OSGI, afin de déployer votre Job dans votre conteneur Talend ESB Container.

  1. Dans la zone Job Version, sélectionnez le numéro de version du Job que vous souhaitez construire si vous en avez créé plus d'une version.

  2. Dans la zone Build type, sélectionnez OSGI Bundle For ESB afin de construire votre Job en tant que bundle OSGI.

    L'extension de votre construction change automatiquement en .jar puisque c'est l'extension attendue par Talend ESB Container.

  3. Si vous souhaitez reconstruire le Job et en faire votre propre JAR avec Maven, cochez la case Add maven script dans la zone Options pour inclure le script Maven requis dans l'archive cible, un fichier .zip dans cet exemple.

  4. Cliquez sur le bouton Browse... pour spécifier le dossier dans lequel construire votre Job.

  5. Cliquez sur Finish afin de le construire.