La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Retour sur RMI. Exemple CLIENT Essifun SERVEUR de Surnoms oter infrastructure Protocole dapplication ?

Présentations similaires


Présentation au sujet: "Retour sur RMI. Exemple CLIENT Essifun SERVEUR de Surnoms oter infrastructure Protocole dapplication ?"— Transcription de la présentation:

1 Retour sur RMI

2 Exemple CLIENT Essifun SERVEUR de Surnoms oter infrastructure Protocole dapplication ?

3 Communication client serveur CLIENT SERVEUR Préparation de la requête Envoi de la requête Attente du résultat …. Analyse du résultat reçu Connexion au serveur Attente de requêtes Analyse de la requête ….. Exécution …. Préparation de la réponse Envoi de la réponse

4 Exemple : annuaire des surnoms EssiFun SERVEUR de Surnoms enregistrer(« paul », « bug ») marshalling unmarshalling enregistrer(« paul », « bug ») = TRUE TRUE 1:Paul:bug ou ENR/nPaul/n/bug/n ou Objet Requête Seriablizable Différence entre un transport TCP et UDP pour le codage des données ?

5 Que peut on automatiser ? Au minimum, la phase de marshalling/unmarshalling (hétérogéneité des langages, des systèmes, etc) Selon les cas, le squelette du serveur les appels distants du client

6 Exemple : annuaire des surnoms et RMI enregistrer lister oter AnnuaireEssi listePersonnes Enregistrer(AnneMarie,AM) lister()

7 Exemple : annuaire des surnoms interface : partie visible de lobjet (enregistrer, oter, lister, …) implémentation : partie privée inaccessible depuis dautres objets (listePersonnes : un vecteur de Personne ou un tableau ou ….) interface = contrat entre lobjet et le monde extérieur (save impossible par exemple)

8 RMI public interface Surnoms extends java.rmi.Remote { public Boolean enregistrer(String nom, String surnom) throws java.rmi.RemoteException, ServeurSurnoms.surnoms.ExisteDeja ; …. }

9 Générateurs RMIC / Orbix... IDL Int. Java Spécifications des données Générateurs Fichiers générés Stubs Skeletons Proxy (mise en œuvre de la sérialisation et désérialisation…)

10 RMI Classes et Interfaces ClasseLocale SoucheSquelette ClasseDistante InterfaceDistante Remote Appel méthode m() Machine localeMachine distante InterfaceDistante

11 Interaction Client Enregistreur client serveur clientregistre Lookup : où est objetDistant ? stub Il est ici Envoyez le stub Le voici stubsquelette objet Distant result = objetDistant.m() result RMIRegistry + ClassLoader

12 Exemple : annuaire des surnoms XDR et RPC de SUN Protocole := CHOICE { enregistrerReq [0] SEQUENCE{PrintableString nom, PrintableString surnom} enregistrerRep[1] BOOLEAN, listerReq [2] NULL, listerRep [3] SET OF Personnes, ….} Programme surnoms { version { boolean enregistrer(nomSurnom) = 1; listePersonnes lister(void)=2 }= 1 } = ASN.1 et norme ISO

13 Générateurs de Stubs RPCGEN / MAVROS ASN1 XDR Librairie marshalling et unmarshalling squelettes du client et du serveur Spécifications des données Générateurs Types de données C Lisp Java Types de données C Fichiers générés

14 Les points communs des approches distribuées Adressage : à tout serveur (objet ou programme) doit être affecté une référence unique Transport : pour établir une communication entre 2 nœuds et transmettre une requête Marshalling : transformation de la requête pour passer sur le réseau

15 Points communs Protocol : transmission des requêtes entre exécutables Dispatching : gestion des threads Des services communs Services de nommage Interface repository.....

16 Reste à approfondir

17 Communication réseaux et Internet Couches de transport Différences entre UDP et TCP (Développement dun serveur multicast Ack/NoAck pour gérer la perte des paquets UDP) Dautres protocoles (RTP/RTCP) (introduction du routage multicast ou du tunelling) principes du IP / protocole ICMP Service de nommage DNS Configuration services réseau, routage IP et DNS dune machine.....

18 Introduction au Réseaux Locaux LANs Configuration carte réseau dune machine, Développement dun analyseur de trafic et standards IEEE 802 : IEEE et Ethernet Configuration dun Firewall : IPTables, Spécificités des Réseaux Locaux Heureusement Jean Yves est là :-)

19 Quelques interrogations ? Comment choisir le bon middleware (intergiciel) ? Il y en a de plus en plus Corba, RMI, DCOM, DSA + CCM, J2EE + Web Services,.net.... Savoir les comparer Identifier les points communs Interopérabilité : XML une solution suffisante ?

20 Des Critères de Comparaisons Autour du concept objet ? Communication synchrone ou asynchrone ? Description via des interfaces ou des messages ? Communication directe ou indirecte ? Spécifique ou indépendant langage ? Possibilité de transformation de messages ou non ? Protocole de communication binaire ou textuelle ? Prise en compte de QoS ou non ? (transaction, sécurité....)

21 Comment faire interopérer les middlewares ? Aller vers un middleware standard ? (J2EE / Corba) Construire une couche au dessus des middlewares ? des familles de middlewares, des middlewares génériques (Jonathan, PolyOrb,...) Avoir une approche architecturale ? des design patterns Faire interopérer des middlewares existants? M2M


Télécharger ppt "Retour sur RMI. Exemple CLIENT Essifun SERVEUR de Surnoms oter infrastructure Protocole dapplication ?"

Présentations similaires


Annonces Google