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

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

Embed Size (px)

Citation preview

Page 1: 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

Active XML

Présenté parFrédéric DANG NGOC

Page 2: 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

2

PlanIntroductionI. Conception

1. Le langage Active XML2. Les services3. Un exemple : un système de vente aux

enchères peer-to-peer

II. Implémentation1. L’architecture d’AXML2. Evaluation des services3. Sécurité

Conclusion

Page 3: 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

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

Page 4: 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

4

I. Conception

1. Le langage Active XML2. Les services3. Un exemple : un système de vente

aux enchères peer-to-peer

Page 5: 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

5

I. 1. Le langage Active XML

Document XML Contient des appels de services

Page 6: 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

6

Schéma simple des appels de services

ActiveXMLdocument

Serveur AXML

service service service

XML repository

SOAP server

service service service

XMLdocumen

t

XMLdocumen

t

Page 7: 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

7

Schéma plus complexeServeur AXML

service service service

AXML repositoryAXML

documentAXML

document

Serveur AXML

service service

AXML repositoryAXML

documentAXML

document

AXMLdocument

service

Serveur AXML

service service service

AXML repositoryAXML

documentAXML

document

Page 8: 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

8

Exemple d’un document AXML<axml id="games">

<ed name="microsoft"><sc>microsoft.com/GetAllGames()</sc>

</ed><ed name="Ubisoft">

<sc>jeux.ubisoft.com/RecupereListeJeux()</sc></ed>

</axml>

Page 9: 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

9

Résultat évalué<axml id="games">

<dep name="microsoft"><sc>microsoft.com/GetGames()</sc><game>Flight Simulator 2002</game><game>Age of Empire</game>

</dep><dep name="Ubisoft">

<sc>jeux.ubisoft.com/RecupereListeJeux()</sc>

<game>Rayman</game></dep>

</axml>

Page 10: 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

10

Paramètres d’un appel de service Durée de validité Fréquence de rafraichissement Mode

Lazy (paresseux) Immediate

Permet de s’adapter à différents style d’inté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) AXMLdocument

appel deservice

requête

Serveur AXML

appel deservice

requête

Serveur AXML

AXMLdocumentservice service

Page 11: 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

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 d’un service

Page 12: 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

12

Exemple<axml id="user25">

<servers><serv>book.com/getBooks</serv><serv>amazon.com/books</serv>

</servers>

<category name="sf_book"><sc>[../../servers/serv]("SF")</sc>

</category><category name="history_book">

<sc>history.com/getBooks([../@name])</sc><sc>babel.com/tr_fr2en(<sc>livre.fr/livres("histoire")</sc>)</sc></category>

</axml>

Page 13: 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

13

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

Page 14: 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

14

Service

<vin> <nom>Vin de Pays d'Oc</nom> <couleur>rouge</couleur> <region>Languedoc</region> <annee>2000</annee> <prix>4,88 €</prix></vin><vin> <nom>Château Charron</nom> <couleur>rouge</couleur> <domaine>Vignobles Germain</domaine> <region>Premières Côtes de Blaye</region> <annee>1999</annee> <prix>5,34 €</prix></vin>

<vin> <nom>Côté Tariquet</nom> <couleur>blanc</couleur> <domaine>Domaine du Tariquet</domaine> <region>Côte de Gascogne</region> <annee>2000</annee> <prix>5,79 €</prix></vin>

Page 15: 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

15

Déclaration d’un servicelet sc vin.com/GetRedWine() befor $a in document("vin.com/vins.xml")/vin,where $a/couleur/text()="rouge"return <wine name={ $a/nom/text() } year={

$a/annee/text() }> <color>{ $a/couleur/text() }</color> <price>{ $a/price/text() }</price> </wine>

Page 16: 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

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

Page 17: 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

17

I. 3. Un Exemple : un système de ventes aux enchères P2P

Tous les pairs peuvent connaîtredes informations sur les objets

proposéspar ses pairs voisins et proposer une

offrepour ces enchères. Chaque pair peutproposer ses objets pour lesquels lesautres pairs peuvent renchérir.

Page 18: 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

18

HypothèseChaque pair va avoir : Documents AXML

myAuctions.axml knownAuctions.axml

Services getAuctions ($category) getMyAuctions () placeBid ($auctionID, $bid) getHighestBid ($auctionID)

Page 19: 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

19

Schéma

getMyAuctiongetHighestBid

AXML repository

myAuctions.axml

knownAuctions.axml

placeBid getAuctions

AXML peer

getMyAuction

getHighestBid

AXML repository

myAuctions.axml

knownAuctions.axml

placeBid getAuctions

AXML peer

Peer 5

Peer 10

getMyAuctiongetHighestBid

AXML repository

myAuctions.axml

knownAuctions.axml

placeBid getAuctions

AXML peer

Peer 3

Page 20: 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

20

TerminaisonmyAuctions.axml document

<auction aId="1"> <heldBy>peer10</heldBy> <item>XBOX</item> <bid> <who>peer5</who> <amount>$300</amount> </bid> <bid>…</bid> ... <sc mode="immediate" frequency="on March 1st"> closeAuction([..]) </sc></auction>

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) </sc> <status>auctions closed</status>

Page 21: 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

21

II. Implémentation

1. L’architecture d’AXML2. Evaluation des services3. Sécurité

Page 22: 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

22

II. 1. Architecture d’Active XML

XQueryprocessor Evaluator

query

AXML servicedefinitions

readupdate read

updateconsults SOAP

wrapper

SOAP

AXML peer S2

SOAP

AXML peer S3

SOAPservice

SOAP client

AXML peer S1

service call service result

AXML storage

Page 23: 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

23

Architecture d’un pair AXML

SOAP/WSDL wrapperWSDD

Evaluator

XQuery

AXMLrepositoryWork Space

AXMLProvider

AXML peer

Page 24: 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

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

Page 25: 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

25

II. 2. Evaluation des services Evaluation des services en mode

immediate Evaluation des services en mode

lazy

Page 26: 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

26

Appel en mode immédiat Election des services pouvant être

appelés Traiter les appels de services

Appel non-concret Appel concret

Page 27: 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

27

Appel non-concret<axml>

<author>David Eddings</author><author>Douglas Adams</author><author>Rick Cook</author>

<type>Fantasy</type><type>Humoristic</type>

<books><sc>amazon.com/getBooks([../../author],

[../../type])</sc></books>

</axml>

Page 28: 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

28

Appel non-concretEvaluer les paramètres XPath p1, p2, …, pn dans f1, f2,

…, fnPour chaque x=(x1, x2, …, xn)є(f1, f2, …, fn) faire

créer l’appel de service avec pour paramètre (x1, x2, …, xn)le mettre dans le workspace

Attendre que chaque appel de service soit finiFIN

Page 29: 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

29

Appel concretPour chaque paramètre

Si c’est un appel de servicecréer l’appel de service correspondantle mettre dans le workspace

Attendre que tous les appels de services soient finisSi c’est un appel de service local

exécuter le serviceattendre la fin de ce service

Sinon si c’est un appel distantexécuter l’appel de service distantattendre le résultat

Pour chaque appel de service se trouvant dans le résultat fairecréer l’appel de service correspondantle mettre dans le workspace

Attendre que tous les appels de service soient finisEnvoyer le résultat qui sera inséré dans le document AXMLSi le service appelé est non continu, FIN

Page 30: 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

30

Appel en mode lazy Dépendance des appels de service Election des services pouvant être

appelés Traiter les appels de services

Page 31: 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

31

Dépendances entre appels de services

sc1

sc2

consulted byXPath parametersof sc1

modifiedby activationof sc2

Page 32: 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

32

II. 3. Sécurité Appel de service par un autre

serveur AXML<quote><sc>qod.com/QuoteOfDay(<sc>buy.com/BuyCar ("BMW Z3")</sc>)</quote>

Cheval de Troie dans le résultat du service

<quote>Love means never having to say you’re sorry<sc>buy.com/BuyCar ("BMW Z3")</sc></quote>

<sc>i.am.bad/SneakAbout([../../*])</sc>

Page 33: 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

33

Solution Chaque pair va définir pour chacun

des services publiés le type d’argument accepté (binding policy)

Chaque pair va définir pour chacun de ses services les pairs qui ont le droit de les appeler (trust policy)

Page 34: 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

34

Conclusion Un système flexible Gestion de l’hétérogénéité des

données Projet encore jeune donc du travail

encore à faire…

Page 35: 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

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 Languagehttp://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