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

Services communs CORBA. Les services communs CORBA z Service de recherche dobjets : pour retrouver un objet Nommage (Naming) : par un nom : service de.

Présentations similaires


Présentation au sujet: "Services communs CORBA. Les services communs CORBA z Service de recherche dobjets : pour retrouver un objet Nommage (Naming) : par un nom : service de."— Transcription de la présentation:

1 Services communs CORBA

2 Les services communs CORBA z Service de recherche dobjets : pour retrouver un objet Nommage (Naming) : par un nom : service de « pages blanches » Vendeur (Trader) : par des propriétés: service de « pages jaunes z Services concernant la vie des objets : Life Cycle, Property, Relationship, Externalization, Persistent Object, Query, Collection, Versionning, Time, Licencing zServices de sûreté de fonctionnement : Security, Transactions, Concurrence z Services de communications asynchrones: Events, Notification, Messaging

3 Les services communs CORBA : historique + 1er RFP : Nommage, Cycle de vie, Notification d'événements, Persistance. + 2ème RFP : Transactions, Concurrence d accès, Externalisation, Relations. + 3ème RFP : Sécurité, Serveur de temps. + 4ème RFP : Propriétés, License, Serveur de requêtes. + 5ème RFP : Annuaire par fonctionnalités, Collection, Gestionnaire de versions.

4 Services Nommage et/ou Vendeur Bus dobjets répartis CORBA sur Internet (IIOP) Serveur C++Client Java Repertoire Traitement IOR Service de recherche dobjets IOR Les services de recherche dobjets CORBA

5 Le service Vendeur Le service vendeur ou Trader service permet : * d enregistrer des objets auprès de ce service en les caractérisant par un ensemble de propriétés. * de retrouver un service en précisant son type et les critères le caractérisant (différentes politiques de recherche possibles) Opérations principales découvrir et importer des services : Interface LookUp : query (type de service recherché, contraintes, préférences, politique de recherche, ….) parcourir les réponses : Interface OfferIterator mise à jour du service Vendeur : Interface Register export, withdraw …...

6 Directory Service Retour sur JNDI et LDAP

7 Directory Service Naming + attributs

8 Les fonctions de base void bind( String stringName, Object object, Attributes attributes ) Même méthode que Context, mais avec un paramètre de plus : les attributs. Idem rebind, lookup Idem createSubcontext Créé à partir de InitialDirContext

9 GetAttributes 2 formes possibles Attributes getAttributes( String stringName ) Attributes getAttributes( String stringName, String [] rgstringAttributeNames )

10 modifyAttributes void modifyAttributes( String stringName, int nOperation, Attributes attributes ) Avec les op é rations : ADD_ATTRIBUTE, REPLACE_ATTRIBUTE, et REMOVE_ATTRIBUTE

11 Search La forme la plus simple passe une liste d'attributs Il est possible d'utiliser des filtres selon la norme RFC 2254 Les contrôles permettent la mise en forme des résultats (par exemple tri ascendant, etc…)

12 Search : pour faire des requêtes NamingEnumeration search( String stringName, Attributes attributesToMatch ) On peut utiliser des filtres de recherche selon la sp é cification RFC 2254: (cn=Babs Jensen) (!(cn=Tim Howes)) (&(objectClass=Person)(|(sn=Jensen)(cn=Babs J*))) (o=univ*of*mich*) NamingEnumeration search(Name stringName, String stringRFC2254Filter, SearchControls searchcontrols)

13 Search : contrôle de la recherche On peut utiliser des contrôles permettant : –De définir les attributs à renvoyer –De définir la portée de la recherche (récursive en arbre, locale…) –Le nombre maximum de réponses –Le temps maximum d'attente –De renvoyer ou non l'objet Java associé –De déréférencer ou non les liens

14 Un exemple String filter = "(objectclass=Inetorgperson)"; SearchControls controls = new SearchControls(); controls.setSearchScope(SearchControls.SUBTREE_SCOPE); controls.setReturningObjFlag(false); controls.setReturningAttributes(attrIds); try { NamingEnumeration enumDev = initCtx.search("ou=people", filter, sc);

15 Utilisation d'un SearchResult while (enumDev.hasMore()) { SearchResult sr = (SearchResult)enumDev.next(); Attributes attributes = sr.getAttributes(); NamingEnumeration ne = attributes.getAll(); while (ne.hasMore()) { Attribute attr = (Attribute) ne.next(); String attrID = attr.getID(); NamingEnumeration values = attr.getAll();... while (values.hasMore()) child.add( new DefaultMutableTreeNode(values.nextElement())); }

16 Résumé : Directory Mêmes méthodes que Context Créé à partir de InitialDirContext Rajoute la gestion des attributs Rajoute les fonctions de recherche

17 Le service de Concurrence Le service de Concurrence ou Concurrency control service permet de contrôler laccès à un objet de manière à gérer la cohérence et la consistance des opérations entre cet objet et les objets quil accède ou bien qui laccèdent. Il permet de créer des verrous répartis et de spécifier le type de verrou crée (lecture, écriture, mise-à-jour etc...).

18 Le service de Transaction Le service de Transaction ou Transaction service permet dassurer la consistance des traitements en respectant les propriétés ACID (Atomicité, Consistance, Isolation et durabilité) des transactions. Il permet : de commencer et de terminer une transaction; de contrôler la propagation dune transaction; dassocier plusieurs objets répartis à une seule et même transaction; de coordonner la terminaison dune transaction (2 phase commit).

19 Le service dExternalisation Le service dExternalisation ou Externalization service permet : lexternalisation dun objet, cest à dire la représentation de létat de lobjet dans une séquence doctets (en mémoire, sur disque, sur réseau) transportable, de durée de vie illimitée indépendante de lenvironnement (ORB) dorigine. linternalisation des données, impliquant la création dun nouvel objet dans le même environnement ou dans un environnement différent.

20 Le service Cycle de vie Le service Cycle de vie ou Life cycle service permet : + de gérer la création, la destruction, la copie et le déplacement des objets du bus; + les objets sont créés par lintermédiaire dobjets appelés Factories dont la référence est accessible au client; + un objet est détruit, copié ou déplacé à laide dopérations définies dans linterface de base LifeCycleObject;

21 Le service de Relations Le service de Relations ou Relationships service permet détablir dynamiquement des relations entre les objets distribués. Une relation est définie par un rôle, un degré, une cardinalité et des attributs. Trois niveaux de services : basique : service de base permettant de créer les relations et les objets et de naviguer à travers la relation, de détruire la relation; graphes dobjet en relation; relations spécifiques : Containment (1-n) et référence (n-m).

22 Sécurité et temps Le service de Sécurité (Security) permet de gérer les fonctions suivantes : authentification autorisation sûreté et intégrité des communications encryptage administration de la sécurité Le service de Temps (Time) permet la synchronisation périodique dhorloges dans tous les composants dun système réparti.

23 Le service de notification d'événements La plupart des requêtes CORBA se traduisent par lexécution synchrone dune opération (le client connaît la référence de lobjet auquel la requête sadresse et le client ainsi que lobjet doivent être tous deux actifs) et sinon? Le service d'Evénements ou Event service permet de découpler la communication entre objets. Mode de communication découplé : lorsque le client et lobjet ne se connaissent pas; lorsque le client et lobjet ne sont pas actifs simultanément.

24 Communication événementielle principes de fonctionnement concepts de base : événements, réactions (traitements associés à loccurrence dun événement) principe dattachement : association dynamique entre un nom dévénement et une réaction communication anonyme : indépendance entre lémetteur et les consommateurs dun événement

25 Un canal dévènements Producteur Consommateur Canal Flot des évènements

26 Un canal dévènements : notification Producteur Consommateur Canal Producteur actif / Consommateur réactif Le canal diffuse les évènements Push PushSupplier PushConsumer void push(in any data) raises(Disconnected);

27 Un canal dévènements : demande Producteur Consommateur Canal Producteur réactif / Consommateur actif Le canal procure les évènements Pull() demande PullSupplier { //demande de production dun événement any pull() raises(Disconnected); // présence dun événement any try_pull(out boolean has_event) raises(Disconnected);

28 Un canal dévènements : file dévènements Producteur Consommateur Canal Producteur actif / Consommateur actif Le canal gère des files dévènements Push() Pull()

29 Un canal dévènements : collecte dévènements Producteur Consommateur Canal Producteur réactif / Consommateur réactif Le canal est une entité active voire intelligente Pull() Push()

30 4ème RFP Le service de Propriétés (Properties) permet dassocier dynamiquement une liste de propriétés à un objet. Il est possible dajouter, de supprimer, de modifier et de retrouver toute propriété associée à un objet. Le service dinterrogations (Query) permet dexprimer des requêtes sur des ensembles dobjets CORBA. Le service de License (Licensing) contrôle et gère les rémunérations associées à lutilisation dun service objet donné.

31 5ème RFP Le service de Gestion des versions (Change Management) permet de gérer lévolution des versions des interfaces des objets ainsi que de l'adéquation avec leurs implémentations. Le service dAnnuaire par fonctionnalités (Trader) permet dassocier des fonctionnalités à des objets CORBA. Le client utilise ce service comme lannuaire des pages jaunes. Le service de Collection (Collection) permet de créer et de manipuler des collections dobjets.

32 Taxonomie des services Nommage + Annuaire par fonctionnalités Persistance + Externalisation Cycle de vie + Relation Serveur de requêtes + Collections + Properties Transaction + Concurrence Sécurité + License Gestionnaire des versions Time Event

33 CORBA Services en résumé Naming –How are objects found? Events –Standardized mechanism for client notifications. LifeCycle –How are objects created, moved, duplicated and deleted? Trader –Find objects that have certain properties Transactions –Distributed 2-phase commit –Interfaced with the XA standard Security –Complete distributed security Persistent Object –Save objects to databases Concurrency –Managing simultaneous access Licensing –Managing licensed services Externalization –External representation of objects Relationship –Manage relationships between objects that don't know about each other Query –Query objects on the network


Télécharger ppt "Services communs CORBA. Les services communs CORBA z Service de recherche dobjets : pour retrouver un objet Nommage (Naming) : par un nom : service de."

Présentations similaires


Annonces Google