> Tech > Cliquez sur Finish pour générer le JavaBean

Cliquez sur Finish pour générer le JavaBean

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

En réalité, plusieurs fichiers sont générés à  l'intérieur de JavaResources. Le fichier clé est le nom que vous avez donné au bean (Inquiry) suivi du mot Services, ou Inquiry- Services.java dans notre cas. C'est cela que vous allez entrer dans le wizard Web services. Un bean d'entrée et un bean

Cliquez sur Finish pour générer le JavaBean

de
sortie sont également générés. Ils regroupent tous les paramètres
capables d’entrée et ceux capables de sortie dans
leurs propres classes. Par ailleurs, une classe de structure est
créée pour chaque paramètre qui est lui-même une structure.
Toutes ces classes sont générées dans le package que
vous avez spécifié – my.pkg dans notre cas.

Vous constaterez que deux autres fichiers ont aussi été générés : Inquiry.config et Inquiry.
pcml. Le Java généré aura besoin de
ces fichiers au moment de l’exécution.
Le fichier Inquiry.pcml enregistre l’information
sur le programme et les paramètres,
et le fichier Inquiry.config
enregistre l’information de configuration.

Le fichier de configuration est nouveau
et très intéressant. En effet, il
identifie l’hôte iSeries où se trouve le
programme, l’information d’authentification
et l’information de configuration
de la liste des bibliothèques. Le
Java bean généré recherche ce fichier à 
l’exécution pour obtenir cette information.
S’il ne trouve pas le fichier, ou
pour chaque valeur dans le fichier qui
n’est pas définie, le bean recherche
dans le fichier web.xml ce projet, qui
est établi en utilisant le iSeries Run
Time Configuration Wizard (disponible
sur la barre d’outils dans la perspective
Web).

En externalisant cette information,
vous pourrez la modifier sans toucher
au code Java. En utilisant deux fichiers,
vous pouvez spécifier l’information
une seule fois pour affecter tous les
services Web de votre projet et supplanter
ces paramètres globaux pour
tout service Web de votre choix. Le
bean de service généré possède aussi
des méthodes permettant de définir
programmatiquement cette information.
La figure 3 montre tous les fichiers
générés.

Pour utiliser les classes générées,
instanciez la classe InquiryInput et appelez-
y les méthodes setter, puis instanciez
la classe InquiryServices et appelez-
y la méthode inquiry (contenant
le même nom que le bean). Cette manoeuvre
appelle votre programme,
transmet les paramètres d’entrée et
renvoie une instance de InquiryResult
contenant les paramètres de sortie,
que vous pourrez interroger avec les
méthodes getter. Il existe aussi une
méthode nommée inquiry_XML qui
prend aussi un objet InquiryObject
mais renvoie le résultat comme XML
plutôt que comme un objet Inquiry
Output.

Voici un exemple simple de la manière
dont vous pouvez écrire du code
pour utiliser le Java bean généré
(moins la vérification d’erreurs), si
vous voulez simplement que le code
client Java invoque votre logique RPG,
par comparaison avec son invocation
comme un service Web (nous reviendrons
sur ce point sous peu) :

import my.pkg.*;
public class TestMyService {
public static void main(String[] args) {
InquiryInput input = new InquiryInput();
input.setCUSTNO(« 0010100 »);
InquiryServices myService = new
InquiryServices();
InquiryResult output =
myService.inquiry(input);
// print the customer name from the
// output datastructure…
System.out.println(« Resulting name:  » +
output.getCUSTDATA().getCUSTNA());
}
}

Le résultat de l’exécution de cette classe Java est
« Resulting name: Meridien Electronics Limited », plus
quelques instructions de trace émises par la classe générée.


Nous possédons maintenant un bel habillage Java pour
un programme RPG ou Cobol. Ce wizard est facile à  utiliser
(et encore plus facile si vous le compilez avec les paramètres
PGMINFO et INFOSTMF pour générer un fichier PCML que
vous pourrez ultérieurement importer dans le wizard programme
Call Bean). Mais cela ne constitue pas encore un service
Web.

Pour créer maintenant un service Web, il nous suffit de
suivre les instructions de la cheat sheet pour créer un service
Web à  partir de notre Jaba bean, en sautant les trois premières
étapes puis en créant du code Java client dans un
autre projet. Nous vous laisserons couvrir vous-mêmes ces
étapes. Sur la page Web Service Java Bean Identity, vous ne
devez sélectionner qu’une méthode, celle qui porte le même
nom que le bean dans notre cas – inquiry.

Après l’utilisation de la cheat sheet,
votre projet original sera amélioré avec les
classes générées pour transformer le Java
bean en un service Web avec un fichier
WSDL. Vous aurez ainsi un nouveau projet
contenant le code proxy client, généré à 
partir de ce fichier WSDL, et un exemple de
servlet et une page Web pour le tester (figure
4). Votre projet de service (le premier)
peut être déployé vers WebSphere, là  où il
vous plaira de l’exécuter. Vous pouvez probablement ignorer
le second projet, sauf si vous voulez envoyer le code client à 
quelqu’un. Cependant, dans la pratique, ils obtiendront
votre fichier WSDL et génèreront eux-mêmes le code client.
Vous pouvez utiliser les outils de WSDL pour publier votre fichier
WSDL, soit vers un registre UDDI privé ou public, soit
vers un fichier WSIL, que vous publierez ensuite sur votre
site Web.

Téléchargez cette ressource

Guide inmac wstore pour l’équipement IT de l’entreprise

Guide inmac wstore pour l’équipement IT de l’entreprise

Découvrez toutes nos actualités à travers des interviews, avis, conseils d'experts, témoignages clients, ainsi que les dernières tendances et solutions IT autour de nos 4 univers produits : Poste de travail, Affichage et Collaboration, Impression et Infrastructure.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010