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

.Net Remoting. Plan de cours Domaines dapplications: –Programmation distribuées. Utilisation des namespaces: –System.Serializable. –System.Runtime. –System.Runtime.Remoting.

Présentations similaires


Présentation au sujet: ".Net Remoting. Plan de cours Domaines dapplications: –Programmation distribuées. Utilisation des namespaces: –System.Serializable. –System.Runtime. –System.Runtime.Remoting."— Transcription de la présentation:

1 .Net Remoting

2 Plan de cours Domaines dapplications: –Programmation distribuées. Utilisation des namespaces: –System.Serializable. –System.Runtime. –System.Runtime.Remoting. –System.Runtime.Serialization. Pré requis: –Domaines dapplication. –Interfaces. Notion abordées: –Marshalisation. –Sérialisation. –Formatteurs dobjets –Canaux de communications.

3 Définition.Net Remoting est linfrastructure de la platefrome.net qui permet à des objets situés dans des domaines dapplications différents, de pouvoir se connaître et de pouvoir communiquer entre eux.

4 Objectif

5 Marshalisation et sérialisation.Net Remoting présente 2 solutions pour lappel de méthodes sur des objets distants: –Marshaling By Reference (MBR) –Marshaling By Value (MBV)

6 Marshaling By Reference Appel de lobjet distant au travers un proxy transparent. Nécessite: –Davoir un accès que les métadonnées du type distant soient accessible à la compilation. –Lobjet serveur doit dériver de la classe MarshalByRefObject.

7 DEMO 1 MBR Code client et serveur dans le même assemblage. Domaine dapplication client et serveur dans le même processus.

8 Marshalling By Value Fabrication locale dun clone de lobjet distant (via serialisation et deserialisation). Le clone prend exactement le même état que lobjet distant au moment de sa création. Le clone nest pas un objet distant il ny a donc pas besoin de proxy transparent. Aucun constructeur nest appelé sur le clone, car il a déjà été appelé sur lobjet distant. Nécessite : –De pouvoir charger lassemblage distant. –Lobjet distant ne doit pas contenir de références vers des objets non clonables.

9 Comportement: –Létat du clone et de lobjet original sont indépendants. –Les changements de lun naffecte pas lautre.

10 DEMO 2 MBV Code client et serveur dans le même assemblage. Domaine dapplication client et serveur dans le même processus.

11 UnWrap Le.net framework scinde lopération de récupération dun objet distant en 2 étapes: –Récupération dune instance de classe. –UnWrappage de cette instance. ObjectHandle hObj = appDomain.CreateInstance("Remoting_Demo3_MBR", "Foo"); Foo obj = (Foo)hObj.Unwrap(); Il est possible deffectuer les deux opérations simultanément via: Foo obj = (Foo)appDomain.CreateInstanceAndUnwrap("Remoting_Demo3_MBR", "Foo");

12 Demo3 Avec MBR Pas dappel de constructeur de classe car le proxy nest pas de même type que lobjet distant Avec MBV Le constructeur de dinstance nest pas appelé lors de la création du clone

13 Architecture distribuée Domaine dapplication du Client –Assemblage contenant le code du client. –Assemblage(s) contenant seulement les métadonnées de types des objets serveurs. Domaine dapplication du Serveur –Assemblage contenant le code de lhôte. –Assemblage(s) contenant les implémentations des objets serveurs et des métadonnées des types des objets serveurs.

14 Responsabilité dun hôte Créer un ou plusieurs canaux. Exposer des classes ou des objets serveurs accessibles par les clients au travers dURIs (Universal Ressource Identifier). –Mode daccès. –Nom du serveur. –Identification de la ressource. Maintenir le processus qui contient les objets serveur (gestion de la durée de vie).

15 Canaux Objet permettant la communication à travers le réseau. Un canal est identifié par: –Le port utilisé pour la communication, –Le protocole de communication servant à transporter les données (TCP, HTTP, IPC,…), –Le formatage des données, décrivant la façon dont celle-ci sont écrient (binaire, SOAP, XML,…) Pour établir une communication il faut 2 canaux avec le même protocole et le même formatage de données, un coté client et un coté serveur.

16 Formatteurs

17 Activation dobjet En.Net Remoting on parle dactivation dobjet et non de création. Lactivation regroupe lensemble des processus induit entre la demande de création et la mise à disponibilité de lobjet distant. Différents modes dactivation: –Activation par le Serveur singleCall. Singleton. –Activation par le Client

18 Activation par le serveur Le client na pas a connaitre la classe dont lobjet distant est instance mais uniquement les interfaces daccès à cet objet. Les définitions dinterfaces sont regroupées dans un ou plusieurs assemblage spécialement prévu à cet effet. Ces assemblages sont connu par les clients et par lhôte exposant lobjet distant. Ces assemblages jouent le rôle de métadonnées de type des objets serveurs. Dans lactivation serveur, les objets sur le serveurs sont créés lors de lappel dune méthode. Les objets ne sont pas créés au moment de la déclaration dune instance avec new. Un objet activé par le serveur peut être créé en tant que Singleton ou SingleCall

19 Architecture Interface.dll –Regroupe les déclarations des interfaces implémentées par les objets distribués. –Lutilisation dune interface permet de ne stocker chez le client quune description des classes auxquelles il a accès. –Les interfaces permettent aussi de pouvoir mettre à jour le code de lobjet publié, sans toucher aux clients. Serveur.exe –Implémente les types des objets distribués. –Référence Interface.dll qui permet de définir les accès aux objets distribués. –Contient le code de gestion du serveur permettant la publication des objets distribués. Client.exe –Référence Interface.dll pour pouvoir accéder aux objets distants. –Contient le code permettant détablir laccès distant aux objets. –Contient le code métier de lapplication cliente exploitant les objets distribués.

20 SingleCall Le système daccès distant crée un objet pour chaque méthode cliente appelant lobjet distant.

21 Démo 4 Net Remoting Activation par le serveur: single Call

22 Singleton

23 Activation client

24 Gestion de la durée de vie

25 Configuration du serveur

26 Configuration du Client

27 Modèle de déploiement

28 Sécurisation


Télécharger ppt ".Net Remoting. Plan de cours Domaines dapplications: –Programmation distribuées. Utilisation des namespaces: –System.Serializable. –System.Runtime. –System.Runtime.Remoting."

Présentations similaires


Annonces Google