Ajax apporte une solution élégante au problème chronique que un jeu de résultats SQL. Vous pouvez convertir dynamiquement les jeux de résultats SQL en XML au moyen d’un utilitaire simple, mais si l’API RPG est proposée avec un service Web, ce dernier génère lui-même XML. Dans cet article, je montre comment utiliser Ajax pour invoquer un service Web basé sur RPG, et comment traduire en HTML la réponse XML générée par RPG.
Simplifier les applications web avec Ajax, RPG et XSL
Tous les environnements de développement intégrés (IDE, integrated development environments) ont des assistants qui créent du code côté serveur pour communiquer avec les services Web. Cependant, vous pouvez invoquer un service Web directement à partir de votre HTML avec JavaScript. Le protocole sous-jacent que les services Web utilisent pour packager les requêtes de réseau est SOAP (Simple Object Access Protocol), un langage XML.
L’API RPG que je prends comme exemple, a un paramètre d’entrée qui spécifie un certain nombre de comptes à extraire. La figure 1 montre le XML SOAP qui demande au service Web deux comptes, et la figure 2 affiche la réponse XML SOAP. Il vous suffit donc de savoir comment adresser une requête SOAP à partir de HTML, et comment convertir la réponse XML en HTML. L’exemple getAccounts.html (figure 3) demande le nombre de comptes (figure 4).
La réponse du service Web figure sur la même page. Pour montrer la réponse XML SOAP réelle, je place le texte dans la zone texte grise désactivée en figure 5. À noter que le XML est reformaté en une table HTML en haut de la page. Vous allez effectuer cette conversion avec un fichier XSL (Extensible Stylesheet Language) (figure 6). Avant de plonger dans le code, je tiens à signaler deux problèmes majeurs.
Premièrement, le JavaScript nécessaire pour effectuer les requêtes SOAP basées sur Ajax est dépendant du navigateur. Deuxièmement, seul Internet Explorer permet des transformations XSL. Heureusement, il existe des dizaines de solutions au premier problème et une poignée pour résoudre le second. L’une des solutions – Sarissa – est commune aux deux. Elle doit son nom à la longue lance utilisée à l’époque du guerrier Ajax. C’est un jeu de routines JavaScript open-source qui fournit des transformations XSL indépendantes du navigateur et des fonctions Ajax standardisées qui marchent sur la plupart des navigateurs, y compris Internet Explorer et Firefox. Vous pouvez la télécharger à partir de SourceForge (sourceforge.net/projects/ sarissa).
Le téléchargement Sarissa et sa documentation associée est constitué de cinq fichiers JavaScript. Pour cet article, j’en utilise deux : sarissa_js et sarissa_dhtml.js (téléchargez-les sur www.itpro.fr Club Abonnés). Le fichier getAccounts.html (figure 3) charge les deux fichiers JavaScript Sarissa et a quatre fonctions personnal i s é e s : getAccounts, ajaxResponseFunction, xslTransformAjax SoapResponse et getXmlDocument. Une ligne de code (var ajaxRequest;) n’est pas contenue dans une fonction. Les variables JavaScript qui ne sont pas contenues dans une fonction sont considérées globales et, comme la variable ajaxRequest est utilisée dans toutes les fonctions, elle doit être globale. La fonction getAccounts est invoquée quand un utilisateur clique sur le bouton Get Accounts dans le formulaire HTML.
Téléchargez cette ressource
Mac en entreprise : le levier d’un poste de travail moderne
Ce livre blanc répond aux 9 questions clés des entreprises sur l’intégration du Mac : sécurité, compatibilité, gestion, productivité, coûts, attractivité talents, RSE et IA, et l’accompagnement sur mesure proposé par inmac wstore.
Les articles les plus consultés
- Cybersécurité Active Directory et les attaques de nouvelle génération
- N° 2 : Il faut supporter des langues multiples dans SharePoint Portal Server
- Partager vos images, vidéos, musique et imprimante avec le Groupe résidentiel
- Chiffrements symétrique vs asymétrique
- Les 6 étapes vers un diagnostic réussi
Les plus consultés sur iTPro.fr
- Cloud public : la sécurité des données s’impose comme premier critère pour les agents publics
- Le champ de bataille des fournisseurs de services n’est plus l’IA, mais la confiance
- Continuer avec Exchange Server : quelles conséquences ?
- Ransomware : l’IA accélère le vol de données et place les dirigeants dans le viseur
Articles les + lus
Continuer avec Exchange Server : quelles conséquences ?
Raccourcis Réseau et Navigateur : le kit de Diagnostic des Professionnels IT
Raccourcis PowerShell et Windows Terminal pour les Professionnels IT
Commandes Windows 11 : le Guide des Outils accessibles avec Win + R
Sécurité : une approche dans la durée avant tout
À la une de la chaîne Tech
- Continuer avec Exchange Server : quelles conséquences ?
- Raccourcis Réseau et Navigateur : le kit de Diagnostic des Professionnels IT
- Raccourcis PowerShell et Windows Terminal pour les Professionnels IT
- Commandes Windows 11 : le Guide des Outils accessibles avec Win + R
- Sécurité : une approche dans la durée avant tout
