J’ai du mal à comprendre les différences entre les diverses technologies servant à écrire des applications Web.
On a répété maintes fois aux développeurs RPG qu’il est temps de ranger nos terminaux 5250 et de les remplacer par une interface plus moderne.
Toutes les technologies Web produisent du HTML, parce que c’est ainsi qu’un navigateur affiche les écrans. Cependant, HTML est plus ou moins facile à produire, selon les technologies. Java et PHP fonctionnent tous deux en incorporant le code dans un document HTML. Vous commencez par dessiner votre écran – comme HTML – puis vous utilisez des étiquettes HTML spécialement conçues pour insérer le code au milieu du document.
Quand le navigateur demande l’une de ces pages, le serveur exécute le code et insère la sortie provenant du code, dans les endroits appropriés de la page, puis il télécharge le code vers le navigateur, où il est affiché. CGIDEV2 procède différemment. Dans CGIDEV2, votre programme RPG est invoqué directement.
Le programme ordonne à CGIDEV2 de sortir une section donnée de HTML (stockée dans un fichier séparé) et de remplir certains des blancs dans cette section HTML avec les données provenant de vos variables. Cette différence est moins importante qu’il n’y paraît. C’est une bonne pratique que de garder votre HTML séparé de la logique de programme qui crée les pages.
Ainsi, quand vous changez l’apparence des pages, il n’est pas nécessaire de réécrire le code du programme. Avec Java ou PHP, pour tenir séparés le code HTML et la logique du programme, vous stockez le HTML dans un « fichier include », très comparable aux « copy books » que nous avions l’habitude d’utiliser en RPG. En CGIDEV2, le HTML est déjà stocké dans un fichier séparé, donc aucun fichier include n’est nécessaire.
En définitive, avec l’une ou l’autre de ces technologies, vous devez prendre le HTML et le diviser en sections et décider quelles parties de la page seront remplies à partir des variables de votre programme et lesquelles ne changeront pas. A cet égard, les applications Web sont très semblables aux écrans DDS traditionnels. Vous concevez le format et, à l’intérieur de celui-ci, vous dites où afficher les variables.
Quand vous comparerez les différentes techniques Web, pensez à bien voir comment cela se fait. Il y a aussi des procédés appelés « frameworks » utilisés avec ces technologies Web. Les frameworks vous aident à dessiner vos écrans en fournissant des routines HTML (et souvent JavaScript) qui fournissent les éléments d’affichage courants. Par exemple, vous pourriez dire « Je veux ici une liste d’articles défilante » et le framework fournira le HTML et le JavaScript nécessaires pour l’obtenir. Vous n’aurez rien à coder.
Les technologies Web diffèrent grandement quant aux frameworks disponibles et quant à leur souplesse.
A l’heure qu’il est, CGIDEV2 ne dispose que d’un framework : Renaissance (renaissanceframework.com). Il existe de nombreux frameworks pour Java et PHP – trop pour que nous en parlions ici. Malheureusement, les articles de ce numéro de System iNEWS ne fournissent pas une comparaison de frameworks parce que j’ai donné le HTML à utiliser par les auteurs.
Cela dit, il est important de faire entrer les frameworks dans le choix d’une technologie Web. A propos des écrans de rendu, il est un autre point à considérer : l’outillage. Dans WDSc, IBM fournit un bel outillage pour dessiner des écrans à utiliser dans des applications WebSphere (c’est-à-dire Java). Zend fournit un très bel IDE pour dessiner des écrans et écrire du code pour des applications PHP. Mais quid de CGIDEV2 ? Il n’y a pas d’environnement de développement pour lui.
Mais j’ai découvert que cette déficience est moins grave qu’il n’y paraît. CGIDEV2 est juste une combinaison de HTML et RPG. Nous savons tous que WDSc (ou maintenant Rational Developer for System i – RDi) et PDM fournissent des outils intéressants pour éditer le code RPG. Il y a beaucoup d’outils pour créer du code HTML, dont un excellent dans WDSc.
La seule partie manquante est la possibilité d’utiliser l’IDE pour diviser le HTML en sections et y insérer les variables. Comme l’éditeur HTML ne connaît que HTML et pas les sections et variables de CGIDEV2, vous devez utiliser un éditeur en texte clair pour diviser le code en sections et variables. Après avoir fait cela une ou deux fois, vous verrez que ce n’est pas si terrible.
Bien entendu, le fait que CGIDEV2 offre un peu plus de séparation entre le code programme et le HTML peut être un avantage. Je ne suis pas très doué pour créer des affichages de belle allure. Quand je veux de beaux écrans, je sollicite un ami doué en conception graphique. Il me donne un fichier HTML ordinaire et je le divise en sections et variables.
Cette tâche peut être faite facilement avec toutes les technologies présentées dans ces articles – mais c’est un peu plus facile avec CGIDEV2 parce qu’il faut apporter un peu moins de changements au fichier HTML. Cela dit, on peut parfaitement faire la même tâche en PHP ou Java.
Téléchargez cette ressource
Guide inmac wstore pour l’équipement IT de l’entreprise
Découvrez les dernières tendances et solutions IT autour des univers de Poste de travail, Affichage et Collaboration, Impression et Infrastructure, et notre dossier Green IT sur les actions engagés par inmac wstore pour réduire son impact environnemental