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

Les 10 tendances clés de l’Expérience Client (CX) pour 2025
Dans le contexte actuel, l'expérience client est un levier clé de réussite. Pour rester compétitives, les entreprises doivent adopter des stratégies CX audacieuses, en s'appuyant sur le cloud, le digital et l'IA. Alors quelles stratégies mettre en place pour garder une longueur d’avance ?
Les articles les plus consultés
- Cybersécurité Active Directory et les attaques de nouvelle génération
- Partager vos images, vidéos, musique et imprimante avec le Groupe résidentiel
- Et si les clients n’avaient plus le choix ?
- N° 2 : Il faut supporter des langues multiples dans SharePoint Portal Server
- Activer la mise en veille prolongée dans Windows 10
Les plus consultés sur iTPro.fr
- L’Intelligence Artificielle, le nouveau copilote du CRM : une révolution incontournable
- Optimiser la gestion de la relation client dans le secteur des sciences de la vie
- 2025, un « âge de raison » pour l’écosystème de la technologie ?
- 59 % des entreprises françaises victimes de ransomwares ont stoppé leurs opérations !
- KeeeX accélère son développement en Europe en 2025 !
