par Liam McMahon - Mis en ligne le 19/05/2003
Comment faites-vous pour qu'un
ancien programme RPG/400 puisse extraire
des informations en temps réel d'une base de données Microsoft SQL
Server fonctionnant sur un serveur NT
à distance ? C'est exactement le problème
que m'a posé l'un de mes clients
désireux de remplacer sa vieille suite financière
AS/400 par un système NT
tournant sur un serveur à distance.
Malgré la disparition de l'ancienne
suite financière, bon nombre des applications
AS/400 du client subsistaient et
certaines d'entre elles devaient même
communiquer avec le nouveau système
financier en temps réel. De plus,
je devais apporter un minimum de modifications
aux applications AS/400.
Heureusement, Java et l'API Java RMI
(Remote Method Invocation) sont venus
à mon secours.
Au travers des plates-formes avec Java RMI

Java RMI est une méthode simple
pour mettre en oeuvre un modèle d’informatique
distribuée multi-plateforme
en utilisant Java. En essence,
c’est le moyen par lequel une méthode d’une classe Java fonctionnant dans
une JVM (Java Virtual Machine) peut
invoquer une méthode d’une classe
Java qui fonctionne sur une autre JVM,
même si cette dernière tourne sur un
système à distance. Quand la méthode
à distance est invoquée, elle est exécutée
sur le JVM à distance et comme
toutes les méthodes Java, elle peut
renvoyer une réponse sous la forme
d’un objet Java ou d’une variable primitive
vers la méthode appelante.
En ce qui me concerne, c’est idéal.
Une classe Java fonctionnant sur un
AS/400 peut envoyer une demande
d’information à une classe Java fonctionnant
sur un serveur NT à distance ;
la classe de ce dernier peut traiter la requête
(par exemple, interroger une
base de données SQL Server) et renvoyer
l’information extraite à la méthode
appelante sur l’AS/400.
RMI brille par sa simplicité.
Appeler la méthode à distance ressemble
beaucoup à appeler une méthode
sur la machine locale, et peu importe
comment les différentes
plates-formes communiquent parce
que Java s’en occupe entièrement.
Quand une classe client dans une
JVM adresse une requête d’une classe
serveur dans une JVM à distance, plusieurs
couches entrent en scène (figure
1). La couche souche/squelette se
comporte comme le substitut local
pour les objets distants. Quand vous
invoquez une méthode à distance,
vous appelez en fait une méthode dans
la couche souche/squelette. La commande
JDK RMIC (Java Developer’s Kit
RMI Compiler) crée automatiquement
les classes dans la couche souche/squelette, et donc vous n’avez
pas à vous en préoccuper. Si votre JDK
est en version 1.2 ou ultérieure, vous
n’avez besoin d’utiliser que des
souches dans la couche souche/squelette.
Avec les versions antérieures, il
fallait à la fois les souches et les squelettes.
Téléchargez cette ressource

Guide de Cyber-résilience pour Microsoft 365
La violation de votre tenant M365 va au-delà d’un simple incident de cybersécurité. Elle peut entraîner une interruption opérationnelle généralisée, des perturbations commerciales et une exposition de vos données sensibles. Découvrez les méthodes et technologies pour évaluer, comparer et renforcer votre posture de sécurité Microsoft 365.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Accessibilité numérique : l’impact des nouveaux design systems iOS et Android sur l’expérience utilisateur mobile
- Cloud et IA générative : le secteur de la santé visé
- La progression latérale dans les cyberattaques échappe encore à la détection !
- Panorama de la maturité cyber des entreprises françaises
- L’IA n’est pas une stratégie, elle est au service de VOTRE stratégie. Alors posez-vous donc les bonnes questions !
