Présentation

Article

Article de référence | Réf : H2738 v1

Conclusion
Communication synchrone entre programmes par RPC et RMI

Auteur(s) : Michel RIVEILL, Roland BALTER, Fabienne BOYER

Relu et validé le 16 juin 2016

Pour explorer cet article
Télécharger l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !

Sommaire

Présentation

Version en anglais English

Auteur(s)

  • Michel RIVEILL : Professeur à l’université de Nice - Sophia-Antipolis

  • Roland BALTER : Professeur à l’université Joseph-Fournier, Grenoble, Laboratoire SIRAC

  • Fabienne BOYER : Maître de conférences à l’université Joseph-Fournier, Grenoble, Laboratoire SIRAC

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

Lire l’article

INTRODUCTION

Il existe plusieurs modèles d’organisation d’une application répartie. Citons, entre autres, les modèles à base d’échange de messages ou d’événements/réactions qui s’adaptent bien à des communications asynchrones ; le modèle client-serveur qui s’appuie sur une abstraction linguistique bien connue, l’appel de procédure synchrone ; les modèles utilisant la mobilité du code, par exemple des systèmes d’agents mobiles ; ou encore des modèles à objets répartis qui donnent au concepteur d’applications l’illusion d’une mémoire partagée d’objets distribués. Dans cet article, nous nous intéressons principalement au modèle client-serveur car il est aujourd’hui le plus répandu dans les produits industriels. Nous verrons cependant que la frontière entre les divers modèles d’organisation des applications réparties n’est pas étanche et que les applications réparties construites selon le modèle client-serveur empruntent assez souvent des propriétés et des mécanismes propres à d’autres modèles.

L’article développe le modèle client-serveur selon deux axes : un axe « environnement de développement » qui présente les outils de construction d’applications, en particulier l’appel de procédure à distance ; un axe « système » qui présente les principes de mise en œuvre de l’appel de procédure à distance dans un environnement distribué hétérogène. Ces services systèmes sont généralement regroupés dans une couche de logiciel interposée entre l’application et le système d’exploitation, habituellement désignée par le terme générique de « middleware ».

Le modèle client-serveur de base met en jeu un processus client, qui demande l’exécution d’un service, et un processus serveur, qui réalise ce service. Client et serveur sont localisés sur deux machines reliées par un réseau de communication. Ce modèle a été introduit pour mettre en œuvre les premières applications réparties (transfert de fichiers, connexion à une machine distante, courrier électronique, etc.), réalisées chacune par un protocole applicatif spécifique. Dans une seconde étape, une construction commune, l’appel de procédure à distance, a été introduite pour fournir un outil général pour la programmation d’applications client-serveur.

Nous avons volontairement regroupé dans cet article les deux modèles de communications synchrones existants, liant un processus client et un processus serveur : le modèle issu de la programmation procédurale permettant de réaliser des appels de procédure (ou de service) à distance (RPC : Remote Procedure Call) et son adaptation aux langages à objets qui permet de réaliser des appels de méthode à distance (RMI : Remote Method Invocation). Ces deux modèles utilisent des fondements communs et le second est une évolution naturelle du premier, imposée par le développement des langages à objets.

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

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

DOI (Digital Object Identifier)

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


Cet article fait partie de l’offre

Technologies logicielles Architectures des systèmes

(240 articles en ce moment)

Cette offre vous donne accès à :

Une base complète d’articles

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

Des services

Un ensemble d'outils exclusifs en complément des ressources

Un Parcours Pratique

Opérationnel et didactique, pour garantir l'acquisition des compétences transverses

Doc & Quiz

Des articles interactifs avec des quiz, pour une lecture constructive

ABONNEZ-VOUS

Lecture en cours
Présentation
Version en anglais English

6. Conclusion

L’appel de procédure à distance (ou son équivalent dans le monde objet : l’appel de méthode à distance) est un modèle de structuration qui permet de décrire l’interaction entre deux composants logiciels qui communiquent par échange de messages. Un des deux composants, le client, a l’initiative du dialogue et reste bloqué pendant que l’autre composant, le serveur, traite la requête.

Ce modèle est sans doute le plus répandu aujourd’hui pour la mise en œuvre d’applications réparties. La raison principale de ce succès tient au fait que l’appel de procédure à distance s’efforce de reproduire, pour un environnement réparti, les conditions d’un appel de procédure local — à la fois sur le plan du modèle de programmation et sur le plan du modèle d’exécution. Tout au long de cet article, nous avons montré que cet objectif de compatibilité sémantique entre l’appel de procédure à distance et l’appel de procédure local était difficile, voire impossible, à réaliser. L’émergence des langages de description d’interface (IDL) pour spécifier le contrat entre la partie cliente et la partie serveur d’une application est un élément clé du modèle client-serveur. D’une part, l’IDL permet de s’abstraire d’un langage de programmation particulier pour la programmation du client ou du serveur. D’autre part, les outils de génération de codes associés à l’IDL simplifient de façon significative la programmation des interactions entre le client et le serveur.

Ce modèle de programmation est aujourd’hui largement utilisé pour accéder à des services distants comme par exemple les moniteurs transactionnels. Dans ce cadre, deux « normes » ou méthodes d’accès coexistent. Pour illustrer la première approche, nous pouvons citer la proposition X/Open pour laquelle l’accès aux services a été défini par un ensemble de procédures regroupées dans une API (Application Programming Interface). Dans la seconde, les fonctions d’accès au moniteur transactionnel sont décrites par une description IDL et c’est ce qui a été fait pour décrire l’OTS (Object Transaction Services) de Corba.

Le modèle client-serveur et l’appel de procédure à distance présentent néanmoins un certain nombre de limitations qu’il convient de rappeler ici. La première d’entre...

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

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

Cet article fait partie de l’offre

Technologies logicielles Architectures des systèmes

(240 articles en ce moment)

Cette offre vous donne accès à :

Une base complète d’articles

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

Des services

Un ensemble d'outils exclusifs en complément des ressources

Un Parcours Pratique

Opérationnel et didactique, pour garantir l'acquisition des compétences transverses

Doc & Quiz

Des articles interactifs avec des quiz, pour une lecture constructive

ABONNEZ-VOUS

Lecture en cours
Conclusion
Sommaire
Sommaire

BIBLIOGRAPHIE

  • (1) - BIRREL (A.D.), NELSON (B.J.) -   Implementing Remote Procedure Call.  -  ACM Transactions on Computer Systems, 2 (1), 39-59, fév. 1984.

  • (2) -   RPC : Remote Procedure Call specification.  -  RFC 1050, avr. 1988.

  • (3) - OSADZINSKI (A.) -   The Network File System (NFS).  -  Vol. 8. Computer Standards & Interfaces, Pays-Bas (1988).

  • (4) - ROSENBERG (W.), KENNEY (D.), FISHER (G.) -   Comprendre DCE.  -  Addison-Wesley (1993). http://www.osf.org/dce

  • (5) -   OSF DCE : Introduction to OSF DCE.  -  Révision 1.1. Open Software Foundation (1995).

  • (6) -   The Common Object request Broker Architecture.  -  Révision 2.0. Object Management Group (1995). http://www.omg.org

  • ...

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

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

Cet article fait partie de l’offre

Technologies logicielles Architectures des systèmes

(240 articles en ce moment)

Cette offre vous donne accès à :

Une base complète d’articles

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

Des services

Un ensemble d'outils exclusifs en complément des ressources

Un Parcours Pratique

Opérationnel et didactique, pour garantir l'acquisition des compétences transverses

Doc & Quiz

Des articles interactifs avec des quiz, pour une lecture constructive

ABONNEZ-VOUS