Les RPC remote procedure call

Slides:



Advertisements
Présentations similaires
France Telecom Matthieu Leclercq
Advertisements

Les protocoles réseau.
Le langage C++ Les types structurés
ESSI AM Dery Merci à Rémi Vankeisbelck, Michel Riveill etc
Retour sur RMI.
1 Plan de lenseignement Cours Introduction au réseau via les objets distants (Application à RMI) Ce que cache RMI : programmation socket – mode connecté
ESSI AM Dery Merci à Rémi Vankeisbelck, Michel Riveill etc
ESSI AM Dery Merci à Rémi Vankeisbelck, Michel Riveill etc
Objets Distribués Chronique d ’une invasion annoncée
Chapitre 1 Introduction
14 - Adresse IP et interfaces. Plan détude 1)Adresse IP dune interface 1)Résolution de nom vers IP statique 1)Service DNS 1)Spécification des interfaces.
- Couche 7 - Couche application. Sommaire 1)Introduction 1)DNS 1)FTP et TFTP 1)HTTP 1)SNMP 1)SMTP 1)Telnet.
Exposé de Système - Informatique et Réseau
Module 6 : Gestion et analyse du système DNS
Cours 5 : Les Web Services et WSDL Mars Version 1.0 -
C.
2-Generalites FTP:Protocole De transfert de fichiers sur un réseau TCP/IP. Permet de copier des fichiers depuis ou vers un autre ordinateur du reseaux,d'administrer.
Le File Transfer Protocol

Université du Littoral - Côte d’Opale
TP 3-4 BD21.
INTRODUCTION.
NFE 107 : Urbanisation et architecture des systèmes d'information
UDP – User Datagram Protocol
Common Gateway Interface
Xavier Perrin Emmanuel De Castro Mars 2005 Système distribué
Remote Procedure Call Motivation Idée générale
Serveurs Partagés Oracle
Java Remote Method Invocation (RMI)
Sommaire Objectif de Peakup Principes de fonctionnement
Labview Programmation réseau Communication par sockets
Le protocole FTP.
.Net Remoting.
Protocole 802.1x serveur radius
RPC / MOM : Comparaison.
Le Modele OSI.
Vue d'ensemble Configuration d'adresses IP
Travail réalisé par : LATRECHE Imed Eddine MENASRIA Med Lamine
VAL3 Ethernet - Sockets A partir VAL 3 Version 4.x.
Présentation de CORBA et de IIOP
Développement d’application client/serveur
Développement d’application client/serveur
Sommaire Dans ce chapitre, nous aborderons :
JavaScript.
Appel de procédure distante
NSY107 - Intégration des systèmes client-serveur
Gestion à distance Netsh et rcmd.
Systèmes distribués Plusieurs technologies existent : Les sockets
CEG3585/CEG3555 Tutorat 2 Hi ver 2013.
1 Extension du modèle de composants CORBA avec accès concurrent à des données partagées Travail réalisé par : Landry BREUIL PFE, ISIMA Encadrants : Gabriel.
Programmation Système et Réseau
PostgreSQL – Présentation
Les Réseaux Informatiques Clients & Serveurs Le protocole FTP Laurent JEANPIERRE DEUST AMMILoR.
Les sockets.
CSI 3525, Implémentation des sous-programmes, page 1 Implémentation des sous-programmes L’environnement dans les langages structurés en bloc La structure.
Module 3 : Création d'un domaine Windows 2000
PHP 6° PARTIE : LES SESSIONS 1.Introduction 2.Identificateur de session 3.Variables de session 4.Client / Serveur 5.Principe 6.Ouverture de session 7.Enregistrement.
Java RMI: Remote Method Invocation
Master 1 SIGLIS Systèmes d’Information pour l’entreprise – Java RMI Stéphane Tallard Mise en œuvre de l’exemple Bonjour RMI Master 1 SIGLIS1 Intégration.
03/05/2004Diffusion vidéo sur l'Internet - Timothy BURK ENS de Lyon 1 Techniques de diffusion vidéo sur l'Internet Streaming avec RTP/RTSP Timothy BURK.
1 Communications dans les systèmes distribués. 2 On distingue plusieurs niveaux d’abstractions 1. Bas Niveaux : Sockets 2. Niveau intermédiaire : transparence.
06/04/06 LES BASES DE DONNEES INTRODUCTION CogniTIC – Bruxelles Formation - Cepegra.
Architecture Client/Serveur
SOAP et les RPC XML SOAP WSDL RPC. Rappels sur le XML Langage avec des balises Très lisible Pour stocker des données Séparation entre contenu et présentation.
L. Gurret – M. Herve – P. Mignon – J. Prarioz. Introduction  Dernière étape d’analyse  Cahier des charges, spécifications et conception orientée objet.
Java Remote Method Invocation
Client/Server Socket. Client/Serveur.
Installation du PGI – CEGID
FACTORY systemes Module 6 Page 6-1 La base de données InSQL FORMATION InSQL 7.0.
Transcription de la présentation:

Les RPC remote procedure call version 1.0 25 avril 2004

plan de l’exposé introduction principe général les RPC sous Un*x un outil pratique : rpcgen autres outils

introduction la communication par sockets consiste souvent à invoquer des commandes à distance difficultés : lourdeur de programmation encodage des données (paramètres, résultats) identification du serveur, du protocole, … énorme “switch” au niveau du serveur non naturel

introduction objectif des RPC : retrouver la sémantique “classique” de l’appel de procédures sans préoccupation de la localisation de la procédure sans préoccupation du traitement des défaillances en étant le plus transparent possible pour le programmeur difficultés modes de pannes indépendants réseau non forcément fiable temps de réponse

principe général Réseau 1 2 3 4 Programme client Talon client Programme serveur Talon serveur 1 2 communication Protocole de communication Protocole de Réseau 3 4

les RPC sous Un*x nombreux systèmes RPC disponibles (mais souvent incompatibles en eux) un standard : Sun RPC (spécifications dans le domaine public) à base de l’implémentation NFS open-source utilise le protocole XDR (eXternal Data Representation) pour le transport des données

Sun RPC fonctionnement du serveur un processus daemon (serveur) attend des connexions il détermine un programme p qui contient une/des procédures (référencées) le programme p décode les paramètres, exécute la procédure demandée et encode le résultat le daemon retourne le résultat

Sun RPC fonctionnement du client le talon (stub) détermine le numéro de programme détermine la version du programme à utiliser détermine le numéro de la procédure à lancer encode les différents paramètres

Sun RPC plusieurs façons de développer des applications réparties en utilisant : utilisant les fonctions de la couche intermédiaire utilisant les fonctions de la couche basse utiliser le compilateur rpcgen

un outil pratique : rpcgen service.x rpcgen service_svc.c service_clnt.c service_server.c service_client.c service_rpc.h service_xdr.c Makefile_service

un outil pratique : rpcgen utilisation rpcgen –a service.x les fichiers Makefile_service, service_xdr.c, service_rpc.h, service_svc.c, service_clnt.c, service_server.c, service_client.c sont générés il ne reste plus qu’à implémenter les procédures dans service_server.c et le programme client (service_client.c)

un outil pratique : rpcgen structure des fichiers .x /* service.x */ [Définition constantes]* [Définition types]* program NOM_DU_PROGRAMME { [version NOM_DE_LA_VERSION { [type_résultat nom_procédure(type_du_paramètre) = numéro_de_la_procédure;]* } = numéro_version;] } = numéro_du_programme;

un outil pratique : rpcgen les constantes const id = valeur; les types struct num_du_type { [type attribut;]* } typedef type nom_du_type; les tableaux et chaînes typedef int vecteur <100>; typedef string chaine <255>;

un outil pratique : rpcgen numéro de programme réservé : de 0x00000000 à 0x1FFFFFFF public : de 0x20000000 à 0x3FFFFFFF semi-public : de 0x40000000 à 0x5FFFFFFF réservé : 0x60000000 à 0xFFFFFFFF

autres outils rpcinfo : permet d’obtenir la liste des services RPC sur la machine rpcinfo –p [machine hôte] : liste des services RPC enregistrés rpcinfo {–u | -t} machine_hôte numéro_prog [numéro_version] : appel de la procédure 0 d’un programme (valeur donnée en décimal !) en utilisant le protocole {udp | tcp}