Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parBertrand Savard Modifié depuis plus de 7 années
1
Windows NT/2000/XP Enjeux et contraintes techniques
Quatrième partie Pré-requis à COM Notion de bus de composants logiciels (Object Request Broker) C. Casteyde Document diffusé sous licence GNU FDL
2
Plan Notion d'Object Request Broker Notion de composant
Notion d'interface Services classiques Localisation, gestion du cycle de vie et persistance Marshalling et transport des requêtes Notifications IDL et introspection Liaison tardive et scripting Sécurité
3
Notion de composant Extension de la notion d'objet
Les objets constituent des intervenants autonomes de l'application Ils peuvent être déployés localement (in-process ou out-of-process) ou sur le réseau simplement Le système fournit les services de base d'accès via un « gestionnaire de requêtes entre objets » (ORB) ORB = « Object Request Broker »
4
Notion de composant Les communications entre objets sont standardisées
La notion d'interface est la base du système Le système prend complètement en charge les communications entre les objets Les appels de procédure et de méthodes à distance se font de manière transparente Système de « RPC objet » Le standard de communication est imposé par les méthodes d'invocation de l'ORB RPC = « Remote Procedure Call »
5
Plan Notion d'Object Request Broker Notion de composant
Notion d'interface Services classiques Localisation, gestion du cycle de vie et persistance Marshalling et transport des requêtes Notifications IDL et introspection Liaison tardive et scripting Sécurité
6
Notion d'interface Une interface est un « contrat de service » exposé par un objet Il s'agit souvent d'une série de méthodes utilisables via l'ORB Les conventions d'appel et la signature sont parfaitement définies Utilisent les types de données de l'ORB
7
Notion d'interface Machine A Objet 2 Objet 1 Machine B Objet 3
8
Plan Notion d'Object Request Broker Notion de composant
Notion d'interface Services classiques Localisation, gestion du cycle de vie et persistance Marshalling et transport des requêtes Notifications IDL et introspection Liaison tardive et scripting Sécurité
9
Services standards Les ORBs fournissent des services de base :
localisation et création des objets répartis, gestion de la durée de vie des objets, gestion de la persistance, communication et acheminement des requêtes, découverte dynamique des fonctionnalités, description des interfaces, appels dynamiques de méthodes, sécurité.
10
Localisation et création des objets
Les objets sont placés dans des processus serveurs Ces processus peuvent être : lancés à la demande, contactés par les clients. Nécessite un mécanisme de nommage des objets Nécessite un mécanisme d'enregistrement des serveurs Nommage pour retrouver les objets existants Enregistrement pour pouvoir retrouver les serveurs sur activation
11
Gestion de la durée de vie
Les objets peuvent être persistants ou éphémères (« transient ») Les comptes de références sont souvent utilisés La libération des ressources est garantie par le système Pertes de liaison et chute des clients sont prises en compte
12
Gestion de la persistance
Les objets doivent se sérialiser eux-mêmes Le système définit les mécanismes de sérialisation et de réinstanciation Les informations sur la classe sont stockées pour la réinstanciation La persistance est utile pour déplacer les objets
13
Plan Notion d'Object Request Broker Notion de composant
Notion d'interface Services classiques Localisation, gestion du cycle de vie et persistance Marshalling et transport des requêtes Notifications IDL et introspection Liaison tardive et scripting Sécurité
14
Transport des requêtes
Les appels distants sont transparents et portables Marshalling des requêtes effectué par le système : les appels sont interceptés automatiquement par des « Proxies », ils sont reproduits sur l'objet cible par des « Stubs », nécessite un mécanisme de description des requêtes (statique ou dynamique). Gestion des erreurs technique (perte de liaison)
15
Marshalling et proxies
Machine A Client Proxy IServer Machine B Stub Serveur Canal privé
16
Plan Notion d'Object Request Broker Notion de composant
Notion d'interface Services classiques Localisation, gestion du cycle de vie et persistance Marshalling et transport des requêtes Notifications IDL et introspection Liaison tardive et scripting Sécurité
17
Service de notifications
Mécanisme de callbacks Abonnement et désabonnement dynamiques Détermination des événements disponibles Service de délivraison asynchrone ou non Multicasting possible Services de boîte aux lettres
18
Service de notifications
Client Service de notifications Serveur Abonnement Diffusion
19
Plan Notion d'Object Request Broker Notion de composant
Notion d'interface Services classiques Localisation, gestion du cycle de vie et persistance Marshalling et transport des requêtes Notifications IDL et introspection Liaison tardive et scripting Sécurité
20
Description des interfaces
Les interfaces doivent pouvoir être décrites dynamiquement (hors compilation) Impératif pour interpréter les requêtes (Marshalling) Impératif pour construire les requêtes (cf. plus loin) Généralement implémenté par un IDL (Interface Description Language)
21
Découverte de fonctionnalités
L'implémentation des interfaces peut être facultative pour un objet Nécessité de déterminer dynamiquement les fonctionnalités Fondamental pour le polymorphisme et l'intégration Plus un objet gère d'interfaces, meilleure est l'intégration
22
Plan Notion d'Object Request Broker Notion de composant
Notion d'interface Services classiques Localisation, gestion du cycle de vie et persistance Marshalling et transport des requêtes Notifications IDL et introspection Liaison tardive et scripting Sécurité
23
Late binding Permet de construire des appels dynamiquement
Permet l'intégration de composants inconnus à la compilation Permet de réaliser des conteneurs génériques Rend les objets scriptables Nécessite un mécanisme de description des requêtes
24
Plan Notion d'Object Request Broker Notion de composant
Notion d'interface Services classiques Localisation, gestion du cycle de vie et persistance Marshalling et transport des requêtes Notifications IDL et introspection Liaison tardive et scripting Sécurité
25
Sécurité Le système doit assurer la sécurité
Sécurité au niveau de la connexion Confidentialité et authenticité des appels Prise de l'identité des clients pendant les requêtes Requiert un mécanisme d'identification des clients
26
Conclusion Généralisation de la notion d'objet
Souplesse de la répartition Transparence des appels réseau Réutilisation de code Scripts par Automation
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.