INSA - ASI InfoRep : RPC 1/55
Informatique R´epartie
Remote Procedure Call de SUN
Alexandre Pauchet
INSA Rouen - D´epartement ASI
INSA - ASI InfoRep : RPC 2/55
Plan
1Introduction
2RPCL
3RPC en C
4RPC en Java
5Remarques et outils
INSA - ASI InfoRep : RPC 3/55
Introduction (1/3)
Principe g´en´eral
Caract´eristiques
Syst`eme de distribution de services propos´e par SUN au d´ebut des
ann´ees 80 (utilis´e pour le d´eveloppement de NFS)
Utilisation d’un protocole de (d´e)s´erialisation ind´ependant du client
et du serveur (XDR : eXternal Data Representation) :
La talon client s´erialise en XDR les arguments, envoie la requˆete au
serveur, r´ecup`ere le r´esultat et le “d´es´erialise”
le talon serveur “d´es´erialise” les arguments, ex´ecute le code demand´e,
s´erialise en XDR le r´esultat et l’envoie au client
Utilisation d’un serveur qui centralise les processus qui fournissent
des services RPC : le portmap
Lorsqu’un programme veut proposer des services, il s’enregistre aupr`es
du portmap en donnant un num´ero de programme, un num´ero de
version et un num´ero par service propos´e
INSA - ASI InfoRep : RPC 4/55
Introduction (2/3)
Principe g´en´eral
Plusieurs niveaux de programmation :
en utilisant une API restreinte (4 fonctions)
en utilisant toute l’API (20 fonctions), cela permet alors de
choisir le protocole de transport
faire de l’authentification de client
faire des appels de service asynchrones
faire des appels de fonction diffus´es (broadcast´es)
en utilisant le compilateur rpcgen et le langage RPCL
Attention !
Les services sont des fonctions : pas de passage de param`etre en
“Sortie” ou “Entr´ee/Sortie” Une seule valeur de retour
INSA - ASI InfoRep : RPC 5/55
Introduction (3/3)
Fonctionnement
...
clnt = clnt_create (host,
HELLO_WORLD_PROG,
HELLO_WORLD_VERSION_1,
"tcp");
...
result=hello_world_1(c,clnt);
Machine Cliente Machine Serveur
Programme client Programme serveur
portmap
...
svc_register(transp,
HELLO_WORLD_PROG,
HELLO_WORLD_VERSION_1,
hello_world_prog_1,
IPPROTO_TCP)
...
1
2
3
4
Inspiré du cours de N. Melab
http://rangiroa.essi.fr/cours/systeme2/02-rpcgen.pdf
1 / 55 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !