RMI, IIOP et RMI-IIOP
Concepts de base de RMI-IIOP et des autres technologies similaires.
RMI
Avec RMI, vous pouvez écrire des programmes distribués dans le langage de programmation Java™ . RMI est simple à utiliser ; vous n'avez pas à apprendre une définition d'interface distincte (IDL) et vous tirez parti de l'universalité (write once, run anywhere). Les clients, les interfaces distantes et les serveurs sont entièrement écrits en Java. RMI utilise le protocole JRMP (Java Remote Method Protocol) pour la communication des objets Java distants. Pour une introduction rapide à l'écriture de programmes RMI, consultez la page Web du tutoriel RMI: https://docs.oracle.com/javase/tutorial/rmi/, qui décrit l'écriture d'un programme RMI "Hello World" simple.
RMI n'interopère pas avec les autres langages et, étant donné que l'interface utilise un protocole de communication non-standard, l'interface ne peut pas communiquer avec les objets CORBA.
IIOP, CORBA et Java IDL
IIOP est un protocole de communication CORBA. Il définit la manière dont les bits sont envoyés dans une connexion entre les clients et les serveurs CORBA. CORBA est une architecture d'objet répartie développée par OMG (Object Management Group). Les interfaces avec les objets distants sont décrites dans un langage IDL (interface definition language) indépendant de la plateforme. Des mappages entre IDL et des langages de programmation spécifiques sont implémentés, liant le langage à CORBA/IIOP.
L'implémentation Java Standard Edition CORBA/IIOP est appelée Java IDL. Avec le compilateur IDL vers Java (idlj), Java IDL peut être utilisé pour définir, implémenter et accéder aux objets CORBA à partir du langage de programmation Java.
La page Web Java IDL: Java IDL (CORBA)vous offre une bonne vue, centrée sur Java, de la programmation CORBA/IIOP. Pour obtenir une introduction rapide à l'écriture de programmes Java IDL, consultez la page Web Getting Started: Hello World: Getting Started with Java IDL.
RMI-IIOP
Auparavant, les programmeurs Java devaient choisir entre RMI et CORBA/IIOP (Java IDL) pour les solutions de programmation distribuée. Désormais, en respectant quelques restrictions (voir Restrictions when running RMI programs over IIOP), les objets serveur RMI peuvent utiliser le protocole IIOP et communiquer avec des objets client CORBA écrits dans n'importe quel langage. Cette solution s'appelle RMI-IIOP. RMI-IIOP combine la facilité d'utilisation et l'interopérabilité multilangage CORBA.
Lectures de référence
- La page d'accueil Java RMI contient des liens vers la documentation RMI, des exemples, des spécifications, etc.: https://www.oracle.com/technetwork/java/javase/tech/index-jsp-136424.html
- La trace RMI dans le tutoriel Java: https://docs.oracle.com/javase/tutorial/rmi/
- Le code HTML Javadoc de l'API RMI contient la documentation la plus à jour de l'API RMI: https://docs.oracle.com/javase/8/docs/api/java/rmi/package-summary.html
- La page Web Java IDL vous permet de vous familiariser avec l'implémentation CORBA/IIOP d' Oracle: https://docs.oracle.com/javase/8/docs/technotes/guides/idl/index.html
- Trace IDL Java dans le tutoriel Java: https://docs.oracle.com/javase/8/docs/technotes/guides/idl/GShome.html