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
Les plus consultés sur iTPro.fr
- Pourquoi les navigateurs web sont devenus la porte d’entrée des cybercriminels pour compromettre les endpoints ?
- Panorama de la cybermenace 2025 : la France sous pression constante
- La visibilité des données, rempart ultime aux dérives du « Shadow AI »
- Analyse Patch Tuesday Mars 2026
Articles les + lus
Coder vite, mais coder juste : trouver l’équilibre à l’ère de l’IA
Mixité dans la Tech : en 2026, un choix de souveraineté stratégique
Analyse Patch Tuesday Mars 2026
Confiance et curiosité : les clés pour entrer (et grandir) en tant que femme dans la tech
Portails développeurs internes : accélérer l’innovation sans alourdir les budgets
À la une de la chaîne Tech
- Coder vite, mais coder juste : trouver l’équilibre à l’ère de l’IA
- Mixité dans la Tech : en 2026, un choix de souveraineté stratégique
- Analyse Patch Tuesday Mars 2026
- Confiance et curiosité : les clés pour entrer (et grandir) en tant que femme dans la tech
- Portails développeurs internes : accélérer l’innovation sans alourdir les budgets
