> Tech > Récapitulation – Appeler Java à  partir du RPG

Récapitulation – Appeler Java à  partir du RPG

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

La série d’articles « Intégrer RPG et Java avec JNI » (voir l’encadré « Pour en savoir plus ») couvre les étapes nécessaires pour établir la communication entre RPG et Java dans votre environnement. Voici une récapitulation rapide de la série, en relation avec notre exercice sur les expressions régulières.

Récapitulation – Appeler Java à  partir du RPG

L’appel de méthodes Java à partir de RPG consiste d’abord à définir les prototypes RPG qui décrivent les paramètres d’entrée et les types de renvoi des méthodes Java. Plutôt que de coder ces prototypes manuellement, vous pouvez les générer via le CODE/400 IDE ou le WebSphere Development Studio Client. En général, ils présentent ce format:

D-spec contenant le nom RPG…
D-spec contenant PR et le type de renvoi de la méthode D-spec contenant Extproc(*Java: ‘classfile’:
‘method name’)
D-spec décrivant l’objet type de renvoi (si ce n’est pas un type de donnée primitif)

D-specs décrivant les paramètres d’entrée Par exemple, une méthode Java prend une variable Java String comme paramètre d’entrée et renvoie une valeur Boolean si une correspondance est trouvée :

boolean match(java.lang.String)

Le prototype RPG pour cette méthode serait codé comme dans la figure 3.

Un programme RPG qui utilise les méthodes Java effectuera la compilation en vérifiant l’utilisation éventuelle des méthodes par rapport à la signature de méthodes décrites par les prototypes. Ce n’est qu’à l’exécution que la présence des classes Java ellesmêmes sera vérifiée. A cet effet, la variable d’environnement CLASSPATH doit être réglée de manière à pointer sur l’emplacement des classes Java, en utilisant la commande AddEnvVar (Add Environment Variable), comme dans la figure 4. Il est important d’utiliser l’option REPLACE(*YES) car la commande échouera si CLASSPATH existe déjà.

Une fois les méthodes Java prototypées et la variable d’environnement CLASSPATH définie, les méthodes peuvent être appelées en utilisant les codes opération RPG existants. Utilisez CALLP quand aucune valeur de renvoi n’est attendue. Vous pouvez utiliser les méthodes dans le cadre d’une expression ou utiliser EVAL quand une valeur de renvoi est attendue. Après l’utilisation d’un objet Java, il ne reste plus qu’à nettoyer et à rendre l’objet disponible pour le garbage collection. Cela se fait en appelant la procédure RPG ReleaseJavaObject dans le programme VMTRNS. J’ai choisi de mettre VMTRNS dans un répertoire liant que je référence dans mes specs d’en-tête. (Le source complet de VMTRNS se trouve dans l’article « Intégrer RPG et Java avec JNI : Clients RPG », septembre 2003 ou www.itpro.fr . Voir aussi le chapitre 11, « RPG and the eBusiness World », dans le Redbook IBM iSeries WebSphere Development Studio : ILE RPG Programmer’s Guide (SC09-2507).

Téléchargez cette ressource

Préparer l’entreprise aux technologies interconnectées

Préparer l’entreprise aux technologies interconnectées

Avec la « quatrième révolution industrielle », les environnements hyperconnectés entraînent de nouveaux risques en matière de sécurité. Découvrez, dans ce guide Kaspersky, comment faire face à cette nouvelle ère de vulnérabilité.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010