> Tech > Un tutoriel rapide

Un tutoriel rapide

Tech - Par iTPro - Publié le 24 juin 2010
email

Ces deux wizards et la palette de parties UI constituent les extensions iSeries primaires vers les outils Web et Struts dans WDSc. Un petit tutoriel va nous permettre de les voir à  l'oeuvre. Pour bien suivre, procurez-vous la bibliothèque iSeries contenant la logique de gestion RPG que nous utiliserons. Allez

Un tutoriel rapide

à  ibm.com/software/awdtools/
wds400, cliquez sur le lien
Library à  gauche, cliquez sur iSeries
Web Application Development,
puis cliquez sur Tutorials. Sous
« Building an e-business application with RPG », sélectionnez
le lien SAVF file version 5.1 pour télécharger le fichier wsslabxx.
savf sur votre station de travail. Si vous ne parvenez pas
à  trouver le lien, recherchez le nom de fichier dans le site Web
IBM.
Après avoir trouvé le fichier localement, démarrez WDSc
et utilisez la perspective Remote System Explorer (par défaut)
pour établir une connexion vers l’iSeries. Ensuite, recherchez
le fichier .savf en utilisant la connexion Local. Une fois le fichier
trouvé, cliquez dessus du bouton droit et sélectionnez
l’action Restore on iSeries, en acceptant toutes les propositions
par défaut à  une exception près : pour le champ Restore
to library en bas, mettez WSSLABXX. Vous avez ainsi créé une
bibliothèque WSSLABXX sur l’iSeries. Si vous n’êtes pas en
5.1.2, suivez les instructions du site Web pour restaurer ce fichier
de sauvegarde.
Suivez maintenant les instructions de « OutilsWeb pour
programmeurs iSeries: les détails » (iSeries News, novembre
2004). Vous vous retrouvez avec un nouveau projet Web dynamique
configuré. Ou bien contentez-vous de sélectionner
File, New, Other pour créer un nouveau projet Web de type
Dynamic Web Project, sous le nom de votre choix. Sur la page
Features, spécifiez les fonctions Struts et iSeries Web
Components. Le projet contient (ou contiendra si vous le
créez maintenant) un diagramme Web décrivant une seule interaction
: une page d’entrée (input.jsp), une action
(InquiryProcedure) et une page de sortie (results.jsp). Le diagramme
inclura aussi les connexions de la page d’entrée à 
l’action, et de l’action à  la page de sortie. Pour faciliter les
choses, dans WDSc 5.1.2, un diagramme Web vide est en
place quand vous créez un projet Web de type Struts. Il est facile
de concevoir votre flux par un glisser/déposer des éléments
de la palette.
Nous venons de concevoir notre premier flux et pouvons
maintenant le « réaliser ». Mais il nous faut d’abord configurer
le projet. Faites un clic droit sur le nom du projet Web et sélectionnez
Specify iSeries Web Tools Runtime Configuration.
Dans le wizard résultant, ajoutez WSSLABXX à  votre liste de bibliothèques. Comme la 5.1.2 contient davantage de fonctions,
le wizard occupe deux pages et l’information de la liste
des bibliothèques se trouve maintenant sur la seconde. Bien
entendu, il faut indiquer sur la première page votre nom
d’hôte iSeries, ID utilisateur, et mot de passe.
Revenons au Web Diagram Editor, car le moment est venu
de réaliser notre petit diagramme Web. Faites un clic droit sur
l’action InquiryProcedure et sélectionnez la rubrique de
menu Open iSeries Web Interaction Wizard (figure 1). Nous
voulons générer la classe action pour appeler de la logique
RPG et générer ces pages d’entrée et de sortie. Cliquez sur
Next sur les deux premières pages pour accepter les valeurs
par défaut.
Pour la page appelée Specify Input and Output Parameters
for your iSeries Host Program, spécifiez INQUIRY pour
l’alias du programme, GETDATA pour l’objet du programme
et WSSLABXX pour la bibliothèque, puis cliquez sur OK.
Cette information indique le programme à  appeler quand on
actionne le bouton Submit sur la page d’entrée. Nous pourrions
aussi appeler une procédure dans un programme de
service en spécifiant le programme de service et le point d’entrée
ou la procédure.
Ce programme RPG accepte un paramètre d’entrée (ID
client) et met à  jour deux paramètres de sortie : une structure
de données décrite en externe et un champ feedback contenant
des informations d’erreur. C’est le moment de spécifier
ces paramètres.
Le premier est un ID client de sept caractères qui est entré
dans le programme. Entrez CUSTNO comme nom de paramètre,
laissez character comme type de données, entrez 7
comme longueur, et sélectionnez input pour l’usage. Puis cliquez
sur OK.
Le deuxième paramètre est un enregistrement décrit en
externe, sorti à  partir du programme. Faites un clic droit sur
l’arbre de gauche et sélectionnez Add Database Reference
Structure. Etendez votre connexion iSeries précédemment
créée, ou s’il n’en existe aucune, créez-en une (étendez New
Connection et fournissez l’information) puis étendez-la.
Etendez « Work with libraries… » et entrez WSSLAB* comme
nom de bibliothèque. Cliquez sur OK et dans la liste résultante,
étendez la bibliothèque WSSLABXX et fichier logique
CUSTOML3, et sélectionnez le format d’enregistrement CUSTOM01
dans la liste (figure 2). Cliquez sur Add puis sur Close.
Après avoir ajouté la structure à  l’arbre, il faut définir le paramètre qui utilise la structure. Sélectionnez INQUIRY dans
l’arbre de gauche, faites un clic droit et sélectionnez Add
Parameter. Entrez CUSTDATA comme nom de paramètre, sélectionnez
structure comme type de données et CUSTOM01
comme nom de structure, sélectionnez output pour l’usage,
et finissez en cliquant sur OK.
Pour définir le dernier paramètre, entrez FEEDBACK
comme nom de paramètre, laissez character comme type de
données, spécifiez 20 comme longueur et output pour
l’usage et cliquez sur OK. Votre définition devrait maintenant
apparaître comme en figure 3.
Cliquez sur Next pour voir la page wizard où vous pouvez
affecter la page Web d’entrée générée.
Sélectionnez le paramètre d’entrée CUSTNO dans le panneau
supérieur gauche et, dans le panneau inférieur gauche,
changez sa propriété Label en Customer number, sans oublier
d’appuyer sur Entrée après la frappe.
Sélectionnez l’onglet Page en bas et à  gauche, puis changez
la propriété Page title en Customer Inquiry.
Cliquez sur Next pour voir la page du wizard qui vous permet
d’affecter la page Web de sortie générée. Changez la propriété
Page title en Customer Details. A noter que, par défaut,
on génère chaque champ de sortie comme un label. Mais
vous pouvez changer cet état de fait ici si vous voulez que les
champs d’entrée soient modifiables afin que cette page
puisse devenir la page d’entrée vers une autre interaction.
Sélectionnez l’onglet Fields en bas à  gauche, puis sélectionnez
le champ FEEDBACK en haut à  gauche. Décochez la
case de ce champ pour qu’il n’apparaisse pas dans la page de
sortie. Cliquez sur Finish.
Les icônes sont maintenant colorées dans le diagramme
Web et les lignes sont continues. C’est l’indication qu’elles
sont réalisées, c’est-à -dire qu’elles existent physiquement.
Avant d’exécuter pour de bon notre petite application
Web, il nous faut procéder à  une vérification. Si le nom que
vous avez donné au projet contient des espaces, comme
« Mon Projet Web », vous devez faire un clic droit sur le nom
du projet et sélectionner Properties, puis choisir Web et changer
la racine de contexte pour qu’elle ne contienne aucun espace,
comme « MonProjetWeb ». Cliquez sur OK et répondez
Yes au message. WebSphere n’aime pas les espaces ou les
blancs dans ses noms de chemins d’accès et de plus, les utilisateurs
ont beaucoup de mal à  entrer des blancs en tant
qu’URL.
A ce stade, vous voulez voir fonctionner votre première
interaction Web. Donc dans le Project Navigator, faites un clic
droit sur le fichier input.jsp dans le dossier WebContent de
votre projet Web, sélectionnez Run on Server, et cliquez sur
Finish pour prendre les propositions par défaut (mais assurez-
vous que « Create a new server » est sélectionné). Cela démarre
la copie intégrée de WAS, qui tourne sur votre application
Web localement, où elle appelle votre programme RPG à 
distance.
Quand votre première page apparaît dans le navigateur
Web, vous pouvez foncer! Entrez 0010100 comme numéro de
client, cliquez sur Submit et vous devriez obtenir les résultats
dans la page de sortie (figure 4).
Vous constaterez que l’exécution initiale est plus lente car
elle compile par pages les fichiers JSP au premier contact. A
cela s’ajoute l’overhead de signature et de démarrage du job,
qui n’a lieu que lors de la première interaction de notre application
Web.
Le wizard Web Interaction a un but bien précis : vous dispenser
d’apprendre en détail la programmation Web pour
construire des applications Web fonctionnelles avec RPG et
Cobol. C’est pourquoi ce wizard est si puissant, particulièrement
en 5.1.2. Par exemple, sur la page 2 du wizard (et les
pages suivantes), vous pouvez désormais choisir de générer
les pages Web en suivant un modèle de page fourni par IBM
ou défini par l’utilisateur, afin que toutes vos pages aient la
même apparence professionnelle. Vous pouvez aussi spécifier
de multiples pages de sortie, avec plusieurs lignes de
connexion émanant de l’action, avant d’exécuter le wizard.
C’est intéressant quand on veut générer de multiples pages
de sortie mais n’en montrer qu’une à  l’exécution, en fonction
d’une certaine condition. On suppose que cette condition est
fondée sur la valeur de l’un des paramètres de sortie de votre
programme, que nous appellerons paramètre de contrôle de
flux. Dans ce cas, une page wizard supplémentaire demande
le paramètre de contrôle de flux et vous permet d’associer
des valeurs aux pages de sortie. La logique conditionnelle est
générée automatiquement.
Il est également courant de procéder à  la vérification d’erreurs
des paramètres d’entrée dans votre programme RPG, et
de faire remonter l’erreur à  la page Web. C’est faisable en désignant
l’un de vos paramètres de sortie comme un paramètre de flux de message, en utilisant une propriété de paramètre
dans la feuille de propriétés de la page du wizard Result
Form. Vous devez associer les valeurs de paramètres aux messages
d’erreur dans le fichier des messages d’application ou
dans le groupe de ressource, spécifiés dans le wizard de configuration
à  l’exécution. Si le paramètre présente l’une de ces
valeurs à  l’exécution, la page d’entrée apparaît à  nouveau
avec le message associé.
Vous pouvez aussi avec ce wizard ajouter des fonctions
aux pages Web déjà  existantes. Ainsi, dans le Web Diagram
Editor, vous pouvez faire un glisser/déposer des pages existantes
dans le diagramme et les connecter à  des actions
comme vous le faites pour les pages Web non encore réalisées.
Ce faisant, le wizard détecte que les pages existent et
liste tous les champs d’entrée présents dans la page d’entrée
afin que vous puissiez associer chacun d’eux à  un paramètre
d’entrée. Ensuite, il donne la liste de tous les champs de sortie
présents dans chaque page de sortie, afin que vous puissiez
associer chacun à  un paramètre de sortie avant de générer
le code de liage.

Téléchargez cette ressource

Microsoft 365 : HP Subscription Management Services en détail

Microsoft 365 : HP Subscription Management Services en détail

Collaboration à distance, environnements de travail et productivité optimisés, gestion évolutive des licences, accélérez la transformation de votre business pour le faire entrer dans l’ère de la collaboration hybride. Découvrez comment le service de gestion des abonnements HP peut vous aider à optimiser vos investissements et votre stratégie de gestion de vos abonnements Microsoft 365.

Tech - Par iTPro - Publié le 24 juin 2010

A lire aussi sur le site

Revue Smart DSI

La Revue du Décideur IT