L’excellente interface de PCML simplifie la conversion de paramètres lors de l’appel de programmes iSeries à partir de JavaLa plupart des développeurs iSeries qui s’intéressent à Java n’envisagent pas de remplacer leurs applications RPG par Java : ils songent plutôt à intégrer Java dans leur outil de développement. Plus particulièrement, les développeurs iSeries veulent créer des applications Java capables d’utiliser les données et la logique de gestion iSeries. Bien qu’une application Java puisse accéder aux données iSeries directement en utilisant l’accès au niveau enregistrement ou JDBC, il vaut souvent mieux appeler un programme RPG ou Cobol en utilisant Java. C’est pour faciliter cette manœuvre qu’IBM a créé PCML (Program Call Markup Language) – un dialecte XML spécialisé qui permet de définir les paramètres de l’appel de programme par la terminologie iSeries familière.
Nous verrons comment développer et utiliser un document PCML pour appeler un programme iSeries à partir d’une application Java. Mais voyons d’abord quand une telle approche est intéressante.
Faciliter les appels de programme à partir de java
L’appel de programme est intéressant
pour plusieurs raisons. Premièrement,
peut-être existe-t-il déjà un programme
qui traite la logique de gestion de l’application.
La réécriture d’un tel programme
en Java n’offre pas davantage,
prend du temps et est sujette à erreur.
Deuxièmement, l’appel d’un programme
RPG à partir d’une application
Java améliore la performance dans un
environnement client/serveur. En appelant un programme qui tourne sur
le serveur, on réduit l’overhead des
communications et on déplace le fardeau
du traitement, du client au serveur.
En particulier, une application
qui sollicite beaucoup la base de données
s’exécutera mieux sur le serveur
où se trouve cette dernière. Compte
tenu de l’efficacité du RPG sur l’iSeries
et de l’éventail actuel du bagage des
programmeurs, il n’y a rien d’anormal
à écrire de telles applications en RPG,
même lorsqu’on crée de nouveaux
programmes.
Enfin, pourquoi ne pas utiliser un
programme appelé pour des tâches
que RPG exécute mieux que Java,
comme l’impression d’un rapport.
Même si les fonctions d’impression
Java s’améliorent, RPG brille dans ce
domaine. Pour un programme de rapport
de longue durée, il faut utiliser
l’objet CommandCall iSeries Toolbox
for Java (Toolbox) et la commande
SBMJOB (Submit Job) pour lancer le
programme de rapport. En revanche,
pour de petits rapports comme des
factures individuelles, on pourra bien
sûr appeler le programme de rapport
directement à partir de l’application
Java.
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
Les plus consultés sur iTPro.fr
- Les agents d’IA fragilisent la sécurité : pour les sécuriser, inutile de repartir de zéro
- Yampa : innovation en IA, souveraineté et sécurité au service des DSI
- Les marchés publics peuvent-ils encore faire émerger des champions numériques français ?
- ESET accélère en France et mise sur l’IA face à la montée des cybermenaces
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
