- Remote procedure call
-
En informatique et en télécommunication, RPC (Remote Procedure Call) est un protocole réseau permettant de faire des appels de procédures sur un ordinateur distant à l'aide d'un serveur d'applications. Ce protocole est utilisé dans le modèle client-serveur et permet de gérer les différents messages entre ces entités.Ce système est également utilisé pour la conception des micro-noyaux.
Sommaire
Histoire et origines
L'idée de RPC date d'au moins 1976, quand il a été décrit dans le RFC 707. Une des premières utilisations commerciales de RPC a été faite par la firme Xerox sous le nom "Courier" en 1981. La première implantation populaire de RPC sur Unix était le RPC de Sun (maintenant appelée ONC RPC), utilisée comme la base pour les Systèmes de fichiers en réseau.
Passage de messages
Un RPC est initié par le client qui envoie un message de requête à un serveur distant connu pour exécuter une procédure spécifique avec des paramètres spécifiques. Le serveur distant envoie une réponse au client et l'application continue son déroulement. Il y a beaucoup de variations et subtilités dans diverses implémentations, donnant lieu à une variété de différents protocoles RPC (incompatibles). Pendant que le serveur traite l'appel, le client est bloqué (il attend que le serveur ait terminé son traitement sur les données).
Une différence importante entre des appels de procédures à distance et des appels locaux fait que les appels à distances peuvent échouer à cause de problèmes de réseau imprévisibles. Aussi, les appelants doivent en général gérer ces échecs sans savoir si la procédure à distance a été effectivement invoquée. des procédures idempotentes (celles qui n'ont pas d'effet additionnel si elles sont appelées plus d'une fois) sont gérées facilement, mais il y a beaucoup de difficultés restantes qui font que le code d’appel de procédures distantes est souvent confiné à des sous-systèmes de bas niveaux écrits soigneusement.
Voir aussi
Articles connexes
- Representational state transfer, une alternative à RPC
- Java RMI API Java proposant les mêmes fonctionnalités que RPC
- SOAP
Liens externes
- RFC 1057
- (fr) Introduction aux RPC
- JRES - Java Remote Execution Service is a RPC protocol that uses SSL style encode mechanism to encode its calls and pure HTTP as a transport mechanism.
Source
- (en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « Remote procedure call » (voir la liste des auteurs)
Catégories :- Communication inter-processus
- Protocole réseau sur la couche application
Wikimedia Foundation. 2010.