Extension de Tivoli Workload Automation

Transcription

Extension de Tivoli Workload Automation
IBM Tivoli Workload Automation
Guide du développeur : Extension de Tivoli
Workload Automation
Version 9.2
SC11-6931-03
IBM Tivoli Workload Automation
Guide du développeur : Extension de Tivoli
Workload Automation
Version 9.2
SC11-6931-03
Important
Avant d'utiliser le présent document et le produit associé, prenez connaissance des informations générales figurant à la
section «Remarques», à la page 27.
Réf. US : SC14-7623-03
LE PRESENT DOCUMENT EST LIVRE EN L'ETAT SANS AUCUNE GARANTIE EXPLICITE OU IMPLICITE. IBM
DECLINE NOTAMMENT TOUTE RESPONSABILITE RELATIVE A CES INFORMATIONS EN CAS DE
CONTREFACON AINSI QU'EN CAS DE DEFAUT D'APTITUDE A L'EXECUTION D'UN TRAVAIL DONNE.
Ce document est mis à jour périodiquement. Chaque nouvelle édition inclut les mises à jour. Les informations qui y
sont fournies sont susceptibles d'être modifiées avant que les produits décrits ne deviennent eux-mêmes
disponibles. En outre, il peut contenir des informations ou des références concernant certains produits, logiciels ou
services non annoncés dans ce pays. Cela ne signifie cependant pas qu'ils y seront annoncés.
Pour plus de détails, pour toute demande d'ordre technique, ou pour obtenir des exemplaires de documents IBM,
référez-vous aux documents d'annonce disponibles dans votre pays, ou adressez-vous à votre partenaire
commercial.
Vous pouvez également consulter les serveurs Internet suivants :
v http://www.fr.ibm.com (serveur IBM en France)
v http://www.can.ibm.com (serveur IBM au Canada)
v http://www.ibm.com (serveur IBM aux Etats-Unis)
Compagnie IBM France
Direction Qualité
17, avenue de l'Europe
92275 Bois-Colombes Cedex
La présente édition s'applique à la version 9.2.0 de Tivoli Workload Scheduler (référence de logiciel 5698-WSH),
ainsi qu'à toutes les éditions et modifications ultérieures, sauf mention contraire dans les nouvelles éditions.
© Copyright IBM Corporation 2011, 2014.
Table des matières
Avis aux lecteurs canadiens . . . . . . v
Figures . . . . . . . . . . . . . . vii
Tableaux . . . . . . . . . . . . . . ix
A propos de cette publication . . . . . xi
Nouveautés de cette édition . .
Nouveautés de cette édition pour
Tivoli Workload Automation . .
Nouveautés de cette publication
Public visé . . . . . . . .
Publications . . . . . . .
Accessibilité . . . . . . .
Formation technique Tivoli . .
Informations sur le support . .
. . . .
l'extension
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
.
.
. 6
. 10
.
.
.
.
.
.
.
.
.
.
10
10
11
11
12
.
. xi
.
.
.
. xi
. xi
. xi
. xii
. xii
. xii
. xii
Chapitre 4. Type de travail personnalisé
avec plug-in d'options avancées . . . 13
Chapitre 1. Introduction à l'extension de
Tivoli Workload Automation . . . . . . 1
Remarques . . . . . . . . . . . . . 27
Chapitre 2. Integration Workbench . . . 3
Index . . . . . . . . . . . . . . . 31
Installation d'Integration Workbench . . .
Utilisation de l'aide d'Integration Workbench
.
de
.
.
.
.
.
.
.
Structure de projet de plug-in de gestion des
événements . . . . . . . . . . . .
Création d'un projet de plug-in de A à Z .
Création d'un projet à partir d'un exemple de
plug-in . . . . . . . . . . . . .
Préparation au déploiement . . . . . .
Génération et envoi d'un événement . . .
Connexion à Tivoli Workload Scheduler . . .
Documents de référence . . . . . . . .
.
.
.
.
.
.
.
.
Structure de plug-in de type de travail personnalisé 19
Chapitre 5. Définition des travaux Java
Création du fichier JAR de travail Java .
Marques
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
23
. 23
. 28
. 3
. 3
Chapitre 3. Plug-in de gestion des
événements Tivoli Workload Scheduler . 5
Projet de plug-in de gestion des événements.
© Copyright IBM Corp. 2011, 2014
.
.
. 6
iii
iv
IBM Tivoli Workload Automation - Guide du développeur : Extension de Tivoli Workload Automation
Avis aux lecteurs canadiens
Le présent document a été traduit en France. Voici les principales différences et
particularités dont vous devez tenir compte.
Illustrations
Les illustrations sont fournies à titre d'exemple. Certaines peuvent contenir des
données propres à la France.
Terminologie
La terminologie des titres IBM peut différer d'un pays à l'autre. Reportez-vous au
tableau ci-dessous, au besoin.
IBM France
IBM Canada
ingénieur commercial
représentant
agence commerciale
succursale
ingénieur technico-commercial
informaticien
inspecteur
technicien du matériel
Claviers
Les lettres sont disposées différemment : le clavier français est de type AZERTY, et
le clavier français-canadien de type QWERTY.
OS/2 et Windows - Paramètres canadiens
Au Canada, on utilise :
v les pages de codes 850 (multilingue) et 863 (français-canadien),
v le code pays 002,
v le code clavier CF.
Nomenclature
Les touches présentées dans le tableau d'équivalence suivant sont libellées
différemment selon qu'il s'agit du clavier de la France, du clavier du Canada ou du
clavier des États-Unis. Reportez-vous à ce tableau pour faire correspondre les
touches françaises figurant dans le présent document aux touches de votre clavier.
© Copyright IBM Corp. 2011, 2014
v
Brevets
Il est possible qu'IBM détienne des brevets ou qu'elle ait déposé des demandes de
brevets portant sur certains sujets abordés dans ce document. Le fait qu'IBM vous
fournisse le présent document ne signifie pas qu'elle vous accorde un permis
d'utilisation de ces brevets. Vous pouvez envoyer, par écrit, vos demandes de
renseignements relatives aux permis d'utilisation au directeur général des relations
commerciales d'IBM, 3600 Steeles Avenue East, Markham, Ontario, L3R 9Z7.
Assistance téléphonique
Si vous avez besoin d'assistance ou si vous voulez commander du matériel, des
logiciels et des publications IBM, contactez IBM direct au 1 800 465-1234.
vi
IBM Tivoli Workload Automation - Guide du développeur : Extension de Tivoli Workload Automation
Figures
© Copyright IBM Corp. 2011, 2014
vii
viii
IBM Tivoli Workload Automation - Guide du développeur : Extension de Tivoli Workload Automation
Tableaux
© Copyright IBM Corp. 2011, 2014
ix
x
IBM Tivoli Workload Automation - Guide du développeur : Extension de Tivoli Workload Automation
A propos de cette publication
Le manuel Guide du développeur : Extension de Tivoli Workload Automation décrit
comment utiliser l'interface des services Web pour contrôler les objets IBM® Tivoli
Workload Scheduler et IBM Tivoli Workload Scheduler pour z/OS dans leurs plans
respectifs.
Nouveautés de cette édition
Prenez connaissance des nouveautés de cette édition.
Pour plus d'informations à propos des fonctions nouvelles ou modifiées de cette
édition, voir Récapitulatif des améliorations dans Tivoli Workload Automation Présentation.
Pour plus d'informations sur les APAR de cette édition, voir les Notes sur l'édition
de Tivoli Workload Scheduler à l'adresse http://www-01.ibm.com/support/
docview.wss?rs=672&uid=swg27041032 et Dynamic Workload Console Notes sur
l'édition à l'adresse http://www-01.ibm.com/support/docview.wss?rs=672
&uid=swg27041033.
Nouveautés de cette édition pour l'extension de Tivoli Workload
Automation
Cette section décrit les modifications apportées dans cette édition en ce qui
concerne l'extension de Tivoli Workload Automation depuis la version 8.5, groupe
de correctifs 01.
Vous avez maintenant la possibilité de créer un plug-in de type de travail
personnalisé. Ce plug-in ajoute un nouveau type de travail à la sélection de
définitions de travail dans Dynamic Workload Console. Vous pouvez également
créer un fichier JSDL approprié destiné à être utilisé dans la définition de travail
dans Composer. Par ailleurs, ce plug-in contient un composant qui exécute le
travail sur l'agent dynamique.
Nouveautés de cette publication
Cette publication est nouvelle. Toutefois, elle a été développée à partir des
chapitres du manuel Tivoli Workload Scheduler API Guide et des rubriques d'aide de
la version 8.5 de Integration Workbench, qui traitent des plug-in. Considérez toutes
les informations qu'il contient comme de nouvelles informations.
Public visé
Cette publication fournit des informations sur l'ajout de fonctionnalités aux
produits Tivoli Workload Automation grâce à la création de plug-in Java™.
De préférence, le lecteur de ce manuel doit être un programmeur d'application
spécialisé en Java ayant une bonne compréhension de l'infrastructure Tivoli
Workload Automation et des interactions entre ses composants. Sinon, il peut s'agir
du manager d'un programmeur correspondant à la description ci-dessus, qui veut
améliorer ses connaissances sur les tâches que les plug-in permettent d'effectuer.
© Copyright IBM Corp. 2011, 2014
xi
Cette publication suppose que le programmeur d'application possède une
expérience significative dans la création et l'utilisation de plug-in et de Java. Elle
suppose également que toute connaissance relative au produit et nécessaire à la
programmation de l'API (Interface de programme d'application) ou de l'interface
des services Web a été acquise via la documentation du produit. Cette publication
ne tente pas d'expliquer les concepts, procédures et pratiques Tivoli Workload
Automation auxquels elle se rapporte.
Ce manuel comporte également des informations utiles à l'administrateur
informatique et à l'administrateur informatique Tivoli Workload Automation, à des fins
de planification.
Publications
Le produit Tivoli Workload Automation fait l'objet de plusieurs publications.
Pour connaître la liste des publications disponibles dans la bibliothèque du logiciel
Tivoli Workload Automation, voir Publications sous Référence dans la documentation
du produit.
Pour connaître la liste des termes utilisés dans le produit Tivoli Workload
Automation, voir Glossaire sous Référence dans la documentation du produit.
Accessibilité
Les fonctions d'accessibilité permettent aux personnes souffrant d'un handicap
physique (par exemple, une mobilité réduite ou une déficience visuelle) de pouvoir
utiliser les logiciels.
Avec ce produit, vous pouvez utiliser les technologies d'assistance pour parcourir
l'interface à l'aide de messages sonores. Vous pouvez également utiliser le clavier
au lieu de la souris pour toutes les fonctions de l'interface graphique.
Pour des informations complètes sur Dynamic Workload Console, voir l'annexe
Accessibilité dans IBM Tivoli Workload Scheduler - Guide d'utilisation et de référence.
Formation technique Tivoli
Tivoli propose une formation technique.
Pour plus d'informations sur la formation technique Tivoli, reportez-vous au site
Web IBM Tivoli Education suivant :
http://www.ibm.com/software/tivoli/education
Informations sur le support
IBM vous propose plusieurs façons d'obtenir de l'aide lorsque vous êtes confronté
à un problème.
Si vous rencontrez un incident avec un logiciel IBM, vous pouvez le résoudre
rapidement. IBM vous permet d'obtenir l'assistance que vous souhaitez de
plusieurs manières :
xii
IBM Tivoli Workload Automation - Guide du développeur : Extension de Tivoli Workload Automation
v En faisant des recherches dans les bases de connaissances : elles contiennent un
grand nombre d'incidents recensés et de solutions, de remarques d'ordre
technique et autres informations adéquates.
v En vous procurant des correctifs : vous trouverez les versions les plus récentes
disponibles pour votre produit.
v En contactant le service de support logiciel IBM : si les deux solutions ci-dessus
ne vous ont pas permis de résoudre votre incident, vous pouvez contacter
directement un technicien IBM de plusieurs manières.
Pour plus d'informations sur ces trois manières de résoudre un incident, voir
l'annexe relative aux informations de support dans le manuel Tivoli Workload
Scheduler - Guide d'identification et de résolution des problèmes.
A propos de cette publication
xiii
xiv
IBM Tivoli Workload Automation - Guide du développeur : Extension de Tivoli Workload Automation
Chapitre 1. Introduction à l'extension de Tivoli Workload
Automation
Présente et introduit la procédure pour étendre Tivoli Workload Automation.
Vous pouvez étendre Tivoli Workload Automation en créant des plug-in qui
ajoutent une fonction utile aux activités de votre business dans deux domaines
principaux :
v L'automatisation de la charge de travail commandée par les événements
v Types de travaux avec options avancées
Vous pouvez aussi créer des travaux Java qui implémentent un projet Java que
vous avez créé sur le poste de travail cible.
L'automatisation de la charge de travail commandée par les
événements
L'automatisation de la charge de travail commandée par les événements est une
fonction de Tivoli Workload Scheduler. Elle permet de déclencher Tivoli Workload
Scheduler ou des actions externes lorsque des événements Tivoli Workload
Scheduler ou des événements externes se produisent.
Des actions liées à des événements sont automatiquement lancées lorsqu'elles sont
déclenchées suite à une certaine condition d'événement. En règle générale, une
condition d'événement et l'action qui y correspond sont définies dans une règle
d'événement. Lorsqu'une règle est active, cela signifie qu'un périphérique de
surveillance s'exécute pour détecter si l'événement défini dans la règle est en cours.
Lorsque cet événement est détecté, l'action définie dans la règle démarre.
Accédez à http://publib.boulder.ibm.com/infocenter/tivihelp/v3r1/topic/
com.ibm.tivoli.itws.doc_8.5.1.1/awsrgmst84.htm#dqx2evntdrivworkauto pour plus
d'informations sur l'automatisation de la charge de travail commandée par les
événements.
Tivoli Workload Scheduler est fourni avec un ensemble de conditions d'événement
et d'actions liées à des événements utiles que vous configurez en règles
d'événement. Cependant, si cela ne suffit pas à satisfaire vos besoins, vous pouvez
utiliser Integration Workbench pour créer des plus-ins Java pour les conditions
d'événement et les actions liées à des événements afin d'effectuer les tâches
demandées.
Par exemple, supposez que vous souhaitez envoyer un message Java Message
Service lorsqu'un flot de travaux échoue. Vous pouvez créer un plug-in Java pour
réaliser ce service, l'implémenter dans Tivoli Workload Scheduler et le combiner à
la condition appropriée dans une règle d'événement dans Dynamic Workload
Console.
Types de travaux personnalisés avec options avancées
Lorsque vous créez une définition de travail, vous pouvez choisir les types de
travaux avec options standard ou options avancées. Les types de travaux avec
© Copyright IBM Corp. 2011, 2014
1
options avancées sont implémentés différemment par rapport aux types de travaux
avec options standard. La liste suivante répertorie ces différences :
v Ils exigent que l'agent dynamique soit installé sur le poste de travail sur lequel
ils doivent être exécutés
v Ils sont implémentés par un plug-in séparé pour chaque type.
Par exemple, les travaux de type Transfert de fichier peuvent être exécutés
uniquement sur des postes de travail où l'agent dynamique est installé. Par
ailleurs, ils sont exécutés par un plug-in de transfert de fichier.
Si vous avez un travail dont les caractéristiques ne peuvent correspondre aux types
de travaux prédéfinis dans Tivoli Workload Scheduler ou Tivoli Workload
Scheduler pour z/OS (selon ce qui est approprié), vous pouvez créer un plug-in
ayant les caractéristiques requises. Une fois implémenté dans le produit, il peut
être sélectionné comme type de travail dans Dynamic Workload Console.
Travaux Java
Lorsque vous définissez un nouveau travail de planification dans Tivoli Workload
Scheduler ou Tivoli Workload Scheduler pour z/OS, "Java" figure parmi les types
de travaux possibles. Pour chaque travail Java que vous choisissez de définir, vous
devez identifier :
v Un fichier JAR contenant les classes Java et les méthodes que vous souhaitez
exécuter sur le poste de travail cible (sur lequel l'agent dynamique doit être
installé)
v Un ensemble de paramètres à utiliser en tant qu'entrée pour ces classes et ces
méthodes
Dans une certaine mesure, le projet Java à exécuter peut effectuer toutes les tâches
que vous lui demandez. Toutefois, pour que cette option prenne effet, vous devez
respecter l'ensemble de règles décrit dans cette publication.
2
IBM Tivoli Workload Automation - Guide du développeur : Extension de Tivoli Workload Automation
Chapitre 2. Integration Workbench
Décrit le module Integration Workbench de Software Development Kit.
IBM Tivoli Workload Automation: Software Development Kit est fourni avec le
module Integration Workbench dont vous pouvez vous servir pour utiliser
l'interface de programme d'application Java et l'interface des services Web afin de
développer vos propres applications.
Cette section explique comment installer et utiliser l'aide d'Integration Workbench.
Par ailleurs, cette aide contient des informations détaillées à propos des tâches que
vous pouvez effectuer avec Integration Workbench, et les informations de référence
détaillées à propos des méthodes et des classes disponibles :
Installation d'Integration Workbench
Présente l'installation d'Integration Workbench.
Integration Workbench (un des composants de Software Development Kit - SDK)
s'exécute sous Eclipse. Son installation, décrite en détail dans le manuel Tivoli
Workload Scheduler - Guide de planification et d'installation, vous offre la possibilité
d'installer Integration Workbench et une version d'Eclipse fournie et prise en
charge en une seule fois. Sinon, Integration Workbench peut être installé en tant
que site Eclipse à l'aide d'une version d'Eclipse existante et prise en charge, qui est
disponible sur votre réseau.
Dans les deux cas, à l'issue de l'installation, il existe une option pour afficher le
fichier readmefirst.html dans le panneau où vous cliquez sur Terminer. Ce fichier
contient des informations à propos du plan de travail et des explications relatives à
son exécution. Ces informations sont également fournies dans «Utilisation de l'aide
d'Integration Workbench».
Pour plus d'informations sur Eclipse, allez à http://www.eclipse.org/.
Utilisation de l'aide d'Integration Workbench
Décrit comment accéder à la fonction d'aide d'Integration Workbench pour l'API
Tivoli Workload Scheduler et les projets de plug-in.
Pour utiliser l'aide d'Integration Workbench, procédez comme suit :
1. Lancez le plan de travail comme suit :
Integration Workbench installé avec Eclipse
UNIX Lancez le fichier suivant : <rép_base_TWS>/TWS/
IntegrationWorkbench/eclipse/eclipse
Windows
Accédez à Démarrer → Tivoli Workload Scheduler →
Integration Workbench
Integration Workbench installé en tant que site Eclipse
Ouvrez votre version d'Eclipse comme à l'accoutumée.
© Copyright IBM Corp. 2011, 2014
3
2. Sélectionnez l'emplacement où sauvegarder votre espace de travail Eclipse.
Eclipse le demande chaque fois que vous l'exécutez ou que vous y exécutez le
plan de travail, sauf si vous cochez l'option pour sauvegarder un emplacement
spécifique par défaut.
3. Lorsque la fenêtre Eclipse s'ouvre, sélectionnez Help → Help Contents (Aide →
Table des matières)
4. Développez IBM Tivoli Workload Scheduler Integration Workbench
5. Les options affichées fournissent diverses informations sur Tivoli Workload
Scheduler Integration Workbench. Par exemple, pour afficher les détails de
toutes les classes et méthodes employées dans l'API, développez Référence,
puis sélectionnez API reference (Référence API).
Remarque : Ces informations peuvent être lues en ouvrant le document suivant
dans un navigateur Web : <rép_base_TWS>/TWS/IntegrationWorkbench/
readmefirst.html
4
IBM Tivoli Workload Automation - Guide du développeur : Extension de Tivoli Workload Automation
Chapitre 3. Plug-in de gestion des événements Tivoli
Workload Scheduler
Décrit les différents types de plug-in de gestion des événements.
Les deux objets principaux constituant les règles d'événement sont les suivants :
v Conditions d'événement
v Actions
Plug-in de condition d'événement
Une condition d'événement est représentée par une instance de la classe
EventCondition, qui se présente comme suit :
v Un pluginName, qui identifie le plug-in (aussi appelé le fournisseur) qui surveille
l'événement et est capable de le capturer
v Un eventName, qui identifie la condition dans la règle
v Un eventType, qui précise quel événement capturer
v Un filteringPredicate, qui définit un filtre devant être appliqué au contenu
d'événement afin de vérifier qu'il correspond à la condition d'événement
v Un attribut scope en lecture seule, qui est calculé par le plug-in d'événement
lorsque la règle est créée ou mise à jour. Il inclut une définition de la portée de
la condition d'événement, dont la signification varie selon les types
d'événements.
Un plug-in d'événement est un ensemble de types d'événements regroupés car ils
partagent des caractéristiques similaires, se focalisent sur la même zone
opérationnelle ou surveillent des objets semblables.
Plug-in d'action liée à un événement
Une action est représentée par une instance de la classe RuleAction, qui est
composée de :
v Un pluginName, qui identifie le plug-in (ou fournisseur) d'action
v Un ou plusieurs types d'actions spécifiques à exécuter sur un point de référence
temporelle défini par responseType dans la règle
v Un attribut scope en lecture seule, calculé par le plug-in d'action lorsque la règle
est créée ou mise à jour. Il inclut une définition de la portée de l'action
spécifique.
Un plug-in d'action est un ensemble de types d'actions regroupées parce qu'elles
partagent des caractéristiques similaires, se focalisent sur la même zone
opérationnelle ou exploitent des objets semblables.
Structure d'une condition ou action d'événement
Dans Tivoli Workload Scheduler, les plug-in de condition et d'action d'événement
sont constitués des composants suivants :
TWSPluginConfiguration.xml
Un fichier XML utilisé pour déclarer les conditions/actions d'événement,
ainsi que les attributs qui s'y rapportent.
© Copyright IBM Corp. 2011, 2014
5
TWSPlugin.properties
Un fichier de propriétés qui définit les caractéristiques configurables
suivantes du plug-in :
v Le nom
v Le type (condition ou action)
v Le nom de classe Java qui implémente directement l'interface du plug-in
Une ou plusieurs unités de compilation Java
Une d'entre elles contient une classe qui implémente l'interface Java pour
le plug-in d'événement (ce nom de classe est défini dans
TWSPlugin.properties). La classe Java peut ajouter des fonctions au
plug-in. Par ailleurs, elle peut également générer des événements ou des
actions. Dans les échantillons de plug-in, ces fonctions sont, en règle
générale, incluses dans d'autres unités de compilation contenues dans le
même package Java.
Projet de plug-in de gestion des événements
Décrit le projet de plug-in de gestion des événements.
Un projet de plug-in Tivoli Workload Scheduler est un projet Java d'un type
particulier, qui peut être identifié dans la vue Navigateur à l'aide de l'icône
suivante :
Pour simplifier la création de plug-in de gestion des événements dans Eclipse, les
projets ont une structure spécifique et incluent une action «Préparation au
déploiement», à la page 10. Cette action, qui commence à partir des fichiers créés
par l'utilisateur dans la structure du projet, regroupe les fichiers de plug-in dans
un format prêt à être copié sur le processeur d'événement.
La section «Structure de projet de plug-in de gestion des événements» décrit la
structure d'un projet de plug-in Tivoli Workload Scheduler et le contenu de chaque
dossier du projet.
La section «Préparation au déploiement», à la page 10 décrit comment regrouper et
déployer vos nouveaux plug-in sur Tivoli Workload Scheduler.
v «Structure de projet de plug-in de gestion des événements»
v «Préparation au déploiement», à la page 10
v «Génération et envoi d'un événement», à la page 11
Structure de projet de plug-in de gestion des événements
Décrit la structure de projet de plug-in de gestion des événements.
La figure suivante présente la structure typique d'un projet de plug-in de gestion
des événements :
6
IBM Tivoli Workload Automation - Guide du développeur : Extension de Tivoli Workload Automation
La structure affichée correspond à un plug-in de condition d'événement appelé
MailReader, mais les projets de plug-in de condition d'événement et d'action liée à
un événement ont la même structure :
v Les classes Java contenues dans le dossier src sont décrites dans «Arbre source
Java (code SRC)».
v Le chemin de génération Java du projet de plug-in est décrit dans «Chemin de
génération Java», à la page 8.
v Le rôle et le contenu des autres dossiers de projets sont décrits dans «Autres
dossiers de projet», à la page 8.
v le fichier build.xml ANT est décrit dans «build.xml», à la page 9.
v Le fichier TWSPlugIn.properties est décrit dans «TWSPlugin.properties», à la
page 9.
v Le fichier TWSPluginConfiguration.xml est décrit dans
«TWSPluginConfiguration.xml», à la page 9.
Arbre source Java (code SRC)
Décrit l'arbre source Java de plug-in de gestion des événements.
Lors de la création d'un projet de plug-in, ce dernier est configuré comme un
projet Java avec des dossiers séparés pour les fichiers source et les fichiers classe.
Le dossier source se nomme src. Il contient le code Java du plug-in.
Une classe Java est également créée en parallèle au nouveau projet de plug-in.
Cette classe implémente l'interface Java pour l'événement ou le plug-in d'action,
selon ce qui est approprié. De plus, elle doit être présente dans chaque événement
ou plug-in d'action.
Consultez la documentation Java (Javadocs) des interfaces pour déterminer quelle
méthode implémenter. Pour la journalisation et le traçage de votre code, utilisez les
API de journalisation Java JSR-047 standard.
Chapitre 3. Plug-in de gestion des événements Tivoli Workload Scheduler
7
Chemin de génération Java
Décrit le chemin de génération Java des plug-in de gestion des événements.
Les projets de plug-in Tivoli Workload Scheduler sont créés à l'aide des
bibliothèques suivantes :
Bibliothèque système JRE (Java SE Runtime Environment) par défaut
Même lorsque JRE est défini sur sa valeur par défaut, n'oubliez pas que le
processeur d'événement IBM Tivoli Workload Scheduler utilise la version
1.5 d'IBM JDK.
Il est recommandé d'utiliser la version 1.5 d'IBM JDK pour les projets de
plug-in Tivoli Workload Scheduler.
Bibliothèque IBM Tivoli Workload Scheduler
Cette bibliothèque contient tous les fichiers JAR Tivoli Workload Scheduler
nécessaires à l'implémentation de plug-in Tivoli Workload Scheduler ou à
l'utilisation des API (Interfaces de programme d'application) Tivoli
Workload Scheduler.
Par ailleurs, cette bibliothèque définit les règles d'accès des classes dans les
fichiers JAR : les API publiques sont définies comme Accessible, tandis que
les classes internes sont définies comme Discouraged (Découragé).
L'utilisation des classes découragées est marquée à l'aide d'avertissements
de compilateur par défaut. Dans tous les cas, l'utilisation de ces classes
n'est pas prise en charge.
Bibliothèques référencées
Ces bibliothèques contiennent toutes les autres classes (par exemple, en cas
de plug-in lecteur de messagerie, les classes obligatoires, pour les
téléchargements du, l'accès au et la lecture du courrier électronique).
Les bibliothèques supplémentaires nécessaires au code Java de plug-in peuvent être
copiées vers le dossier lib et ajoutées au chemin de génération Java.
Autres dossiers de projet
Décrit les autres dossiers de projet de plug-in de gestion des événements.
A l'exception de la source et des dossiers de fichiers classe standard, les dossiers
suivants sont utilisés par le fichier Prepare for TWS Deployment (Préparation au
déploiement de TWS) pour mettre le plug-in en package en vue de son
déploiement sur le processeur d'événement.
config Ce dossier permet de stocker des fichiers de configuration supplémentaires
(par exemple, des fichiers de propriétés) que l'administrateur Tivoli
Workload Scheduler doit modifier pour cette opération. L'action Prepare
for TWS Deployment (Préparation au déploiement de TWS) copie ces
fichiers vers le dossier dist en dehors du fichier JAR de plug-in. Pour
accéder à ces fichiers à partir du code Java, chargez-les en tant que
ressources depuis le chargeur de classe.
8
doc
Ce dossier permet de stocker la documentation relative aux plug-in, par
exemple, Javadocs ou la documentation à propos des événements et actions
définis.
lib
Contient des bibliothèques JAR supplémentaires exigées par la classe Java
de plug-in. L'action Prepare for TWS Deployment (Préparation au
déploiement de TWS) copie ces fichiers JAR vers le dossier dist pour qu'ils
IBM Tivoli Workload Automation - Guide du développeur : Extension de Tivoli Workload Automation
puissent être utilisés au moment de l'exécution. Les fichiers JAR de ce
répertoire doivent être ajoutés manuellement aux bibliothèques de chemin
de génération Java.
dist
Il s'agit du répertoire cible du processus Prepare for TWS Deployment
(Préparation au déploiement de TWS). Après l'exécution de l'action
Prepare for TWS Deployment (Préparation au déploiement de TWS) depuis
le menu du projet, ce dossier contiendra tous les fichiers devant être copiés
vers Tivoli Workload Scheduler.
build.xml
Décrit le fichier build.xml de plug-in de gestion des événements.
Il s'agit d'un fichier de génération ANT standard. Vous pouvez le modifier pour
l'adapter à vos besoins, mais n'oubliez pas que la cible dist dans le fichier est
utilisée par l'action Prepare for TWS Deployment.
TWSPlugin.properties
Décrit le fichier TWSPlugin.properties de plug-in de gestion des événements.
TWSPlugin.properties est un fichier de propriétés lu par Tivoli Workload
Scheduler lorsque le plug-in est chargé.
Lorsqu'un projet de plug-in est créé, il contient déjà un fichier
TWSPlugin.properties. Ce dernier a été défini à l'aide des informations récoltées
dans le nouvel assistant de projet de plug-in. Vous n'aurez pas besoin de le
modifier, sauf si les informations sont ultérieurement modifiées.
TWSPlugin.properties définit les caractéristiques configurables suivantes du
fournisseur :
v Nom du plug-in. Il doit correspond à la même valeur renvoyée par la classe Java
du plug-in avec la méthode getPluginName et la même valeur définie comme
nom du plug-in dans TWSPluginConfiguration.xml.
v Type : événement ou action.
v Nom de la classe Java qui implémente directement l'interface de plug-in.
Exemple
Ceci est un exemple de fichier TWSPlugin.properties pour un plug-in appelé
MailReader.
TWSPlugIn.name=MailReader
TWSPlugIn.type=event
TWSPlugIn.className=mycompany.mailreader.MailReaderPlugin
«Arbre source Java (code SRC)», à la page 7
TWSPluginConfiguration.xml
Décrit le fichier TWSPluginConfiguration.xml de plug-in de gestion des
événements.
TWSPluginConfiguration.xml permet de déclarer tous les événements ou toutes les
actions fourni(e)s par le plug-in.
Ce fichier définit les attributs de liste pour les événements ou les actions, leurs
contraintes syntaxiques et (pour les événements uniquement) les conditions de
filtre autorisées.
Chapitre 3. Plug-in de gestion des événements Tivoli Workload Scheduler
9
Lorsqu'il est déployé sur Tivoli Workload Scheduler, ce fichier permet de gérer la
configuration de l'événement qui filtre les prédicats ou les attributs d'action dans
les règles d'événement.
Modifiez ce fichier pour indiquer la structure des événements ou des actions
fourni(e)s par le plug-in.
Création d'un projet de plug-in de A à Z
Décrit comment créer un projet de plug-in de gestion des événements de A à Z.
A l'aide de Integration Workbench, vous pouvez créer des projets de plug-in de A
à Z. Vous n'avez qu'à fournir les informations de base à propos du projet que vous
souhaitez créer, et l'assistant s'occupe de tout le reste.
Création d'un projet à partir d'un exemple de plug-in
Décrit comment créer un projet de plug-in de gestion des événements à partir d'un
exemple.
A l'aide de Integration Workbench, vous pouvez créer des projets basés sur les
exemples qui vous sont fournis. Cette méthode vous évitera d'avoir à créer la
structure du projet de plug-in complète de A à Z. Choisissez l'exemple en fonction
de vos exigences, puis modifiez-le selon vos besoins.
Exemples possibles
Décrit les exemples disponibles pour créer un projet de plug-in de gestion des
événements.
Les exemples que vous pouvez sélectionner sont les suivants :
MailReaderPlugin
Génère un événement Tivoli Workload Scheduler lorsqu'un courrier
électronique est reçu.
SmsSenderPlugin
Génère et envoie un SMS.
Préparation au déploiement
Décrit comment se préparer à déployer un plug-in de gestion des événements.
Cette action est disponible sur le menu des projets de plug-in Tivoli Workload
Scheduler. Elle exécute la cible dist du fichier de génération ANT build.xml dans
le projet.
Cette action place, dans le dossier dist du projet, les fichiers que vous devrez
ensuite copier vers le processeur d'événement Tivoli Workload Scheduler. Il
comprend les éléments suivants :
v Un fichier JAR avec les fichiers de classe Java et une copie de
TWSPlugin.properties et TWSPluginConfiguration.xml
v Le cas échéant, une copie des bibliothèques JAR de l'utilisateur présentes dans le
dossier lib, le cas échéant
v Le cas échéant, une copie du fichier de configuration présent dans le dossier
config
v Un dossier doc avec votre documentation relative aux plug-in au format HTML
«build.xml», à la page 9
10
IBM Tivoli Workload Automation - Guide du développeur : Extension de Tivoli Workload Automation
«Autres dossiers de projet», à la page 8
Génération et envoi d'un événement
Décrit les différentes méthodes possibles pour générer et envoyer un événement.
Il existe plusieurs moyens de générer des événements et de les envoyer à Tivoli
Workload Scheduler. En voici quelques exemples :
v La codification des instructions directement dans la définition de votre plug-in
v En utilisant l'action sendevent en externe à partir de la définition de votre
plug-in de l'une des façons suivantes :
– Utilisation de la méthode sendEvent appelée par les classes Java
– Exécution de la commande conman sendevent
Connexion à Tivoli Workload Scheduler
Décrit comment se connecter à Tivoli Workload Scheduler à partir d'un plug-in de
gestion des événements.
Connectez-vous à Tivoli Workload Scheduler à l'aide du code suivant :
private Subject getSubject(String
String
String
String
Subject subject = null;
try {
LoginContext lc = null;
serverName,
serverPort,
uid,
pwd){
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,INITIAL_CONTEXT_FACTORY);
env.put(Context.PROVIDER_URL,"corbaloc:iiop:"+serverName+":"+serverPort);
final InitialContext initialContext = new InitialContext(env);
Object obj = initialContext.lookup("");
lc = new LoginContext(JAAS_MODULE, new WSCallbackHandlerImpl(uid,pwd));
lc.login();
subject = lc.getSubject();
}
catch(javax.naming.NoPermissionException exc) {
System.err.println("[TWSConn] - Login Error: "+exc);
}
catch(Exception exc) {
System.err.println("[TWSConn] - Error: "+exc);
}
return subject;
}
Les données d'entrée utilisateur suivantes sont demandées :
v serverName : nom de votre installation Tivoli Workload Scheduler
v serverPort : le plus souvent, 33116 ou 33117
v uid : votre identifiant d'utilisateur Tivoli Workload Scheduler
v pwd : mot de passe de votre compte Tivoli Workload Scheduler
Chapitre 3. Plug-in de gestion des événements Tivoli Workload Scheduler
11
Documents de référence
Décrit comment rechercher des documents de référence au sujet des plug-in de
gestion des événements.
L'aide de Integration Workbench contient tous les documents de référence dont
vous pouvez avoir besoin.
Pour accéder à ces documents, procédez comme suit :
1. A partir d'Integration Workbench, sélectionnez Help → Help Contents (Aide →
Table des matières)
2. Développez Tivoli Workload Scheduler Integration Workbench, puis
Référence
3. Obtenez les documents de référence correspondants aux sujets suivants :
v Les informations requises pour pouvoir exécuter les assistants qui créent les
projets de plug-in de A à Z ou à partir d'un exemple
v Les informations relatives aux bibliothèques des fichiers JAR d'objet et
d'exécution
v La description des schémas XML
v Un lien vers les informations relatives à Tivoli Event Integration Facility
v Les références complètes pour chaque classe Java et chaque méthode utilisées
dans le plug-in
12
IBM Tivoli Workload Automation - Guide du développeur : Extension de Tivoli Workload Automation
Chapitre 4. Type de travail personnalisé avec plug-in
d'options avancées
Présente le type de travail personnalisé avec plug-in d'options avancées.
Dans Tivoli Workload Scheduler et Tivoli Workload Scheduler pour z/OS, vous
pouvez créer des travaux de divers types. Le type d'un travail détermine ses
caractéristiques. Par exemple, un travail de type Transfert de fichier possède toutes
les caractéristiques nécessaires pour effectuer un transfert de fichier. Lorsque vous
effectuez une sélection dans le but de créer un travail de ce type, vous êtes invité à
entrer les paramètres de transfert de fichier (quel fichier, depuis et vers quel
emplacement) dans un panneau dédié sur Dynamic Workload Console.
Lorsque vous choisissez un type de travail dans Dynamic Workload Console, les
types de travaux sont divisés en deux groupes :
Les travaux avec options standard
Travaux basiques qui exécutent scripts et commandes.
Les travaux avec options avancées
Ces travaux sont plus spécialisés. Ils sont implémentés avec un plug-in, et
peuvent être exécutés uniquement sur des postes de travail sur lesquels
l'agent dynamique a été installé, même s'ils ne sont pas destinés à être
planifiés dynamiquement. Dans Dynamic Workload Console, choisissez,
parmi un ensemble de ces types de travaux, celui qui couvre les activités
les plus fréquentes qu'une organisation peut avoir à effectuer (par exemple,
le transfert de fichier, les services Web, la base de données et Java).
Toutefois, si vous souhaitez planifier un type de travail qui ait des
exigences différentes de celles des types de travaux prédéfinis, vous
pouvez créer votre propre plug-in pour ajouter un nouveau type de travail
qui soit approprié aux besoins de votre business. Pour ce faire, utilisez
Integration Workbench.
Pour effectuer les opérations incluses dans le type de travail personnalisé avec les
plug-in d'options avancées, vous devez posséder un accès en exécution (run) défini
dans le fichier de sécurité sur le poste de travail sur lequel vous planifiez
d'exécuter le plug-in. Les conditions suivantes s'appliquent :
v Si l'opération est effectuée sur Tivoli Workload Scheduler Connector, l'accès en
affichage (display) et en exécution (run) sont requis sur l'unité centrale
correspondant au poste de travail sur lequel le travail est créé.
v Si l'opération est effectuée sur le poste de travail où le travail s'exécute, l'accès
en affichage (display) est nécessaire sur le poste de travail Workload Broker.
Pour savoir comment configurer le fichier de sécurité et définir les mots clés
d'accès run et object, voir Tivoli Workload Scheduler - Guide d'administration.
Analyse d'un plug-in de type de travail personnalisé
Un plug-in de type de travail personnalisé est constitué des éléments suivants :
v Un panneau Dynamic Workload Console où l'utilisateur entre les détails de la
définition de travail
v Le composant de serveur du plug-in qui effectue la validation optimale et crée la
définition de travail
© Copyright IBM Corp. 2011, 2014
13
v Le composant d'agent du plug-in exécutant le travail sur le poste de travail cible
Procédure pour la création d'un plug-in de type de travail
personnalisé
Voici les étapes de la création d'un plug-in de type de travail personnalisé :
1. Conception d'un panneau d'interface graphique
Vous générez votre propre panneau pour Dynamic Workload Console. Ce
panneau est à utiliser comme formulaire d'entrée pour votre type de travail
personnalisé. L'outil VisualBuilder AUIML (Language Abstract User
Interface Markup) permet de créer un panneau d'interface utilisateur. En
outre, vous pouvez ajouter des :
v Boutons
v Cases à cocher
v Zones de liste déroulante
v
v
v
v
v
v
Zones d'édition
Zones de liste
Groupes
Boîtes de pastilles
Listes dynamiques
Listes de paires dynamiques
Prenez note des restrictions suivantes :
v Lorsque vous nommez vos objets d'interface graphique, n'utilisez pas le
préfixe tws qui est réservé à une utilisation interne. Pour la même
raison, évitez d'utiliser les termes suivants comme noms distincts (ils
peuvent toutefois faire partie de chaînes) :
– name
– member
– workstation
– job
– jobstream
v L'imbrication à deux niveaux n'est pas autorisée pour les groupes de
boutons d'option ou de cases à cocher. Vous ne pouvez également pas
placer de zones obligatoires dans les groupes imbriqués à deux niveaux.
Si vous incluez les zones nom d’utilisateur et mot de passe dans les
panneaux, vous pouvez bénéficier du widget suivant (fourni avec le
produit) qui permet à l'utilisateur (la personne définissant le travail dans la
plupart des cas) de choisir la source du mot de passe requis. Le widget
s'affiche lorsque vous cliquez sur le bouton des points de suspension (...)
placé à côté de la zone de mot de passe :
14
IBM Tivoli Workload Automation - Guide du développeur : Extension de Tivoli Workload Automation
où les possibilités sont les suivantes :
Mot de passe
Prend la valeur de mot de passe entrée dans la zone Mot de passe.
Utilisateur
Ajoute la chaîne de caractères
${password:valeur_zone_nom_utilisateur} dans la zone de mot de
passe.
Sur des agents dynamiques
Ce paramètre est résolu lors de l'exécution avec la valeur
de mot de passe définie pour Nom d’utilisateur dans la
base de données Tivoli Workload Scheduler à l'aide du
panneau de définition Utilisateur ou de la commande
composer user.
Vous pouvez également indiquer l'utilisateur (et le mot de
passe correspondant) d'un autre poste de travail s'il est
défini dans la base de données. Consultez la description du
bouton Variable.
Avertissement : Les définitions d'utilisateurs ne disposent
pas d'intégrité référentielle. Cela implique que, si une
définition d'utilisateur, référencée dans la section des
données d'identification, est modifiée ou supprimée, aucun
message d'avertissement ou d'erreur n'est renvoyé jusqu'à
l'exécution du travail.
Sur les agents Tivoli Workload Scheduler for z/OS
Ce paramètre est résolu lors de l'exécution avec la valeur
de mot de passe définie pour Nom d’utilisateur dans
Tivoli Workload Scheduler pour la base de donnée z/OS
en utilisant l'instruction d'initialisation USSREC, où la
Chapitre 4. Type de travail personnalisé avec plug-in d'options avancées
15
valeur Nom d’utilisateur est définie par le paramètre
USRNAM et le mot de passe par USRPSW.
Agent utilisateur
Ajoute la chaîne de caractères
${agent:password.zone_valeur_nom_utilisateur} dans la zone de
mot de passe.
Ce paramètre est résolu lors de l'exécution avec la valeur de mot
de passe définie pour Nom d’utilisateur en local sur l'agent
dynamique ou sur l'agent Tivoli Workload Scheduler for z/OS qui
exécutera le travail (ou sur n'importe quel agent d'un pool ou d'un
pool dynamique susceptible d'exécuter le travail) avec la
commande param.
Variable
Ce paramètre est résolu lors de l'exécution avec la valeur définie
pour la variable entrée dans la zone (à l'aide de la notation
{nom_variable}).
Sur des agents dynamiques
La variable doit avoir été définie localement sur l'agent, via
la commande param, ou dans la base de données Tivoli
Workload Scheduler, en utilisant le panneau Utilisateur
ou la commande composer username. Par exemple :
v Variable définie localement sur l'agent. Entrez la
commande comme suit :
${agent:file_With_Sections.password.dbPwd}
v Variable définie dans la base de données. Entrez la
commande comme suit :
${password:workstation#user}
Vous pouvez utiliser ce bouton pour indiquer le mot de
passe de l'utilisateur distant d'un autre poste de travail
(tant qu'il a été défini dans la base de données) en entrant
la chaîne suivante dans la zone adjacente :
${password:nom_poste_travail#valeur_zone_nom_utilisateur}
Sur les agents Tivoli Workload Scheduler for z/OS
Utilisez cette zone si vous souhaitez utiliser le mot de
passe défini pour un utilisateur différent de celui spécifié
dans la zone Nom de l’utilisateur.
Par exemple, si vous définissez un travail Transfert de
fichier et que les noms d'utilisateur local et distant sont
identiques (user1), vous pouvez différencier le mot de
passe en définissant deux entrées d'instruction
d'initialisation USRREC (une pour user1 et l'autre pour
user1remote, par exemple). Une fois cette étape passée,
dans la zone de mot de passe de l'utilisateur distant,
indiquez :
${password:user1remote}
Le mécanisme classique de substitution de variable qui
utilise les variables définies dans les tables de variables de
base de données Tivoli Workload Scheduler for z/OS n'est
pas pris en charge dans cette zone.
16
IBM Tivoli Workload Automation - Guide du développeur : Extension de Tivoli Workload Automation
Les variables sont résolues lorsque vous générez un plan et lorsque
vous soumettez un travail ou un flot de travail. Lorsque des
travaux sont en cours de définition, les variables ne sont pas
résolues et ne peuvent pas être utilisées dans les listes ou pour des
tests de connexion.
Vous devez ajouter l'instruction suivante dans le codage de la zone de mot
de passe pour afficher le widget et associer l'option choisie à la zone :
BINDING="passwordSelector#modeling.widgets.password.PasswordSelector:<nomUtilisateur>"
2. Ajout de boutons au panneau pour effectuer des actions de service (facultatif)
Si vous le souhaitez, vous pouvez ajouter des boutons à vos panneaux
personnalisés dans Dynamic Workload Console pour effectuer, par
exemple, les actions de service suivantes :
v Ouverture d'une liste de sélection des valeurs possibles pour un
paramètre de travail à partir du connecteur
v Ouverture d'une liste de sélection des valeurs possibles pour un
paramètre de travail à partir d'un agent
Lorsque vous ajoutez le bouton que vous associez à l'action correspondante
dans une zone ACTION au sein du plug-in. La définition d'une action
nécessite les éléments suivants :
v Définition de l'action dans la définition du plug-in AUIML
v Option déterminant si l'action doit être effectuée sur le connecteur (dès
que vous cliquez sur le bouton)
v Méthode permettant d'effectuer l'action demandée
Une ou plusieurs des actions suivantes peuvent être déclenchées :
v Le statut d'une zone peut être défini sur Erreur, suivi d'un message
décrivant cette erreur
v Un menu contextuel peut être affiché
v Les informations relatives au diagnostic peuvent être tracées sur
Dashboard Application Services Hub
v Une liste de sélection peut être affichée
3. Création d'un projet de plug-in
Utilisez Integration Workbench pour générer un projet de plug-in.
Cette étape consiste à créer un package avec vos fichiers de plug-in et tout
ce dont vous avez besoin pour les déployer. Procédez comme suit :
1. Sur la barre d'outils, sélectionnez Fichier→Nouveau→Projet.... La fenêtre
New Project (Nouveau projet) s'affiche.
2. Dans la liste des assistants, faites un double-clic sur IBM Tivoli
Workload Scheduler, puis sur TWS Executor Project (Programme
d'exécution TWS). L'assistant TWS Executor Project (Programme
d’exécution TWS) s'ouvre.
3. Entrez un nom pour votre projet.
4. Entrez un nom de package pour le plug-in.
5. Entrez le nom du programme d'exécution de travail en rapport avec le
plug-in.
6. Entrez le nom panel_filename.AUIML (ou utilisez la barre de recherche).
7. Entrez les noms d'un ou plusieurs fichiers panel_filename.properties files
(ou utilisez la barre de recherche pour les sélectionner).
Chapitre 4. Type de travail personnalisé avec plug-in d'options avancées
17
8. Entrez le nom du fichier d'icônes correspondant (ou utilisez la barre de
recherche). Le fichier d'icônes ne peut être que d'un seul type : PNG.
9. Cliquez sur Terminer.
L'assistant crée le projet de programme d'exécution et génère :
v Un fichier .XSD qui définit le schéma de ka définition de travail
v Toutes les classes requises pour mapper le fichier JSDL
v Un fichier labels.properties dans lequel vous pouvez insérer vos libellés
Pour insérer plus de libellés, modifiez le fichier labels.properties situé dans
le dossier RESOURCES (RESSOURCES) du projet. Ce fichier comprend
déjà un libellé par défaut. Ajoutez chaque libellé localisé au format :
language code = label
à l'aide des mêmes paramètres régionaux que ceux utilisés dans le fichier
de propriétés correspondant.
L'ID plug-in correspond au nom du plug-in en minuscule.
Modifiez les fichiers de projet de plug-in
Modifier les fichiers créés pour le projet :
v Attribuez un nom au panneau qui s'affichera dans le menu déroulant
Nouveau Définition de travail sur Dynamic Workload Console (vous
pouvez également ajouter des noms localisés)
v Définissez la version de plug-in si vous ne souhaitez pas utiliser la
valeur par défaut, 1.0.0
v Ajoutez des messages, y compris tout message localisé auquel vous
souhaitez faire référence dans votre codification
v Codez toute validation que vous souhaitez accorder au moment de la
saisie et de l'exécution
v Créez des listes de sélection pour les valeurs de zone
v Codez toute exigence de sortie spéciale dont vous avez besoin pour ce
type de travail
4. Test du plug-in
Utilisez le projet de test (projet automatiquement généré par l'assistant TWS
Executor Project (Projet de programme d'exécution TWS) lorsque vous
créez le projet de plug-in) pour tester le plug-in.
5. Déploiement du plug-in
Exportez les fichiers de plug-in packagés depuis le plan de travail Eclipse
vers un dossier sur votre ordinateur (ou celui de quelqu'un d'autre). Cela
vous permet de les installer sur les agents et de les rendre opérationnels.
Procédez comme suit :
1. Dans le panneau Package Explorer (Explorateur de package), cliquez
avec le bouton droit de la souris sur le nom du package, puis
sélectionnez Exporter....
2. Dans la fenêtre Exporter, faites un double-clic sur IBM Tivoli Workload
Scheduler, puis sur TWS Executor (Programme d'exécution TWS).
Une liste de projets TWS Executor (Programme d'exécution TWS)
définis s'affiche.
3. Sélectionnez le projet souhaité dans la liste, puis entrez le dossier de
destination sur votre ordinateur (ou celui de quelqu'un d'autre).
4. Cliquez sur Terminer.
18
IBM Tivoli Workload Automation - Guide du développeur : Extension de Tivoli Workload Automation
Cela entraîne la création d'un fichier JAR appelé plug-in_id_version.jar (où
plug-in_id correspond au nom de votre plug-in en minuscule) dans le
dossier de destination de l'ordinateur que vous avez sélectionné. Ce nom
ne peut être modifié.
6. Installation du plug-in sur les gestionnaires de domaine maître, les
gestionnaires de domaine dynamiques et les postes de travail de sauvegarde
associés, le cas échéant
Copiez le fichier JAR du plug-in dans le chemin installation_dir/TWS/
applicationJobPlugIn des gestionnaires de domaine maître, des
gestionnaires de domaine dynamiques et des postes de travail de
sauvegarde associés, le cas échéant. Redémarrez WebSphere Application
Server pour appliquer les changements.
7. Installation et configuration du plug-in sur les agents
Procédez comme suit :
1. Copiez le plug-in dans le chemin d'accès ../TWA/TWS/JAVAEXT/eclipse/
plugins de chaque agent dynamique à l'emplacement où vous
souhaitez l'exécuter.
2. Sur chaque agent, modifiez le fichier config.ini situé dans le chemin
d'accès ../TWA/TWS/JAVAEXT/eclipse/configuration en ajoutant la ligne
suivante :
plug-in_id@4:start
où plug-in_id correspond au nom de votre plug-in en minuscule.
Remarque : Vous pouvez installer une seule version du même plug-in sur le
gestionnaire de domaine maître, le gestionnaire de domaine dynamique et les
agents où vous souhaitez exécuter le plug-in. Si vous créez une version du plug-in,
installez-le sur le gestionnaire de domaine maître, sur le gestionnaire de domaine
dynamique et sur les agents et supprimez la version précédente.
Structure de plug-in de type de travail personnalisé
Présente la structure d'un plug-in de type de travail personnalisé.
Chapitre 4. Type de travail personnalisé avec plug-in d'options avancées
19
Lorsque vous créez un projet de plug-in de type de travail personnalisé dans
Integration Workbench, un écran semblable à la figure ci-contre apparaît :
Les sections suivantes fournissent des informations de plan à propos de la
procédure que vous devez suivre pour modifier le projet afin de l'adapter à vos
besoins.
<NomProjet>Action.java
20
IBM Tivoli Workload Automation - Guide du développeur : Extension de Tivoli Workload Automation
Ce fichier contient les classes qui contrôlent la validation du travail.
Comme vous pouvez le voir sur la capture d'écran, vous pouvez coder la
validation à effectuer lorsque le travail est défini (en règle générale, il s'agit
d'une validation sémantique) et une fois le travail exécuté (par exemple, la
vérification de l'existence d'un fichier).
<NomProjet>ApplicationDescriptor.java
Dans le descripteur d'application, vous pouvez ajouter manuellement la
propriété catégorie pour décrire le type de plug-in.
La propriété doit avoir l'identificateur d'une catégorie prédéfinie ou une
valeur définie par l'utilisateur. Les identificateurs des catégories de plug-in
prédéfinies sont :
v native
v ERP
v database
v
v
v
v
file_transfer
cloud
system_management
business_analytics
Si le plug-in ne correspond à aucune des catégories prédéfinies, vous
pouvez entrer une nouvelle catégorie qui sera ajoutée à la liste des types
de plug-in dans la section concepteur de charge de travail de Dynamic
Workload Console.
L'exemple suivant présente le descripteur d'application d'un plug-in de la
catégorie database :
EJB Application descriptor service provider
com.ibm.scheduling.agent.database.jobexecutor.DatabaseApplicationDescriptor
application=database
factory=com.ibm.scheduling.agent.database.jobexecutor.DatabaseJobExecutor
FactorysupportedWorkstations=agent,pool,d-pool
supportedOS=UNIX,WNT,OTHER,IBM_i
Chapitre 4. Type de travail personnalisé avec plug-in d'options avancées
21
isJobStoppable=true
producesJobOutput=true
category=database
schemaLocation=com/ibm/scheduling/resources/xsd/JSDL-DATABASE.xsd
namespace=http://www.ibm.com/xmlns/prod/scheduling/1.0/jsdldatabase
version=${agent.executors.ver}
label=Database
Père de <NomProjet>Action.java
Contient des éléments utiles et variés, y compris :
v Le consignateur
v Une méthode permettant de découvrir le nom du journal de travail
v La possibilité de personnaliser le contenu du message de confirmation
de réussite
v La possibilité de modifier les codes de sortie
v Des méthodes permettant d'annuler le travail
com.<Nom de société>.<NomProjet>.msg
Contient le fichier de propriétés où vous ajoutez les messages. Les
messages peuvent être localisés en ajoutant le code des paramètres
régionaux.
JSDL-<NOM DU PROJET>.xsd
Contient le schéma XML du panneau que vous avez créé. En règle
générale, le schéma ne nécessite aucun changement et peut constituer un
précieux point de référence.
MANIFEST.MF
Ce fichier enregistre la version de votre projet de plug-in.
labels.properties
Lorsque vous attribuez un nom à votre type de travail tel que vous
souhaitez qu'il s'affiche sur la liste déroulante Créer des définitions de
charge de travail Nouveau Définition de travail dans Dynamic
Workload Console. Les versions localisées peuvent également être
spécifiées ici. Elles sont automatiquement utilisées lorsque la console est en
cours d'utilisation sur des systèmes avec l'ensemble des paramètres
régionaux correspondants.
Développement du plug-in
Au cours du processus de développement, vous pouvez décider de modifier le
panneau de données d'entrée. Si c'est le cas, vous pouvez utiliser l'option
permettant de régénérer le plug-in à l'aide du panneau modifié. Tout code ajouté
sera traité comme suit :
v Si vous avez supprimé une zone du panneau, vous devez supprimer
manuellement tout code associé que vous avez ajouté.
v Si vous avez modifié une zone dans le panneau, vous devez vérifier si le code
qui y est associé s'applique toujours. Si ce n'est pas le cas, modifiez-le.
v Si vous avez ajouté des zones, insérez le code supplémentaire nécessaire.
Test du plug-in
Un projet de test est automatiquement créé au moment de la création du projet de
plug-in. Il contient un fichier appelé job.xml, qui peut être lancé comme une
application Java pour exécuter un travail Tivoli Workload Scheduler. Sinon, ce
fichier peut être utilisé comme un modèle de définition de travail dans Composer.
22
IBM Tivoli Workload Automation - Guide du développeur : Extension de Tivoli Workload Automation
Chapitre 5. Définition des travaux Java
Décrit comment créer des travaux Java qui permettent d'étendre l'aptitude de
Tivoli Workload Automation.
Pour définir un travail qui exécute un travail Java en utilisant Dynamic Workload
Console, procédez comme suit.
1. Dans l'arborescence de navigation, développez Charge de travail > Conception
et cliquez sur Créer des définitions de charge de travail
2. Indiquez un nom de moteur, distribué ou z/OS. Le concepteur de charge de
travail s'ouvre.
3. Dans le panneau liste de travail, sélectionnez la définition de travail Java.
Nouveau > Base de données et intégrations > Java
Nouveau > Définition de travail > Base de données et Intégrations >
Java
Les propriétés du travail sont affichées dans le panneau de droite pour édition.
4. Dans le panneau des propriétés, indiquez les attributs de la définition de travail
que vous êtes en train de créer. Vous trouverez des détails sur tous les attributs
dans l'aide contextuelle disponible sur chaque panneau.
5. Cliquez sur Enregistrer pour stocker la définition du travail dans la base de
données.
Lorsque vous définissez un travail de ce type, vous devez fournir les éléments
suivants :
v Un fichier JAR (préparé par vos soins) contenant les classes et les méthodes que
vous souhaitez implémenter une fois le travail exécuté
v Un ensemble de paramètres fournissant au travail les informations relatives à
l'exécution
Vous trouverez dans les sections ci-après la procédure permettant de préparer le
fichier JAR. Vous y trouverez également la description de la manière d'utiliser le
bouton Obtention des informations de classe, (affiché sur l'interface) pour obtenir
des informations à propos des classes du fichier JAR sélectionné.
Création du fichier JAR de travail Java
Décrit comment créer le fichier JAR utilisé avec un travail Java.
Un travail Java peut utiliser n'importe quel fichier JAR créé d'après les règles et la
procédure suivantes.
1. Insérez le fichier JAR Tivoli Workload Automation dans le
chemin de génération
La classe qui implémente l'interface Dynamic Workload Console est incluse dans le
fichier JAR suivant :
Sur le serveur
<racine_TWA>/TWA/TWS/applicationJobPlugIn/
com.ibm.scheduling.agent.java_<version>.jar
© Copyright IBM Corp. 2011, 2014
23
Sur un agent dynamique
<racine_TWA>/TWA/TWS/JavaExt/eclipse/plugins/
com.ibm.scheduling.agent.java_<version>.jar
où <version> est la version de Tivoli Workload Scheduler relative au
groupe de correctifs le plus récent appliqué.
Ce fichier JAR doit être inséré dans votre chemin de génération Java.
2. Créez votre classe pour implémenter TWSExecutable
Créez une classe qui implémente une classe appelée TWSExecutable, dont la
signature est la suivante :
public abstract interface TWSExecutable
{
public abstract void validateParameters(Parameters paramParameters)
throws Exception;
public abstract void execute(Parameters paramParameters)
throws Exception;
}
Remarque : Cette classe peut être utilisée sur des agents sur les versions 8.5.1 ou
8.6 du groupe de correctifs 1.
Cette classe implémente deux méthodes :
validateParameters
Cette méthode est la première appelée en cas d'exécution d'un travail Java.
Elle permet de valider la saisie des paramètres lorsque le travail a été
défini. Si une exception se produit, elle sera écrite dans le journal de
travail.
execute
Cette méthode-ci est celle qui exécute réellement le travail.
Les éléments suivants sont des méthodes de la classe validateParameters :
getParameter
S'il est fourni avec l'argument d'un des paramètres, il renvoie la valeur
réelle.
getParameterList
Renvoie une liste de tous les paramètres définis comme paires valeur-nom.
getOutputFile
Renvoie le chemin d'accès du journal de travail de sortie.
Remarque : Si vous souhaitez écrire dans le journal, n'oubliez jamais de le
fermer.
3. Si vous le souhaitez, fournissez des informations à la
personne définissant le travail
L'interface comprend un bouton Obtention des informations de classe. Pour
implémenter ce bouton, utilisez la classe TWSExecutableInformation, dont la
signature est la suivante :
24
IBM Tivoli Workload Automation - Guide du développeur : Extension de Tivoli Workload Automation
public abstract interface TWSExecutableInformation
{
public abstract String getInformation();
}
Remarque : Cette classe peut être utilisée sur la version 8.6. uniquement.
Cette classe est implémentée lorsque l'utilisateur clique sur le bouton Obtention
des informations de classe. Ainsi, vous pouvez l'utiliser pour fournir des
informations d'aide relatives au travail dans le fichier JAR sélectionné par
l'utilisateur.
4. Incluez toute bibliothèque obligatoire
Si votre travail Java exige une ou plusieurs bibliothèques ou autres fichiers,
copiez-les vers le dossier où vous avez enregistré le fichier JAR. Lorsque la
personne définissant le travail identifie le fichier JAR, le produit ne charge pas
uniquement le fichier JAR, mais également tous les autres éléments compris dans
le dossier sur l'agent.
Voici un exemple du code dont il est question dans cette rubrique :
package com.test.Trial;
import java.io.BufferedWriter;
import java.io.FileWriter;
import com.ibm.scheduling.agent.java.jobexecutor.TWSExecutable;
import com.ibm.scheduling.agent.java.jobexecutor.TWSExecutableInformation;
import com.ibm.scheduling.agent.java.parametersdomain.Parameters;
public class Trial implements TWSExecutable, TWSExecutableInformation{
/*
* Writes the parameter "parm1" to the log
*/
@Override
public void execute(Parameters arg0) throws Exception {
String parm1 = arg0.getParameter("parm1");
String filename = arg0.getOutputFile();
BufferedWriter out = new BufferedWriter(new FileWriter(filename));
out.write(parm1);
out.close();
}
/*
* Validates the parameter "parm1", throwing the exception to the log
*/
@Override
public void validateParameters(Parameters arg0) throws Exception {
String parm1 = arg0.getParameter("parm1");
if(parm1.equals("XXX"))
throw new Exception("The parameter parm1 is not correct");
}
/*
* Tells the user of the interface who has clicked the Get Class
* Information button what the class does.
*/
Chapitre 5. Définition des travaux Java
25
@Override
public String getInformation() {
String msg = "This class writes the parm1 parameter in the output log";
return msg;
}
}
26
IBM Tivoli Workload Automation - Guide du développeur : Extension de Tivoli Workload Automation
Remarques
Le présent document peut contenir des informations ou des références concernant
certains produits, logiciels ou services IBM non annoncés dans ce pays. Pour plus
de détails, référez-vous aux documents d'annonce disponibles dans votre pays ou
adressez-vous à votre partenaire commercial IBM. Toute référence à un produit,
logiciel ou service IBM n'implique pas que seul ce produit, logiciel ou service IBM
puisse être utilisé. Tout autre élément fonctionnellement équivalent peut être
utilisé, s'il n'enfreint aucun droit d'IBM. Il est de la responsabilité de l'utilisateur
d'évaluer et de vérifier lui-même les installations et applications réalisées avec des
produits, logiciels ou services non expressément référencés par IBM.
IBM peut détenir des brevets ou des demandes de brevet couvrant les produits
mentionnés dans le présent document. La remise de ce document ne vous donne
aucun droit de licence sur ces brevets ou demandes de brevet. Si vous désirez
recevoir des informations concernant l'acquisition de licences, veuillez en faire la
demande par écrit à l'adresse suivante :
IBM Director of Licensing
IBM Corporation
North Castle Drive
Armonk, NY 10504-1785 U.S.A.
Pour le Canada, veuillez adresser votre courrier à :
IBM Director of Commercial Relations
IBM Canada Ltd
3600 Steeles Avenue East
Markham, Ontario
L3R 9Z7 Canada
Les informations sur les licences concernant les produits utilisant un jeu de
caractères double octet peuvent être obtenues par écrit auprès d'IBM à l'adresse
suivante :
Octroi de licence de propriété intellectuelle
Législation sur la propriété intellectuelle et légale
IBM Japan, Ltd.
19-21, Nihonbashi-Hakozakicho, Chuo-ku
Tokyo 103-8510, Japon
Le paragraphe suivant ne s'applique ni au Royaume-Uni, ni dans aucun pays
dans lequel il serait contraire aux lois locales.
LES INFORMATIONS SONT LIVREES EN L'ETAT SANS AUCUNE GARANTIE
EXPLICITE OU IMPLICITE. IBM DECLINE NOTAMMENT TOUTE
RESPONSABILITE RELATIVE A CES INFORMATIONS EN CAS DE
CONTREFAÇON, AINSI QU'EN CAS DE DEFAUT D'APTITUDE A L'EXECUTION
D'UN TRAVAIL DONNE.
Certaines juridictions n'autorisent pas l'exclusion des garanties implicites ou
explicites, auquel cas l'exclusion ci-dessus ne vous sera pas applicable.
© Copyright IBM Corp. 2011, 2014
27
Le présent document peut contenir des inexactitudes ou des coquilles. Ce
document est mis à jour périodiquement. Chaque nouvelle édition inclut les mises
à jour. IBM peut, à tout moment et sans préavis, modifier les produits et logiciels
décrits dans ce document.
Les références à des sites Web non-IBM sont fournies à titre d'information
uniquement et n'impliquent en aucun cas une adhésion aux contenus de ces sites
Web. Les éléments figurant sur ces sites Web ne font pas partie des éléments du
présent produit IBM et l'utilisation de ces sites relève de votre seule responsabilité.
IBM pourra utiliser ou diffuser, de toute manière qu'elle jugera appropriée et sans
aucune obligation de sa part, tout ou partie des informations qui lui seront
fournies.
Les licenciés souhaitant obtenir des informations permettant : (i) l'échange des
données entre des logiciels créés de façon indépendante et d'autres logiciels (dont
celui-ci), et (ii) l'utilisation mutuelle des données ainsi échangées, doivent adresser
leur demande à :
IBM Corporation
2Z4A/101
11400 Burnet Road
Austin, TX 78758 U.S.A.
Ces informations peuvent être soumises à des conditions particulières, prévoyant
notamment le paiement d'une redevance.
Le logiciel sous licence décrit dans ce document et tous les éléments sous licence
disponibles s'y rapportant sont fournis par IBM conformément aux dispositions de
l'ICA , des Conditions internationales d'utilisation des logiciels IBM ou de tout
autre accord équivalent.
Le présent document peut contenir des exemples de données et de rapports utilisés
couramment dans l'environnement professionnel. Ces exemples mentionnent des
noms fictifs de personnes, de sociétés, de marques ou de produits à des fins
illustratives ou explicatives uniquement. Toute ressemblance avec des noms de
personnes, de sociétés ou des données réelles serait purement fortuite.
Marques
IBM, le logo IBM et ibm.com sont des marques d'International Business Machines
Corporation aux Etats-Unis et/ou dans certains autres pays. Si ces marques et
d'autres marques d'IBM sont accompagnées d'un symbole de marque (® ou ™), ces
symboles signalent des marques d'IBM aux Etats-Unis à la date de publication de
ce document. Ces marques peuvent également exister et éventuellement avoir été
enregistrées dans d'autres pays. La liste actualisée de toutes les marques d'IBM est
disponible sur la page Web "Copyright and trademark information" à
http://www.ibm.com/legal/copytrade.shtml.
Java ainsi que tous les logos et toutes les marques incluant Java sont des
marques d'Oracle et/ou ses sociétés affiliées.
28
IBM Tivoli Workload Automation - Guide du développeur : Extension de Tivoli Workload Automation
Microsoft et Windows sont des marques de Microsoft Corporation aux Etats-Unis
et/ou dans certains autres pays.
UNIX est une marque enregistrée aux Etats-Unis et dans certains autres pays, dont
seule la société The Open Group peut concéder la licence.
Remarques
29
30
IBM Tivoli Workload Automation - Guide du développeur : Extension de Tivoli Workload Automation
Index
A
J
accessibilité xii
action, méthode et commande
sendEvent 11
aide d'Integration Workbench
utilisation 3
Java
jobs
C
conventions utilisées dans les
publications xii
D
Dynamic Workload Console
accessibilité xii
E
envoi d'événements
11
F
formation xii
technique xii
23
P
plug-in
gestion des événements 5
arbre source Java 7
autres dossiers de projet 8
chemin de génération Java 8
documents de référence 12
fichier build.xml 9
fichier TWSPlugin.properties 9
fichier
TWSPluginConfiguration.xml 9
préparation au déploiement 10
projet 6
projet, création à partir d'un
exemple 10
projet, création de A à Z 10
projet, modèles (exemples) 10
structure 6
gestion des événements,
connexion à Tivoli Workload
Scheduler 11
type de travail personnalisé 13, 20
publications xii
G
génération d'événements 11
gestion des événements
envoi d'événements 11
génération d'événements 11
gestion des événements, plug-in 5
arbre source Java 7
autres dossiers de projet 8
chemin de génération Java 8
connexion à Tivoli Workload
Scheduler
création de A à Z 11
documents de référence 12
fichier build.xml 9
fichier TWSPlugin.properties 9
fichier
TWSPluginConfiguration.xml 9
préparation au déploiement 10
projet 6
création à partir d'un exemple 10
création de A à Z 10
modèles (exemples) 10
structure 6
glossaire xii
T
technique, formation xii
Tivoli, formation technique xii
Tivoli Workload Automation
extension 1
type de travail personnalisé, plug-in
20
types de travaux
Java 23
13,
U
utilisation
aide d'Integration Workbench
3
I
installation
Integration Workbench
Integration Workbench
installation 3
3
© Copyright IBM Corp. 2011, 2014
31
32
IBM Tivoli Workload Automation - Guide du développeur : Extension de Tivoli Workload Automation
Numéro de programme : 5698-T08, 5698-WSH et 5698-WSE
SC11-6931-03