- · Niveau : AVANCÉ
- · Compatibilité : Universel
- · Fichier à télécharger
Java RMI propose une méthode relativement simple et puissante pour distribuer des applications sur des machines virtuelles différentes (une machine virtuelle étant une instance de l’interpréteur de Bytecode).
C’est à partir de JDK1.1 que le concept original de machine virtuelle de Java a été étendu à un nouveau modèle dans lequel les classes et les objets peuvent fonctionner dans un environnement réseau (les machines virtuelles peuvent être localisées à la fois sur le même ordinateur ou encore sur un réseau).
Toutes les fonctionnalités de Java sont disponibles au programmeur RMI (entre autres celles de la sécurité, du processus de Serialization des données, de la connexion aux systèmes déjà existants par JNI et aux bases de données par JDBC). Les principaux avantages à utiliser RMI (et Java) sont les suivants:
- À la base, Java est entièrement basé sur le concept de l’orienté-objet. Les concepts de réutilisabilité (héritage), de protection de l’information (encapsulation) et de l’accès dynamique (polymorphisme) sont directement utilisables en Java. De plus, Java ne permet pas l’héritage multiple.
- Il permet le transfert transparent d’objets d’une application à une autre et ces objets ne subissent pas de changement lors des transferts (l’intégrité des objets transférés est respectée).
- Son utilisation est sécuritaire (les classes de gestion de la sécurité sont disponibles et le programmeur peut, s’il le désire, programmer les siennes).
- Contrairement à un Framework comme MFC, il est relativement facile et rapide d’écrire des applications Java et d’utiliser les classes RMI.
- Il permet un accès facile et simplifié aux systèmes déjà en place (utilisant des langages comme Java, C, C++, ...).
- Il élimine le coulage de mémoire par l’utilisation du Garbage Collection.
- Il permet l’exécutionen parallèle d’applications (locale ou distante).
- Le transfert de comportements (objets) d’une application à une autre permet d’exploiter toute la force des Design Patterns (qui s’appuient très souvent sur des comportements).
- Depuis JDK1.2, Java supporte l’activation d’objets distants.
- Depuis JDK1.3, Java supporte les spécifications IIOP (Internet Inter-ORB Protocol) du Object management Group (OMG). Cette nouvelle fonctionnalité de Java (maintenant appelée RMI-IIOP) permet l’intégration de Java et de CORBA.
Les architectes de Sun ont réussi à rendre transparente l’utilisation d’objets distants. Après avoir localisé les objets appropriés, le programmeur utilise les méthodes de ces objets comme si ces dernières faisaient partie de son application. Tout le travail de codage, dedécodage, de vérification et de transfert est effectué par RMI.
En conclusion au document, il sera itintéressant de comparer les différentes technologies orientées objets qui sont disponibles sur le marché. Les questions que l’on se pose sont les suivantes: pourquoi utiliser Java RMI? dans quelles conditions est-il préférable de ne pas l’utiliser? quand doit-on utiliser CORBA ou DCOM?
- Voir le document complet (47 pages) en format PDF (428k)
- Télécharger le document complet (47 pages) en format PS (1.4MB)
- Télécharger les exemples Java en format ZIP (375k)