L’écriture de programmes RPG qui communiquent avec un navigateur appelle trois considérations principales. La première est la persistance. Le navigateur envoie une requête à un job serveur : il en résulte l’appel d’un programme. Le programme reçoit toute entrée émanant du navigateur et génère une page Web qui est
Programmation RPG pour le Web
renvoyée au navigateur.
A ce moment-là, il n’y a plus de connexion entre le navigateur et le job serveur. La requête suivante provenant du navigateur pourrait aller à un job serveur différent. Cela signifie aussi que le même job serveur pourrait être en train de communiquer avec de multiples navigateurs, chacun effectuant la même fonction (par exemple, cinq personnes pourraient saisir des commandes, mais un seul job s’occuperait des cinq).
Par conséquent, il faut maintenir l’information d’état pour chaque client demandeur. Cette exigence rappellera des souvenirs à ceux d’entre vous qui ont programmé sur System/34 et System/36 – qui se souvient des programmes MRT ? La deuxième considération est que le navigateur se charge de la conversation.
Dans des applications 5250, le programme contrôle l’entrée et sortie des écrans et nous avons l’habitude d’écrire une logique qui effectue une boucle dans l’affichage et l’entrée d’un écran, jusqu’à ce qu’une touche de fonction soit actionnée ou qu’une certaine condition soit remplie. Tel n’est pas le cas avec des programmes CGI : un programme CGI reçoit une requête et envoie une page (entrée et affichage), mais il n’y a pas de boucle. La page Web détermine quel programme est appelé et le programme (si nécessaire) doit trouver quelle page a envoyé la requête.
La troisième considération est que toutes les données d’une page Web sont de type caractère : toutes les données envoyées à une page Web et toutes celles qu’on en reçoit. Tout va bien quand on envoie des données à un navigateur, mais c’est une autre histoire dans l’autre sens. Vous pouvez utiliser des routines JavaScript pour valider l’entrée sur le navigateur, mais comme tout utilisateur peut désactiver JavaScript dans un navigateur, vous devez aussi le valider dans votre programme.
Téléchargez cette ressource
Sécuriser Microsoft 365 avec une approche Zero-Trust
Découvrez comment renforcer la cyber-résilience de Microsoft 365 grâce à une approche Zero-Trust, une administration granulaire et une automatisation avancée. La technologie Virtual Tenant de CoreView permet de sécuriser et simplifier la gestion des environnements complexes, tout en complétant vos stratégies IAM, y compris dans les secteurs réglementés.
Les articles les plus consultés
- Cybersécurité Active Directory et les attaques de nouvelle génération
- IBM i célèbre ses 25 ans
- Partager vos images, vidéos, musique et imprimante avec le Groupe résidentiel
- Activer la mise en veille prolongée dans Windows 10
- N° 2 : Il faut supporter des langues multiples dans SharePoint Portal Server
Les plus consultés sur iTPro.fr
- Analyse Patch Tuesday Juin 2026
- La bataille de la 6G se gagne dans la donnée en temps réel
- BlueSecure repense la sensibilisation à la cybersécurité avec des formats immersifs et engageants
- Les agents d’IA fragilisent la sécurité : pour les sécuriser, inutile de repartir de zéro
Articles les + lus
Computex 2026 : 5 signaux forts à retenir
La chaîne d’approvisionnement, point de rupture récurent du SI
Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
Rhea1 : SiPearl allume le CPU européen le plus ambitieux pour le HPC et l’IA souveraine
Analyse Patch Tuesday Mai 2026
À la une de la chaîne Tech
- Computex 2026 : 5 signaux forts à retenir
- La chaîne d’approvisionnement, point de rupture récurent du SI
- Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
- Rhea1 : SiPearl allume le CPU européen le plus ambitieux pour le HPC et l’IA souveraine
- Analyse Patch Tuesday Mai 2026
