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

Rapport Forrester sur les services de réponse aux incidents de cybersécurité
Dans ce rapport, basé sur 25 critères, Forrester Consulting passe au crible les 14 principaux fournisseurs de services de réponse aux incidents de cybersécurité du marché. Cette analyse complète permet aux professionnels de la sécurité et de la gestion des risques d’évaluer et de sélectionner les solutions les plus adaptées à leurs besoins.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- DORA : quels impacts après les six premiers mois de mise en conformité sur le terrain ?
- Cybersécurité : le secteur de la santé toujours au défi de la sécurité des e-mails
- Attaque Microsoft SharePoint, analyse et recommandations
- Devenir RSSI : quels parcours et de quelles qualités faire preuve ?
- Évolution du marché de la virtualisation : quelle voie choisir ?
