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

Active XML Présenté par Frédéric DANG NGOC. 2 Plan Introduction I.Conception 1.Le langage Active XML 2.Les services 3.Un exemple : un système de vente.

Présentations similaires


Présentation au sujet: "Active XML Présenté par Frédéric DANG NGOC. 2 Plan Introduction I.Conception 1.Le langage Active XML 2.Les services 3.Un exemple : un système de vente."— Transcription de la présentation:

1 Active XML Présenté par Frédéric DANG NGOC

2 2 Plan Introduction I.Conception 1.Le langage Active XML 2.Les services 3.Un exemple : un système de vente aux enchères peer-to-peer II.Implémentation 1.Larchitecture dAXML 2.Evaluation des services 3.Sécurité Conclusion

3 3 Introduction Web Services Documents avec appels de services Intégration de données Mediateur Data Warehouse Architecture peer-to-peer Base de données distribuées

4 4 I. Conception 1.Le langage Active XML 2.Les services 3.Un exemple : un système de vente aux enchères peer-to-peer

5 5 I. 1. Le langage Active XML Document XML Contient des appels de services

6 6 Schéma simple des appels de services ActiveXML document Serveur AXML service XML repository SOAP server service XML document XML document

7 7 Schéma plus complexe Serveur AXML service AXML repository AXML document AXML document Serveur AXML service AXML repository AXML document AXML document AXML document service Serveur AXML service AXML repository AXML document AXML document

8 8 Exemple dun document AXML microsoft.com/GetAllGames() jeux.ubisoft.com/RecupereListeJeux()

9 9 Résultat évalué microsoft.com/GetGames() Flight Simulator 2002 Age of Empire jeux.ubisoft.com/RecupereListeJeux() Rayman

10 10 Paramètres dun appel de service Durée de validité Fréquence de rafraichissement Mode Lazy (paresseux) Immediate Permet de sadapter à différents style dintégration de données Mediator style (mode=lazy, valid=0) Mediator style with caching (mode=lazy, valid > 0) Warehousing mode with pulling (mode=immediate, valid > frequency) Warehousing mode with pushing (mode=immediate, valid > 0, continuous) AXML document appel de service requête Serveur AXML appel de service requête Serveur AXML AXML document service

11 11 Modularité Utilisation de XPath pour les paramètres du service Utilisation du XPath pour les appel du service Paramètre du service peut être le résultat dun service

12 12 Exemple book.com/getBooks amazon.com/books [../../servers/serv]("SF") history.com/getBooks([../@name]) babel.com/tr_fr2en( livre.fr/livres("histoire") )

13 13 I. 2. Les services Requête XQuery Retourne des données AXML

14 14 Service Vin de Pays d'Oc rouge Languedoc 2000 4,88 Château Charron rouge Vignobles Germain Premières Côtes de Blaye 1999 5,34 Côté Tariquet blanc Domaine du Tariquet Côte de Gascogne 2000 5,79

15 15 Déclaration dun service let sc vin.com/GetRedWine() be for $a in document("vin.com/vins.xml")/vin, where $a/couleur/text()="rouge" return { $a/couleur/text() } { $a/price/text() }

16 16 Modularité du service Service continu ou non Un service s1 mis en paramètre du service s2 peut être exécuté au niveau du serveur qui gère s2 Peut retourner un appel de service

17 17 I. 3. Un Exemple : un système de ventes aux enchères P2P Tous les pairs peuvent connaître des informations sur les objets proposés par ses pairs voisins et proposer une offre pour ces enchères. Chaque pair peut proposer ses objets pour lesquels les autres pairs peuvent renchérir.

18 18 Hypothèse Chaque pair va avoir : Documents AXML myAuctions.axml knownAuctions.axml Services getAuctions ($category) getMyAuctions () placeBid ($auctionID, $bid) getHighestBid ($auctionID)

19 19 Schéma getMyAuctiongetHighestBid AXML repository myAuctions.axmlknownAuctions.axml placeBidgetAuctions AXML peer getMyAuction getHighestBid AXML repository myAuctions.axmlknownAuctions.axml placeBid getAuctions AXML peer Peer 5 Peer 10 getMyAuctiongetHighestBid AXML repository myAuctions.axmlknownAuctions.axml placeBidgetAuctions AXML peer Peer 3

20 20 Terminaison myAuctions.axml document peer10 XBOX peer5 $300 …... <sc mode="immediate" frequency="on March 1st"> closeAuction([..]) closeAuction service let sc closeAuction($a) be for $b in $a/bid where $b/amount=max($a/bid/amount) return <sc mode="immediate" frequency="now"> notifyWinner($b/who, $a/aID, $b/amount) auctions closed

21 21 II. Implémentation 1.Larchitecture dAXML 2.Evaluation des services 3.Sécurité

22 22 II. 1. Architecture dActive XML XQuery processor Evaluator query AXML service definitions read update read update consults SOAP wrapper SOAP AXML peer S2 SOAP AXML peer S3 SOAP service SOAP client AXML peer S1 service callservice result AXML storage

23 23 Architecture dun pair AXML SOAP/WSDL wrapperWSDD Evaluator XQuery AXML repository Work Space AXML Provider AXML peer

24 24 Langages et outils utilisés SOAP pour le protocole de communication WSDL pour définir les services et les attacher à un port Apache pour le serveur Web Tomcat pour les servlets AXIS pour SOAP Xerces pour le parseur XML

25 25 II. 2. Evaluation des services Evaluation des services en mode immediate Evaluation des services en mode lazy

26 26 Appel en mode immédiat Election des services pouvant être appelés Traiter les appels de services Appel non-concret Appel concret

27 27 Appel non-concret David Eddings Douglas Adams Rick Cook Fantasy Humoristic amazon.com/getBooks([../../author], [../../type])

28 28 Appel non-concret Evaluer les paramètres XPath p1, p2, …, pn dans f1, f2, …, fn Pour chaque x=(x1, x2, …, xn)є(f1, f2, …, fn) faire créer lappel de service avec pour paramètre (x1, x2, …, xn) le mettre dans le workspace Attendre que chaque appel de service soit fini FIN

29 29 Appel concret Pour chaque paramètre Si cest un appel de service créer lappel de service correspondant le mettre dans le workspace Attendre que tous les appels de services soient finis Si cest un appel de service local exécuter le service attendre la fin de ce service Sinon si cest un appel distant exécuter lappel de service distant attendre le résultat Pour chaque appel de service se trouvant dans le résultat faire créer lappel de service correspondant le mettre dans le workspace Attendre que tous les appels de service soient finis Envoyer le résultat qui sera inséré dans le document AXML Si le service appelé est non continu, FIN

30 30 Appel en mode lazy Dépendance des appels de service Election des services pouvant être appelés Traiter les appels de services

31 31 Dépendances entre appels de services sc1 sc2 consulted by XPath parameters of sc1 modified by activation of sc2

32 32 II. 3. Sécurité Appel de service par un autre serveur AXML qod.com/QuoteOfDay( buy.com/BuyCar ("BMW Z3") ) Cheval de Troie dans le résultat du service Love means never having to say youre sorry buy.com/BuyCar ("BMW Z3") i.am.bad/SneakAbout([../../*])

33 33 Solution Chaque pair va définir pour chacun des services publiés le type dargument accepté (binding policy) Chaque pair va définir pour chacun de ses services les pairs qui ont le droit de les appeler (trust policy)

34 34 Conclusion Un système flexible Gestion de lhétérogénéité des données Projet encore jeune donc du travail encore à faire…

35 35 Bibliographie [1]Active XML: A Data-Centric View Of Web Services (S. Abiteboul, O. Benjelloun, T. Milo) [2]Active XML: A Data-Centric Perspective on Web Services (S. Abiteboul, O. Benjelloun, I. Manolescu, T. Milo, R. Weber) [3]Object Fusion in Mediator System (Y. Papakonstantinou, S. Abiteboul, H. Garcia-Molina) [4]Towards a Flexible Model for Data and Web Services Integration (S. Abiteboul, O. Benjelloun, T. Milo) [5]XQuery 1.0: An XML Query Language http://www.w3.org/TR/xquery [6]Web Services Description Language (WSDL) http://www.w3.org/TR/wsdl [7]XML Path Language (XPath) http://www.w3.org/TR/xpath [8]Simple Object Access Protocol (SOAP) http://www.w3.org/TR/SOAP


Télécharger ppt "Active XML Présenté par Frédéric DANG NGOC. 2 Plan Introduction I.Conception 1.Le langage Active XML 2.Les services 3.Un exemple : un système de vente."

Présentations similaires


Annonces Google