Bien que l'appel de ces tâches puisse s'effectuer en cliquant simplement sur une icône dans une page Web, ou par l'appel d'une adresse de navigateur Web, l'action interactive d'un utilisateur est requise.
Automatisation des tâches avec System i Access for Web
En V6R1 System i Access for Web fournit un programme java permettant d’automatiser l’exécution de ces demandes préenregistrées : iWATask.jar se trouvant dans le répertoire /QIBM/ProdData/Access/Web2/lib/.
Pour éviter l’intervention de l’utilisateur et ainsi planifier l’exécution de la requête quand bon nous semble, il nous faudra lancer la requête en lui fournissant des paramètres. Ces paramètres doivent être préalablement écrits dans un fichier texte appelé fichier « Propriété ».
Exemple de contenu de ce fichier « Propriété » pour appeler notre précédente requête :
url=http:// <nom_système_i5OS>:2020/webaccess/iWADbExec
user=PTHOMAS
password=MOTDEPASSE
parm.request=EmployeeList
output=sqlOutput.pdf
Le fichier de propriétés contient les éléments suivants :
– L’adresse de navigateur Web du servlet et/ou de la tâche System i Access for Web à appeler
– Un ID et mot de passe utilisateur i5/OS que System i Access for Web utilise pour s’authentifier auprès du système i5/OS
– Le nom de la tâche à exécuter
– Un fichier de sortie dans lequel seront écrits les résultats de la tâche (par défaut SqlOutput.pdf dans le répertoire utilisateur).
Ainsi, pour exécuter notre tâche depuis une ligne de commande donc du WRKJOBSCDE, on lancera :
QSH(‘java –jar /QIBM/ProdData/Access/Web2/lib/iWATask.jar monfichierProprietes’)
Vous pouvez créer ce fichier texte à partir du bloc notes Windows® ou avec les commandes natives. La seule contrainte, ce fichier doit être en ASCII standard (CCSID 819) ou en ASCII Windows® (CCSID 1252). Aussi, je vous recommande d’appeler ce fichier texte task.properties.
Exemple de création du fichier avec les commandes natives
D’abord créez un répertoire dans /home possédant le nom de votre profil utilisateur.
Ex : MKDIR ‘/home/pthomas’ sur une ligne de commande.
Entrez sous QSH puis tapez cd ~ afin d’être positionné dans votre répertoire, vérifiez en tapant pwd.
Tapez touch -C 819 task.properties ce qui permet de créer le fichier à vide en ASCII standard. Sortez de QSH, puis, depuis une ligne de commande CL, tapez :
EDTF ‘/home/pthomas/task.properties’ pour en éditer le contenu. Insérer les 5 lignes comme montré dans le précédent exemple.
Testons sous QSH l’exécution de la tâche :
java -jar /QIBM/ProdData/Access/Web2/lib/iWATask.jar task.properties
Pour obtenir plus d’informations sur l’exécution (génération d’un log) utilisez plutôt :
java –jar -Dcom.ibm.as400.webaccess.iWATask.log.category=all
QIBM/ProdData/Access/Web2/lib/iWATask.jar task.properties
Suite à l’une de ces précédentes commandes, vous devez obtenir un fichier PDF dans l’IFS dont le nom et le répertoire dépendent des informations renseignées dans le paramètre OUTPUT= du fichier propriété (si aucun chemin n’a été précisé, c’est le répertoire de l’utilisateur par défaut qui est pris en compte, le fichier par défaut étant sqlOutput). De surcroît, si vous avez demandé un envoi par courrier dans System i Access for the Web, un mail avec le PDF en attachement sera envoyé.
Vous pouvez aussi intégrer le fichier propriété à l’intérieur du programme iWATask.jar.
Un fichier .jar est une archive, comme l’est un fichier .zip ou .rar. Nous avons la possibilité d’encapsuler le fichier propriété à l’intérieur de l’archive, le fichier propriété une fois encapsulé n’étant plus utile, n’a plus de raison de se trouver dans l’IFS. Pour permettre l’intégration du fichier Propriété dans l’exécutable, ce dernier doit impérativement s’appeler « task.properties ».
Pour copiez iWATask.jar dans votre répertoire, utilisez la commande CL CPY ou sous QSH en tapant :
Cp /QIBM/ProdData/Access/Web2/lib/iWATask.jar EmployeeList.jar
Puis encapsulez le fichier propriété à l’intérieur du programme (ajout de task.properties à l’archive) avec la commande shell :
Jar -uf EmployeeList.jar task.properties
Une fois encapsulé, vous pourrez directement lancer : Java -jar EmployeeList.jar
Côté sécurité, l’amélioration est moindre, car on peut extraire le fichier task.properties de l’archive avec Jar ou directement avec Winzip ou Winrar et ainsi obtenir l’utilisateur et le mot de passe.
Le programme Java iWATask.jar peut-être appelé depuis l’IBM i ou à partir de toute autre plateforme disposant de Java™ Runtime Environment Version 1.5, entre autres Microsoft® Windows®, et Linux®.
Vous pouvez donc prendre cet exécutable et le remonter sur votre PC (par les dossiers partagés, FTP, iSeries Navigator etc..) et le placer sur le bureau ou dans un répertoire quelconque et l’exécuter pour produire le résultat attendu.
Une autre façon d’encapsuler le fichier propriété dans iWATask.jar est d’utiliser l’interface de System i Access for the Web. Dans la liste de vos demandes, cliquez sur l’icône (Création de tâche automatisé). On vous invite à saisir les informations nécessaires à l’exécution comme montré c-dessous. Le programme .jar vous sera proposé en téléchargement. Placer l’exécutable le sur votre PC.
Si votre PC dispose d’une version Java 1.5 minimum (java –version pour le vérifier sur une ligne de commande dos), l’exécution du .jar génèrera le document dans le même répertoire que l’exécutable. Vous pouvez ainsi planifier son exécution dans le gestionnaire de tâche Windows® sur votre PC ou directement sur un serveur Windows, Linux ou Unix.
Si vous planifiez l’exécution depuis l’ IBM i, dans ce dernier cas, il ne vous manque plus qu’à planifier l’appel du .jar dans le WRKJOBSCDE. Ex : QSH(‘java –jar /QIBM/ProdData/Access/Web2/lib/iWATask.jar task.properties’) ou QSH(‘java –jar EmployeeList.jar’) si le fichier propriété a été intégré au programme avec l’option jar -uf ou par l’interface Web.
Notez bien que le fichier de « Propriété » contient un user/password, il vous faudra donc sécuriser ce fichier (ou le .jar dans lequel il est encapsulé) sur la plateforme où il est enregistré afin que seuls les utilisateurs autorisés puissent y accéder.
Téléchargez cette ressource
*** SMART DSI *** VERSION NUMÉRIQUE
Découvrez SMART DSI, la nouvelle revue du Décideur IT en version numérique. Analyses et dossiers experts pour les acteurs de la transformation numérique de l'entreprise, Gagnez en compétences et expertise IT Professionnelle avec le contenu éditorial premium de SMART DSI.