Transformez vos programmes de service RPG en services web avec l’aide de « WDSc »
Dans cet article, je montre comment créer et tester un service web basé sur SOAP (Simple Object Access Protocol) à partir du source d’un programme de service RPG, le tout dans WDSc. Plus précisément, WDSc 7.0 dans mon exemple
Si votre version est antérieure, le déroulement pourrait être un peu différent. La figure 1 (également téléchargeable sur www.itpro.fr Club abonné) montre le code source pour le RTNCUSTWS. Il devrait marcher pour vous en l’état, à condition d’avoir la bibliothèque QIWS sur votre System i. Créez le module puis créez le programme de service :
CRTSRVPGM SRVPGM(/RTNCUSTWS)
MODULE(/RTNCUSTWS)
EXPORT(*ALL)
Le fichier QCUSTCDT est un fichier modèle dans la bibliothèque QIWS. Il y a trois procédures dont chacune effectue une instruction SQL simple sur QCUSTCDT. Chaque procédure renvoie un résultat numérique. Le service web créé par l’intermédiaire de WDSc est fondé sur l’IBM Toolbox for Java, qui n’accepte qu’un type de renvoi numérique ou vide.
La première procédure, ReturnOpnBal, a deux paramètres : un champ état client de deux caractères servant de paramètre d’entrée et un champ numérique 9 × 2 pour le solde ouvert de commandes pour l’état spécifié. Nous utilisons ce second paramètre pour renvoyer l’information dont nous avons vraiment besoin à partir du service web. Comme ReturnOpnBal renvoie une valeur numérique, j’ai décidé de renvoyer le résultat de l’instruction SQL dans SQLCOD. Si vous n’utilisez pas la valeur de renvoi de la procédure pour autre chose, vous pouvez vous en servir pour renvoyer l’information de réussite ou d’échec, comme l’état return de l’instruction SQL.
La deuxième procédure, ReturnMaxLmt, renvoie le premier client présentant la plus haute limite de crédit dans le fichier. Elle ne demande aucun paramètre d’entrée et, comme elle ne renvoie qu’une valeur numérique, la valeur return de la procédure fait l’affaire.
La troisième procédure, Return State, a besoin de renvoyer un état client de deux caractères qui a le nombre le plus élevé de clients. Les paramètres d’entrée ne sont pas requis, mais comme ReturnState doit renvoyer l’état dans une variable caractère, un paramètre est nécessaire. Et, pour plus d’efficacité, j’utilise le nombre de clients dans l’état donné, comme valeur de renvoi. J’ai utilisé différents types de paramètres et de valeurs de renvoi pour montrer la souplesse qu’offrent l’intégration de procédure et un service web. Dans une application de production, je recommande toujours, au minimum, de renvoyer un numéro de code d’erreur réussite ou échec afin que l’appelant du service web sache si ce dernier a réussi. Passons à la création et au test du source avec un service web dans WDSc.
Téléchargez cette ressource
État des lieux de la réponse à incident de cybersécurité
Les experts de Palo Alto Networks, Unit 42 et Forrester Research livrent dans ce webinaire exclusif leurs éclairages et stratégies en matière de réponses aux incidents. Bénéficiez d'un panorama complet du paysage actuel de la réponse aux incidents et de sa relation avec la continuité de l'activité, des défis auxquels font face les entreprises et des tendances majeures qui modèlent ce domaine. Un état des lieux précieux pour les décideurs et professionnels IT.