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

© Patrick Valduriez - Page 1 II avec XML Intégration d'information avec XML Patrick Valduriez Lip6 Université Paris 6

Présentations similaires


Présentation au sujet: "© Patrick Valduriez - Page 1 II avec XML Intégration d'information avec XML Patrick Valduriez Lip6 Université Paris 6"— Transcription de la présentation:

1 © Patrick Valduriez - Page 1 II avec XML Intégration d'information avec XML Patrick Valduriez Lip6 Université Paris 6

2 © Patrick Valduriez - Page 2 II avec XML Bibliographie The XML Handbook. C. Goldfard, P. Prescod, Prentice Hall, 2000 Data on the Web. S. Abiteboul, P. Buneman, D. Suciu, Morgan Kaufmann, 1999 Principles of Distributed Database Systems (2nd ed.). T. Özsu, P. Valduriez, Prentice Hall, 1999 Object Technology. M. Bouzeghoub, G. Gardarin, P. Valduriez, Thomson Computer Press, en français chez Eyrolles,1997

3 © Patrick Valduriez - Page 3 II avec XML Plan Introduction à XML  DTD, XMLschema Manipulation de données XML  XPath, XSL, Xquery, DOM Intégration de données avec XML  architectures, stockage, médiateurs Intégration d'applications  SOAP, ebXML, Web services,.NET

4 © Patrick Valduriez - Page 4 II avec XML Couplage HTML-base de données Serveur HTTP dynamique  basé sur CGI, ne passe pas à l’échelle  serveur Web dédié aux BD, solution propriétaire Oracle WebDB, VersantWeb, etc. Pages serveurs dynamiques  MS Active Server Pages (ASP)  Java Server Pages (JSP)  Personal Home Pages (PHP)

5 © Patrick Valduriez - Page 5 II avec XML Page server dynamique Page HTML avec scripts pour accéder la base de données  variables et paramètres avec des tags spéciaux  templates pour la présentation des résultats en HTML Result of your selection "A1 " "A2 " %Q1.A1% %Q1.A2

6 © Patrick Valduriez - Page 6 II avec XML Limitations du couplage HTML-BD Solutions propriétaires  excepté JSP Pas de protocole pour publier les données  SQL n’est pas conçu pour le Web  transformations limitées avec les templates Pas de format d’échange de données standard: HTML est un format de présentation  mélange présentation et contenu  pas de structure, pas de sémantique, pas de contrainte d’intégrité  perd la structure (schéma) provenant de la BD

7 © Patrick Valduriez - Page 7 II avec XML La règle d’or (Goldfard) Le contenu doit être abstrait et indépendant du stockage et de la présentation  permet l’intégration uniforme de données hétérogènes provenant de différentes sources de données  permet des applications dynamiques la présentation doit pouvoir être différente selon le medium, le temps la requête ou le profil de l’utilisateur

8 © Patrick Valduriez - Page 8 II avec XML XML pour l’échange de données universel Le langage XML  standard du W3C  décrit le contenu, pas la présentation structure, type, schéma, requêtes, etc.  HTML   XML   SGML  indépendance des données au stockage et à la présentation supporte la règle d’or Facilite l’échange de données entre applications

9 © Patrick Valduriez - Page 9 II avec XML HTML décrit la présentation

10 © Patrick Valduriez - Page 10 II avec XML HTML Bibliography Principles of Distributed Database Systems Ozsu, Valduriez Prentice Hall, 1999 Data on the Web Abiteboul, Buneman, Vianu Morgan Kaufmann, 1999

11 © Patrick Valduriez - Page 11 II avec XML XML décrit le contenu Principles of Distributed Database Systems Ozsu Valduriez Prentice Hall 1999 Data on the Web Abiteboul Buneman Vianu Morgan Kaufmann 1999

12 © Patrick Valduriez - Page 12 II avec XML Différences avec HTML Les utilisateurs peuvent définir leurs propres tags pour indiquer la structure  plus verbeux que HTML Un document XML ne fournit pas d’instruction pour la présentation  dans des stylesheets séparés pour convertir en HTML Les structures peuvent être arbitrairement imbriquées Un document XML peut avoir une description optionnelle de sa grammaire (DTD)

13 © Patrick Valduriez - Page 13 II avec XML Terminologie Tags: book, title, author  similaire aux attributs dans une base de données Markups: start tag, end tag Les données sont du texte en PCDATA (Parsed Character Data)  caractères Unicode Eléments:...,... Elément vide: abbrv. Les éléments sont imbriqués Un document XML : élément racine

14 © Patrick Valduriez - Page 14 II avec XML Attributs Propriétés supplémentaires des tags  paires (nom= "valeur ") Principles of Distributed Database Systems Ozsu Valduriez...

15 © Patrick Valduriez - Page 15 II avec XML Identifiants et références Les éléments peuvent avoir des identifiants uniques, comme la valeur d’un certain attribut, utilisés comme références Ozsu Valduriez Principles of Distributed Database Systems Prentice Hall 1999

16 © Patrick Valduriez - Page 16 II avec XML Modèle de données semi-structuré Pas de schéma, données auto-descriptives Pas de typage Décrit par un graphe étiquetté  noeud = tag  feuille = tag + texte  arc étiquetté = référence Book TitlePublisherYear Prentice HallPrinciples of Person Name Ozsu Person Name Valduriez idref Authors

17 © Patrick Valduriez - Page 17 II avec XML Définition de type de document (DTD) Définit la structure logique du document  grammaire du document  contraint la structure avec typage faible Document valide  document bien formé conforme à sa DTD  vérifié par un parser

18 © Patrick Valduriez - Page 18 II avec XML DTD simple DTD pour un document contenant un nombre arbitraire de livres L’ordre des éléments est contraint

19 © Patrick Valduriez - Page 19 II avec XML DTD comme grammaire récursive DTD décrivant des arbres binaires et un document valide

20 © Patrick Valduriez - Page 20 II avec XML DTD comme schéma DTD pour le schéma relationnel r(a,b), s(c) Limitations  très verbeux  un seul type atomique (PCDATA)  pas de contrainte sur le type de IDREF

21 © Patrick Valduriez - Page 21 II avec XML XML Schema Schéma défini en XML  associe des types de données aux attributs et éléments Remplace les DTD  typage plus complet  namespaces En cours de standardisation par le W3C XML

22 © Patrick Valduriez - Page 22 II avec XML Motivations pour un langage de requêtes Granularité d’accès HTML = document (fichier) Langages de requêtes (SQL)  extraction rapide d’un sous-ensemble utile de la base  niveau de granularité arbitraire élément simple éléments multiples, combinés agrégats, etc. Pourquoi un langage de requêtes pour XML?  pour définir la granularité d’accès aux données XML éléments dans un document collections de documents navigation

23 © Patrick Valduriez - Page 23 II avec XML Expressions de chemins Modèle de données XML = graphe dont les noeuds sont des éléments Expression de chemins  séquence de noeuds T1.T2.....Tn  retourne un ou plusieurs noeuds Tn, tels qu’il existe des arcs T1  T2,... Tn-1  Tn, Book Author A1 Title T1 Book Author A2 db db.Book.Author Author A1 Author A2

24 © Patrick Valduriez - Page 24 II avec XML XPath Expressions de chemins XML standard  suit la notation URL  prédicats pour spécifier des éléments ou des valeurs d’attributs Brique de base pour d’autres standards XML  Xlink liens avec URL  Xpointer pour référencer l’intérieur d’un document  XSL  XQuery langage de requête pour docs XML

25 © Patrick Valduriez - Page 25 II avec XML Expressions XPath /l’élément racine /dbl’élément db sous root db/bookun élément book dans db db//book... à n’importe quelle attribut price attribut price dans book, dans db éléments book avec un attribut price avec une valeur price de 10 //book/para[2]le second paragraphe de n’importe quel élément book

26 © Patrick Valduriez - Page 26 II avec XML XSL Language de spécification de stylesheets  langage de transformation XSLT XML  XML XML  XHTML  langage de formatage XSLFO Programme XSLT = { règle de production} de la forme  si alors condition : match= production : action Traitement XSLT  application récursive des règles templates de la racine aux feuilles

27 © Patrick Valduriez - Page 27 II avec XML Exemple XSLT T1 A1 T2 A2 T3 A3 T1 T2 T3

28 © Patrick Valduriez - Page 28 II avec XML Exemple de génération HTML Book Titles Book Titles T1 T3

29 © Patrick Valduriez - Page 29 II avec XML XQuery Standard prévu fin 2001  proposé par Chamberlin (IBM), Florescu (Propel) et al.  basé sur XML-QL (AT&T Research)  très puissant sélection, projection, jointure, imbrication, agrégats, tri, etc. Requêtes  de la forme (simplifiée) for $ in, … where return  une forêt est sélectionnée par un document et une expression XPath

30 © Patrick Valduriez - Page 30 II avec XML Sélection en XQuery for $R in document(Guide)/Restaurant where $R/Adresse/Ville = "Agadir" return $R/Nom Noms des restaurants d'Agadir

31 © Patrick Valduriez - Page 31 II avec XML Jointure en XQuery for $R in document(GuideR)/Restaurant, $H in document(GuideH)/Hotel where$H//Rue like $R//Rue and $H//Nom = "Agadir" return $R/Nom $R/Tel Noms et tél. des restaurants dans la rue de l'hôtel Agadir

32 © Patrick Valduriez - Page 32 II avec XML Interfaces de programmation XML Pour manipuler (lire, écrire, transformer) des documents XML avec un programme, il faut  un parser pour lire le texte XML et reconnaitre sa structure vérifier que le document est bien formé vérifier que le document est valide (validating parser)  du code applicatif, appelé par le parser APIs standards pour XML  Simple API for XML (SAX)  Document Object Model (DOM)

33 © Patrick Valduriez - Page 33 II avec XML Où gérer le XML? Initialement, au niveau du serveur d'application  XML produit dynamiquement à partir de BD A terme, au niveau du SGBD  XML produit directement par des outils basés sur DOM  XML obtenu à partir d'accès à des sources de données hétérogènes

34 © Patrick Valduriez - Page 34 II avec XML XML comme modèle d'intégration Serveur d'application DB1 DB3 DB2 HTML  XMLXML  SQL XSL JDBC ODBC OLE DB

35 © Patrick Valduriez - Page 35 II avec XML XML comme modèle d'accès Serveur d'application DB1 DB3 DB2 HTML  XML Médiateur XML XSL XML Schema

36 © Patrick Valduriez - Page 36 II avec XML Gestion de données XML SGBD relationnel-objet  Oracle8i, IBM DB2, MS SQLServer8, Informix, Sybase SGBD orienté-objet  ODI eXcelon, Poet XML Repository Serveurs XML  SAG Tamino, BlueStone XML Server, Ipedo XML Database, XYZfind Server, X-Hive db, etc.

37 © Patrick Valduriez - Page 37 II avec XML Comment stocker un document XML? Problèmes  doc.= graphe d’éléments  schéma (DTD) optionnel Solutions  Binary Long Object (BLOB)  classes prédéfinies  tables relationnelles  classes spécifiques Book Person B1 Person Authors Book Person Authors Doc. B2 P1P2P3

38 © Patrick Valduriez - Page 38 II avec XML BLOB Chaque document est stocké comme un BLOB textuel  utilisé par les SGBDOR Forces  pas besoin de schéma  recherche textuelle Faiblesses  inefficace pour les grands docs Book Person B1 Person Authors Book Person Authors Doc. B2 P1P2P3

39 © Patrick Valduriez - Page 39 II avec XML Classes prédéfinies Chaque document est stocké comme un graphe d’objets éléments  utilisé par les SGBDOO Forces  pas besoin de schéma  navigation Faiblesses  n’exploite pas le placement et les index Elt.1Elt.2 Doc. Elt.3 Elt.5Elt.6 Elt.4 Elt.6

40 © Patrick Valduriez - Page 40 II avec XML Tables relationnelles Les éléments de documents sont groupés dans des tables  utilisé par les SGBDOR Forces  exploite le schéma  efficace pour de grands documents avec collections Faiblesses  surcoût de stockage pour les petits documents  navigation inefficace Books ID Title.... Authors B P1,P2 B P2,P3 Persons ID Name Org.... P P P3.....

41 © Patrick Valduriez - Page 41 II avec XML Classes spécifiques Chaque document est stocké comme un graphe d’objets de classes DTD  utilisé par les serveurs XML Forces  exploite le schéma et les index  navigation B1 Doc. B2 P1P2P3

42 © Patrick Valduriez - Page 42 II avec XML Support XML dans Oracle8i Parsers XML Processeurs XSL Générateurs de classes XML  pour créer des docs XML pour utilisation dans des apps, applets et JSP XML Java Beans  pour ajouter la visualisation XSQL Servlets  pour produire dynamiquement du XML ou du HTML à partir de requêtes SQL XML SQL utility  pour lire et écrire des docs XML dans la BD BLOB et tables relationnelles

43 © Patrick Valduriez - Page 43 II avec XML Traitement de XSQL select value(a) as Author from authors a where a.book.title=‘t...’ XSQL Servlet XSQL doc. XML parser XSL processor XML SQL Utilities XML doc. Schema Tables, BLOBs

44 © Patrick Valduriez - Page 44 II avec XML Tamino: serveur XML pour e-business native XML storage X-Machine XMLSQL SDK programming Adabas DB2,... E-business apps, e.g. Bolero HTTP Server XQL or URL/query XML X-Node Data mapping

45 © Patrick Valduriez - Page 45 II avec XML X-Machine Système de stockage et de recherche XML deTamino  stockage des objets XML avec des classes spécifiques data maps (schéma dérivé des DTD)  requêtes XML simple avec URL plus complexe avec XQL interpréteur de requêtes  transactions  utilitaires chargement de grand documents XML

46 © Patrick Valduriez - Page 46 II avec XML Architecture de médiation Source 1 Catalogue global MédiateurSource 2 Source 3 Requête Donne une vue globale des sources Adaptateur 1 Adaptateur 2 Adaptateur 3 Cachent l’hétérogénéité des sources Projet I3 (DARPA)

47 © Patrick Valduriez - Page 47 II avec XML Médiateur XML Schéma décomposition de la requête schéma local schéma local global composition du résultat schéma local Résultats Requêtes interfaces différentes XML Médiateur Source 1 Adaptateur 1 Source 2 Adaptateur 2 Source 3 Adaptateur 3 XQuery

48 © Patrick Valduriez - Page 48 II avec XML Intégration de données en relationnel Problèmes: renommage et introduction de valeurs nulles nomville P. Dupont A. Martin Paris Nantes nomFville Martin Smith Nantes Lille tel prenom Anne Jean prenomnom ville P. Dupont Martin A. Martin Smith Paris Nantes Lille Emp = null Anne null Jean tel null 0235… null

49 © Patrick Valduriez - Page 49 II avec XML Intégration en XML A. Martin Nantes Anne Martin Nantes Admet la différence d’éléments, mais plus verbeux

50 © Patrick Valduriez - Page 50 II avec XML Interrogation en Xquery for $e in document(db)/emp where $e/ville = "Nantes" return $e/nom $e/tel A. Martin Anne Martin

51 © Patrick Valduriez - Page 51 II avec XML Traitement de requête distribuée Optimiseur de requête Reformuler sur les schémas locaux Identifier les opérations exécutables par les adaptateurs Produire un plan d ’exéc. distribué Système d ’exécution Intégrer les résultats call résultat Adaptateur Requête

52 © Patrick Valduriez - Page 52 II avec XML Médiateurs XML e-XMML*Mediator d'e-XMLMedia (startup Prism)  découverte des sources, requêtes XQuery distribuées Xylème (startup Inria)  data warehouse XML, crawlers, requêtes distribuées sur cluster Nimble (startup U. Sealtle)  médiateur XML Xperanto (IBM Almaden)  vues XQuery sur SGBDR

53 © Patrick Valduriez - Page 53 II avec XML Problème avec les middlewares objet IIOP, DCOM and RMI  bien adapté à la comm. serveur-serveur  efficace avec la même solution (optimisée) Mais lourd pour la comm. client-serveur  IIOP: le même ORB sur TOUTES les machines  DCOM: Windows partout  RMI: Java partout

54 © Patrick Valduriez - Page 54 II avec XML Simple Object Access Protocol (SOAP) SOAP = HTTP + XML  proposé en 1998 par MS, DeveloperMentor, UserLand Software (Dave Winer)  basé sur XML RPC règles de codage des données en XML enveloppe: définit le contenu du message utilise la requête HTTP POST du client au serveur Objectifs  simple, passe au travers des firewalls (port 80)  portable, facilite l'accès aux Web services

55 © Patrick Valduriez - Page 55 II avec XML Message SOAP HTTP Header SOAP Envelope SOAP Header SOAP Body XML content Attachments (obligatoire): nom du message et namespace pour sa version de schéma (optionnel): extensions de protocole (obligatoire): méthode et paramètres

56 © Patrick Valduriez - Page 56 II avec XML Exemple SOAP Requête Réponse

57 © Patrick Valduriez - Page 57 II avec XML Envoi de message avec SOAP XML Parser HTTP Java VB C Perl etc. A component (e.g. EJB) XML Parser HTTP SOAP Processor API Application server SOAP Processor Java VB C Perl etc. API A component (e.g. COM) Application server TCP/IP

58 © Patrick Valduriez - Page 58 II avec XML Evaluation de SOAP Avantages  interopérabilité: SOAP/HTTP, SOAP/IIOP, etc.  simple  supporté par MS (in BizTalk), IBM/Apache Inconvénients  pas encore standardisé par le W3C  codage/décodage en XML peut être lourd

59 © Patrick Valduriez - Page 59 II avec XML ebXML Architecture standard pour le B2B  développée par l'organization ebXML (2000 membres), créé par OASIS et UN/CEFACT  première spec. en mars 2001 Objectif  Electronic Data Interchange (EDI) sur Internet échange standardisé d'information de commandes et de comptabilité framework extensible et interactif alternative bon-marché à l'EDI traditionnel  A adopté SOAP

60 © Patrick Valduriez - Page 60 II avec XML Web services Vision: le logiciel devient un service et les applications sont construites par assemblage de services Web, offerts par des fournisseurs différents Service Web = application fournie comme un service  adresse URL  interface bien définie (contrat)  facilement interopérable avec d’autres services standards Web, XML, SOAP Web services vs CORBA/DCOM  intégration de haut niveau, à gros grain  performances?

61 © Patrick Valduriez - Page 61 II avec XML Exemple : gestion de magasin on-line Application server Supplier (EJB) Bank (MVS/CICS) Credit card processing (COM+) Shipper (CORBA) User authentication (MTS) SOAP

62 © Patrick Valduriez - Page 62 II avec XML Microsoft.NET Evolution majeure de la plateforme Windows  les APIs Windows sont remplacées des bibliothèques de classes objet de haut niveau  intégration de C#  portabilité des applications.NET, grâce à un code intermédiaire (MSIL)  gestion mémoire  sécurité renforcée avec vérif. de code  Intégration avec COM  support direct des services Web, de XML et de SOAP avec Visual Studio.NET

63 © Patrick Valduriez - Page 63 II avec XML Le framework.NET Common language runtime System services Services framework Base Data Debug... ASP+ Web forms Web services Win forms

64 © Patrick Valduriez - Page 64 II avec XML C # (C sharp) Forces  intégration COM  accès API C et C++  env. de dévelopt VisualStudio.NET  soumis à standardisation Faiblesses  non portable  concurrent de Java Origine  Microsoft, 2000, pour la plateforme.NET Concepts objet  hybride VB/C++  pas de pointeurs  héritage simple  interface avec héritage multiple Concepts additionnels  ramasse-miette  versions  support natif de COM

65 © Patrick Valduriez - Page 65 II avec XML Evaluation des Web services Avantages  très haut niveau d'interopérabilité  facilite le développement d'applications distribuées  encourage une industrie orientée services Inconvénients  réingénierie gigantesque  problèmes de fiabilité/disponibilité  problèmes de performances

66 © Patrick Valduriez - Page 66 II avec XML Conclusion Evolution de XML depuis un meilleur format de documents vers un élément majeur des systèmes distribués  la plupart du XML sera cachée, générée par des outils La combination de XML et des composants objet facilite l'intégration de données et d'applications Il reste beaucoup à faire  standardisation  implémentation  recherche


Télécharger ppt "© Patrick Valduriez - Page 1 II avec XML Intégration d'information avec XML Patrick Valduriez Lip6 Université Paris 6"

Présentations similaires


Annonces Google