Home

Modèle client

image

Contents

1. Ex cution du service s quentiel concurrent gt M morisation ou non de l tat du client S lection Requ tes R ponses gt H Mod le client serveur Gestion des processus Client et serveur sont dans des processus distincts gt Le client est suspendu lors de l ex cution de la requ te gt Eventuellement ex cution concurrente de plusieurs requ tes chez le serveur Plusieurs processus une m moire virtuelle associ e chaque processus e Plusieurs processus l gers thread dans le m me espace virtuel contexte restreint pile mot d tat registres Diff rents types de service Pas de modification de donn es r manentes sur le serveur gt ex calcul fonction ou lecture donn e Modification du contexte d ex cution sur le site distant gt ex serveur de fichiers ou d objets gt probl mes de la concurrence et des pannes Mod le client serveur Exemple Serveur de fichiers nfsd Serveur d impressions Ipd Serveur de calcul Serveur base de donn es Serveur de noms annuaire des services Remote Procedure Call RPC Principes G n ration du code gt d envoi et r ception des messages gt De d tection et r mission des messages perdus Objectif le programmeur d veloppe son application comme si elle tait centralis e RPC Birrel amp Nelson 841 Principe de r alisation Service RPC AEO 2 Appelant I RPC A Princ
2. distance gt Absence de talon gt chargement dynamique des talons et des classes s rialisables gt D signation par des URL 39 Ouverture RPC asynchrone Le client poursuit son ex cution apr s l mission du message d appel gt la proc dure distante s ex cute en parall le avec la poursuite du client et retourne les param tres r sultats en fin de son ex cution gt le client r cup re les r sultats quand il en a besoin primitive sp ciale de lecture la lecture rend un r sultat nul si le r sultat n est pas disponible la lecture bloque le client si le r sultat n est pas disponible gt avantage parall lisme plus important gt critique le client ne retrouve pas la s mantique de l appel de proc dure 40 Les limites du mod le client serveur Services pour la construction d applications r parties gt le RPC est un m canisme de bas niveau gt des services additionnels sont n cessaires pour la construction d applications r parties d signation fichiers r partis s curit etc e CORBA EJB Outils de d veloppement gt limit s la g n ration automatique des talons gt peu ou pas d outils pour le d ploiement et la mise au point d applications r parties CCM 41 R f rences A D Birrell and B J Nelson Implementing remote procedure calls ACM Transactions on Computer Systems vol 2 1 pp 39 59 February 1984 Java Remote Meth
3. Mod le client serveur Daniel Hagimont IRIT ENSEEIHT 2 rue Charles Camichel BP 7122 Remerciements 31071 TOULOUSE CEDEX 7 Michel Riveill Daniel Hagimont enseeiht fr http hagimont perso enseeiht fr Principes g n raux gt Mod le client serveur gt Appel de proc dure distance Remote Procedure Call Application dans l environnement Java gt Java Remote Method Invocation RMI Mod le client serveur D finition Application client serveur gt application qui fait appel des services distants au travers d un change de messages les requ tes plut t que par un partage de donn es m moire ou fichiers gt serveur programme offrant un service sur un r seau par extension machine offrant un service gt client programme qui met des requ tes ou demandes de service Il est toujours l initiateur du dialogue Mod le client serveur ROUTES par memg Deux messages an moins chang s gt Le premier message correspondant la requ te est celui de l appel de proc dure porteur des param tres d appel gt Le second message correspondant la r ponse est celui du retour de proc dure porteur des param tres r sultats Proc dure n_proc p_in p_out Appel p_in begin appel n_proc p_in p_out end Retour p_out Mod le client serveur Principe Vu du client Requ te client Vu du serveur R ponse gt Gestion des requ tes priorit gt
4. ances gt authentification du client gt Congestion du r seau ou gt authentification du du serveur serveur e la r ponse ne parvient pas gt confidentialit des avant une date fix e parle p client syst me temps changes CHAQUE Performance gt Panne du client pendant le traitement de la requ te gt Panne du serveur avant ou D signation Aspects pratiques pendant le traitement de gt Adaptation des la requ te conditions multiples gt Panne du syst me de protocoles langages communication mat riels gt Quelles garanties 17 RPC IDL sp cification des interfaces Utilisation d un langage de description d interface IDL gt Sp cification commune au client et au serveur gt D finition des types et natures des param tres IN OUT IN OUT Utilisation de ces d finitions pour g n rer automatiquement gt le talon client ou proxy stub gt le talon serveur ou squelette skeleton 18 IDL Mode op ratoire g n ral G n rateur de talons jar communes d interface G n rateur D finitions de talons VT 19 Java Remote Method Invocation RMI Un RPC objet int gr Java Interaction d objets situ s dans des espaces d adressage diff rents des ava Virtual Machines JVM sur des machines distinctes Simple mettre en uvre un objet distribu se manipule comme tout autre objet Java Java RMI Principe serveur d sig
5. erveur obj System out printin HelloServeur bound in registry catch Exception exc ATTENTION dans cet exemple le serveur de nom doit tre activ avant la cr ation du serveur 30 Java RMI Activation du serveur de nom par le serveur fichier HelloServeur java public static void main String args int port String URL try transformation d une cha ne de caract res en entier Integer I new Integer args Ol port l intValue catch Exception ex System out printin Please enter Server lt port gt return try Cr ation du serveur de nom rmiregistry Registry registry LocateRegistry createRegistry port Cr ation d une instance de l objet serveur Hello obj new HelloServeur Calcul de l URL du serveur URL InetAddress getLocalHost getHostName port mon serveur Naming rebind URL obj catch Exception exc lt Java RMI Exemple Client fichier HelloClient java R alisation du public class HelloClient client public static void main String argsfl try R cup ration d un stub sur l objet serveur Hello obj Hello Naming lookup ma_ machine mon_ serveur Appel d une m thode sur l objet distant obj sayHello catch Exception exc lt import java rmi 32 Java RMI Compilation Compilation de l interface du serveur et du client gt Javac Hello ja
6. int E les arguments de retour sont d paquet s le d lai de garde arm au point A est d sarm un message d acquittement avec l identificateur du RPC est envoy au talon serveur le d lai de garde arm au point D peut tre d sarm les r sultats sont transmis l appelant lors du retour de proc dure 14 RPC R le des talons Talon client stub Talon serveur skeleton C est la proc dure C est la proc dure sur le d interface du site client site serveur gt qui re oit l appel en mode gt qui re oit l appel sous local forme de message gt le transforme en appel gt fait r aliser l ex cution sur distant en envoyant un le site serveur par la message proc dure serveur choix gt re oit les r sultats apr s de la proc dure l ex cution gt retransmet les r sultats gt retourne les param tres par message r sultats comme dans un retour de proc dure 15 RPC Perte de message Cot client gt Si le d lai de garde expire e R mission du message avec le m me identificateur Abandon apr s N tentatives Cot serveur gt Si le d lai de garde expire gt Si on re oit un message avec un identificateur identique e R mission de la r ponse Abandon apr s N tentatives Cot client gt Si on re oit une r ponse avec un identificateur d j re u e R mission du message d acquittement 16 RPC Probl mes Traitement des Probl mes de s curit d faill
7. ipe de fonctionnement C t de l appelant gt Le client r alise un appel proc dural vers la proc dure talon client stub e transmission de ensemble des arguments gt au point le talon collecte les arguments et les assemble dans un message empaquetage parameter marshalling un identificateur est g n r pour le RPC et joint au message Un d lai de garde est arm Pb d termination de l adresse du serveur annuaire de Services le talon transmet les donn es au protocole de transport pour mission sur le r seau 11 RPC B et C Principe de fonctionnement Cot de l appel gt le protocole de transport d livre le message au service de RPC talon serveur skeleton gt au point B le talon d sassemble les arguments d paquetage unmarshalling e l identificateur de RPC est enregistr gt l appel est ensuite transmis la proc dure distante requise pour tre ex cut point C gt Le retour de la proc dure redonne la main au service de RPC et lui transmet les param tres r sultats point D 12 RPC D Principe de fonctionnement Cot de l appel gt au point D les arguments de retour sont empaquet s dans un message un autre d lai de garde est arm le talon transmet les donn es au protocole de transport pour mission sur le r seau 13 RPC E Principe de fonctionnement Cot de l appelant gt l appel est transmis au service de RPC po
8. nation envoi de requ tes ex cution de requ te retour de r sultat R f rence d objet m thode argume ORK R sultat ou exception 21 Java RMI Cot serveur JVM Client Java RMI Cot serveur O A la cr ation de objet un stub et un skeleton avec un port de communication sont cr s cot serveur 1 L objet serveur s enregistre aupr s d un annuaire rmiregistry en utilisant la classe Naming m thode rebind 2 L annuaire rmiregistry enregistre le stub de l objet 3 L annuaire est pr t donner des r f rences l objet serveur 23 Java RMI Cot client JVM Client JVM Serveur Java RMI Cot client 4 L objet client fait appel l annuaire rmiregistry en utilisant la classe Naming pour localiser l objet serveur m thode lookup 5 L annuaire d livre une copie du stub 6 L objet stub est install et sa r f rence est retourn e au client 7 Le client effectue l appel l objet serveur par appel l objet stub 25 Java RMI Utilisation codage gt description de l interface du service gt criture du code du serveur qui implante l interface gt criture du client qui appelle le serveur compilation gt compilation des sources javac gt g n ration des stub et skeleton rmic activation gt lancement du serveur de noms rmiregistry gt lancement du serveur gt lancement du client 26 Ja
9. od Invocation Java RMI http java sun com products jdk rmi 42
10. va HelloServeur java HelloClient java G n ration des talons gt rmic HelloServeur e skeleton dans HelloServeur Skel class e stub dans HelloServeur Stub class 33 Java RMI D ploiement 1 Activation du serveur de nom gt rmiregistry amp 2 Activation du serveur gt Java HelloServeur gt java Djava rmi server codebase http ma machine path indiquant quelle endroit la machine virtuelle cliente va pouvoir chercher le code du stub e N cessaire si le client et le serveur ne sont pas sur la m me station 3 Activation du client gt Java HelloClient 34 Java RMI Principe de l appel de m thode Java VM Java VM H oer m 0 Client R_objet1 m Stub Sereen R_objet1 R_objet1 Java RMI Passage en param tre d un objet s rialisable Java VM H objet1 m O2 KL KL KL KL KL af KL Ze Ze Ze Se R_objet1 m O2 Stub H objet1 Skeleton H oer Java RMI Passage en param tre d un objet remote 7 Java VM H objet1 m R_02 gt Skeleton H oer Java RMI Passage en param tre d un objet remote 7 Java VM Objet oer Se WM a Wf x Se a Skeleton R_objet1 Java RMI bilan Tr s bon exemple de RPC gt facilit d utilisation gt int gration au langage Java gt Passage de r f rence gt s rialisation ou r f rence
11. va RMI Manuel d utilisation D finition de l interface de l objet r parti gt interface publique gt interface extends java rmi Remote gt methodes throws Java rmi RemoteException gt param tres s rializables implements Serializable gt param tres r f rences implements Remote Ecrire une impl mentation de l objet r parti gt classe extends java rmi server UnicastRemoteObject 27 Java RMI Exemple Interface fichier Hello java Description public interface Hello extends java rmi Remote d public void sayHello e throws java rmi RemoteException l Interface 28 Java RMI Exemple serveur fichier HelloServeur java import java rmi ue import java rmi server UnicastRemoteObject eege u public class HelloServeur extends UnicastRemoteObject implements Hello Serveur String message Impl mentation du constructeur public HelloServeur String msg throws java rmi RemoteException message msg Impl mentation de la m thode distante public void sayHello throws java rmi RemoteException System out printin message 29 Java RMI Exemple serveur fichier HelloServeur java R alisation public static void main String args d try u Cr e une instance de objet serveur Hello obj new HelloServeur SEH Enregistre l objet cr er aupr s du serveur de noms su ite Naming rebind ma_machine mon_s

Download Pdf Manuals

image

Related Search

Related Contents

THE WYLE SCIENTIFIC MAINTENANCE AND SERVICE MANUAL  AL35 User Manual - Stanley Hydraulic Tools  Sony SEL1670Z User's Manual  ボイスレコーダー用スペシャルセット YVR-SP3 取扱説明書    

Copyright © All rights reserved.
Failed to retrieve file