Java/RMI : communications entre objets Java distribués
Applications distribuées en Java - Java/RMI et IDL/CORBA
H2760 v1 Article de référence

Java/RMI : communications entre objets Java distribués
Applications distribuées en Java - Java/RMI et IDL/CORBA

Auteur(s) : Patrick BELLOT, Christophe MATIACHOFF

Relu et validé le 15 juin 2016 | Read in English

Logo Techniques de l'Ingenieur Cet article est réservé aux abonnés
Pour explorer cet article plus en profondeur Consulter l'extrait gratuit

Déjà abonné ?

Présentation

1 - Java/RMI : communications entre objets Java distribués

  • 1.1 - Objets Java distribués
  • 1.2 - Interfaces
  • 1.3 - Interfaces d’objets distants
  • 1.4 - Statut des objets
  • 1.5 - Sérialisation
  • 1.6 - Objet serveur distant
  • 1.7 - Programme de création de l’objet distant
  • 1.8 - Compilation des classes
  • 1.9 - Générer stub et skeleton
  • 1.10 - Lancement du serveur
  • 1.11 - Objet client
  • 1.12 - Serveurs WEB

2 - CORBA et Java/IDL : applications distribuées hétérogènes

  • 2.1 - Spécification CORBA
  • 2.2 - ORB
  • 2.3 - Interopérabilité maximale
  • 2.4 - Schéma technique
  • 2.5 - Accès aux objets distants
  • 2.6 - Faux objets
  • 2.7 - Nommer les objets
  • 2.8 - Créer un ORB
  • 2.9 - Référence d’un objet distant
  • 2.10 - Objet client
  • 2.11 - Comparaison de CORBA et RMI
  • 2.12 - Serveur de noms
  • 2.13 - Spécification d’interface
  • 2.14 - Objets persistants et transitoires
  • 2.15 - Classe de l’objet serveur
  • 2.16 - Programme serveur
  • 2.17 - Schéma Java/CORBA

3 - Conclusion

Sommaire

Présentation

Auteur(s)

  • Patrick BELLOT : Docteur d’État en informatique - Professeur à l’École nationale supérieure des Télécommunications

  • Christophe MATIACHOFF : Docteur de l’université Pierre-et-Marie-Curie IBM France - Services e-business

Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.

Lire l’article

INTRODUCTION

Ll est tout à fait possible d’écrire d’intéressants programmes en langage Java en ignorant totalement les outils présentés ici. On pourrait même affirmer que pour écrire une application s’exécutant en local sur une machine, il suffit de connaître le langage bien sûr et quelques paquetages assez simples, des « packages » dans la terminologie Java.

Cependant, dès lors que l’application doit accéder à des bases de données ou bien être répartie, il est nécessaire de connaître de nouveaux outils proposés dans l’environnement de Java. L’objet de cet article est de présenter ces différents outils et la manière dont ils doivent être mis en œuvre. Il n’est bien entendu pas possible d’être exhaustif.

Les objets distribués doivent leur succès aux réseaux qui sont devenus plus simples et plus rapides pour l’utilisateur. Il est maintenant possible de faire « vivre » des objets situés sur des machines distantes et de les faire communiquer pour coopérer au succès d’une tâche dont on sait répartir les composantes.

Java propose deux mécanismes de distribution d’objets :

  • le mécanisme Java/RMI (« remote method invocation ») est un mécanisme spécifique de l’environnement Java. Il ne permet la communication qu’entre objets du langage Java ;

  • le mécanisme Java/IDL (« interface definition language ») est la mise en œuvre en Java d’un mécanisme plus général et normalisé, appelé CORBA (« common object broker architecture ») et permet la communication entre les objets de Java et ceux définis dans d’autres langages.

Nous explicitons les particularités de ces deux mécanismes et nous donnons les bases nécessaires à leur utilisation.

Nota :

Des mêmes auteurs, on trouvera dans le présent traité l’article consacré au langage Java ().

Logo Techniques de l'Ingenieur

Cet article est réservé aux abonnés.
Il vous reste 94 % à découvrir.

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


DOI (Digital Object Identifier)

https://doi.org/10.51257/a-v1-h2760

Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

(236 articles)

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre

1. Java/RMI : communications entre objets Java distribués

Java/RMI (remote method invocation) est spécifique au langage Java. C’est un ensemble de classes et d’outils de mise en œuvre permettant à des objets distribués sur différents sites ou sur une même plate-forme de communiquer entre eux. On rappelle [1, 2] que les objets Java sont exécutés par la machine virtuelle Java appelée la JVM (Java virtual machine ) [3].

1.1 Objets Java distribués

Les objets peuvent être distribués de différentes manières (figure 1) :

  • ils peuvent s’exécuter sur des machines virtuelles Java (JVM) différentes sur une même plate-forme ;

  • ils peuvent s’exécuter sur des machines virtuelles sur des plates-formes différentes mais reliées par un réseau local (LAN) ou Internet (WAN).

HAUT DE PAGE

1.2 Interfaces

Le moyen de communication entre objets est l’envoi de message. Il est composé du nom d’une méthode que l’objet sait exécuter et des paramètres adéquats. On peut dire que l’envoi de message est un appel de méthode de l’objet.

Exemple 1

imaginons un éditeur de figures géométriques. Celui-ci gère chacune des figures géométriques en cours d’édition comme un objet particulier. Il y a donc une classe Figure dérivée en plusieurs classes telles que Cercle , Carré ou encore Rectangle . Ces figures doivent être capables d’exécuter une méthode dessiner prenant en paramètres un objet de type Graphics...

Logo Techniques de l'Ingenieur

Cet article est réservé aux abonnés.
Il vous reste 94 % à découvrir.

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


Lecture en cours
Java/RMI : communications entre objets Java distribués

Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

(236 articles)

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre

Sommaire
Sommaire

BIBLIOGRAPHIE

  • (1) - BELLOT (P.), MATIACHOFF (C.) -   Langage Java.  -  [H 3 088], Technologies logicielles – Architectures de systèmes (1998).

  • (2) - BELLOT (P.), ROBINET (B.) -   Conception de logiciels et portabilité.  -  [H 3 288], Technologies logicielles – Architectures de systèmes (1998).

  • (3) - LINDHOLM (T.), YELLIN (F.) -   The Java Virtual Machine.  -  Addison-Wesley (1996).

  • (4) - BEN-NATAN (R.) -   Corba on the Web.  -  MacGraw-Hill (1998).

  • (5) - HAROLD (E.R.) -   Java Network Programming.  -  O’Reilly (1997).

  • (6) - MOWBRAY (T.J.), ZAHAVI (R.) -   The Essential CORBA, Systems Integration using Distributed Objects.  -  John Wiley & Sons, OMG (1995).

  • ...

1 Sites Internet

Object Management Group (OMG)

http://www.omg.com

Documentation Java

http://www.java.sun.com

HAUT DE PAGE
Logo Techniques de l'Ingenieur

Cet article est réservé aux abonnés.
Il vous reste 95 % à découvrir.

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

(236 articles)

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre

Ressources documentaires

Programmation des systèmes parallèles hétérogènes

La technologie OpenCL a été créée dans le but de programmer des systèmes parallèles hétérogènes et de ...

Plate-forme .NET

Le .NET Framework, qui permet la création et l’exécution d’applications modernes conçues autour des ...

Virtualisation logicielle : de la machine réelle à la machine virtuelle abstraite

Masquer l'hétérogénéité est un des grands challenges de l'informatique moderne : le nombre de ...