Upload
cade
View
28
Download
0
Embed Size (px)
DESCRIPTION
Intégration d'information avec XML. Patrick Valduriez Lip6 Université Paris 6 [email protected] http://www-poleia.lip6.fr/~valdurie/patrick.html. Bibliographie. The XML Handbook. C. Goldfard, P. Prescod, Prentice Hall, 2000 - PowerPoint PPT Presentation
Citation preview
© Patrick Valduriez - Page 1II avec XML
Intégration d'information avec XML
Patrick ValduriezLip6Université Paris 6
[email protected]://www-poleia.lip6.fr/~valdurie/patrick.html
© Patrick Valduriez - Page 2II 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
© Patrick Valduriez - Page 3II 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
© Patrick Valduriez - Page 4II 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)
© Patrick Valduriez - Page 5II 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
<HTML> <BODY><H1>Result of your selection</H1> <%select Q1 = "select A1, A2 from R where ... " %> <%iterate Q1 %> <TABLE> <TR><TD> "A1 "</TD> <TD> "A2 "</TD></TR> <TR><TD>%Q1.A1%</TD> <TD>%Q1.A2</TD></TR> <%end-iterate%> </TABLE> </BODY></HTML>
© Patrick Valduriez - Page 6II 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
© Patrick Valduriez - Page 7II 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
© Patrick Valduriez - Page 8II 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
© Patrick Valduriez - Page 9II avec XML
HTML décrit la présentation
© Patrick Valduriez - Page 10II avec XML
HTML
<h1> Bibliography </h1>
<p> <i> Principles of Distributed Database Systems </i>
Ozsu, Valduriez
<br> Prentice Hall, 1999
<p> <i> Data on the Web </i>
Abiteboul, Buneman, Vianu
<br> Morgan Kaufmann, 1999
© Patrick Valduriez - Page 11II avec XML
XML décrit le contenu
<bibliography>
<book> <title> Principles of Distributed Database Systems </title>
<author> Ozsu </author> <author> Valduriez </author>
<publisher> Prentice Hall </publisher>
<year> 1999 </year>
</book>
<book> <title> Data on the Web </title>
<author> Abiteboul </author> <author> Buneman </author>
<author> Vianu </author>
<publisher> Morgan Kaufmann </publisher>
<year> 1999 </year>
</book>
© Patrick Valduriez - Page 12II 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)
© Patrick Valduriez - Page 13II avec XML
Terminologie
Tags: book, title, author similaire aux attributs dans une base de données
Markups: start tag <book>, end tag </book>
Les données sont du texte en PCDATA (Parsed Character Data)
caractères Unicode
Eléments: <book> ... </book>, <author> ... </author>
Elément vide: <year></year> abbrv. <year/>
Les éléments sont imbriqués
Un document XML : élément racine
© Patrick Valduriez - Page 14II avec XML
Attributs
Propriétés supplémentaires des tags
paires (nom= "valeur ")
<book lang="English" price="US$59.99">
<title> Principles of Distributed Database Systems </title>
<author> Ozsu </author>
<author> Valduriez </author>
...
</book>
© Patrick Valduriez - Page 15II 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
<person id="o1"> <name> Ozsu </name> </person>
<person id="o2"> <name> Valduriez </name> </person>
<book> <title> Principles of Distributed Database Systems </title>
<authors idref="o1 o2"/>
<publisher> Prentice Hall </publisher>
<year> 1999 </year>
</book>
© Patrick Valduriez - Page 16II 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
Title Publisher Year
Prentice HallPrinciples of ... 1999
Person
Name
Ozsu
Person
Name
Valduriezidref
Authors
© Patrick Valduriez - Page 17II 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
© Patrick Valduriez - Page 18II avec XML
DTD simple
DTD pour un document contenant un nombre arbitraire de livres
<!DOCTYPE db [
<!ELEMENT db (book)*>
<!ELEMENT book (title,author,year)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT author (#PCDATA)>
<!ELEMENT year (#PCDATA)>
]>
L’ordre des éléments est contraint
© Patrick Valduriez - Page 19II avec XML
DTD comme grammaire récursive
DTD décrivant des arbres binaires et un document valide
<!ELEMENT node (leaf l (node,node))>
<!ELEMENT leaf (#PCDATA)>
<node>
<node>
<node><leaf> 1 </leaf> </node>
<node><leaf> 2 </leaf> </node>
</node>
<node><leaf> 3 </leaf> </node>
</node>
1 2
3
© Patrick Valduriez - Page 20II avec XML
DTD comme schéma
DTD pour le schéma relationnel r(a,b), s(c)
<!DOCTYPE db [
<!ELEMENT db (r*, s*)>
<!ELEMENT r ((a,b) l (b,a))>
<!ELEMENT s (c)>
<!ELEMENT a (#PCDATA)>
<!ELEMENT b (#PCDATA)>
<!ELEMENT c (#PCDATA)>
]>Limitations
très verbeux un seul type atomique (PCDATA) pas de contrainte sur le type de IDREF
© Patrick Valduriez - Page 21II 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
<Schema
xmlns:dt="urn:schemas-microsoft-com:datatypes">
<elementType name="title" content="textOnly"/>
<attributeType name="price" dt:type="float"
required="yes"/>
<elementType name= "author" content="textOnly"/>
<elementType name= "book" content="mixed">
<element type= "title"/>
<attribute type= "price"/>
<element type= "author"/>
</elementType>
</Schema>
© Patrick Valduriez - Page 22II 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
© Patrick Valduriez - Page 23II 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
© Patrick Valduriez - Page 24II 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
© Patrick Valduriez - Page 25II avec XML
Expressions XPath
/ l’élément racine
/db l’élément db sous root
db/book un élément book dans db
db//book ... à n’importe quelle profondeur
@price un attribut price
db/book/@price un attribut price dans book, dans db
db/book[@price] éléments book avec un attribut price
db/book[@price=’10’] ... avec une valeur price de 10
//book/para[2] le second paragraphe de n’importe quel élément book
© Patrick Valduriez - Page 26II 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 <condition> alors <production>
• condition : match=<chemin XPath>• production : action <chemin XPath>
Traitement XSLT application récursive des règles templates de la racine
aux feuilles
© Patrick Valduriez - Page 27II avec XML
Exemple XSLT
<bib><book> <title> T1 </title> <author> A1 </author></book><paper> <title> T2 </title> <author> A2 </author></paper><book> <title> T3 </title> <author> A3 </author></book><bib/>
<xsl:template><xsl:apply-templates/> </xsl:template>
<xsl:template match= "/bib/*/title"><result> <xsl:value-of> </result>
</xsl:template>
<result>T1</result>
<result>T2</result>
<result>T3</result>
© Patrick Valduriez - Page 28II avec XML
Exemple de génération HTML
<xsl:template match= "/bib">
<html:head>
<html:title> Book Titles
</html:title>
</html:head>
<html:body>
<xsl:apply-templates/>
</html:body>
</xsl:template>
<xsl:template match="book/title">
<html:p> <xsl:value-of> </html:p>
</xsl:template>
<HTML>
<HEAD>
<TITLE> Book Titles
</TITLE>
</HEAD>
<BODY>
<P> T1 </P>
<P> T3 </P>
</BODY>
</HTML>
© Patrick Valduriez - Page 29II 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 $<var> in <forêt>, …
where <condition>
return <résultat> une forêt est sélectionnée par un document et une
expression XPath
© Patrick Valduriez - Page 30II avec XML
Sélection en XQuery
for $R in document(Guide)/Restaurant
where $R/Adresse/Ville = "Agadir"
return
<restau> $R/Nom </restau>
Noms des restaurants d'Agadir
© Patrick Valduriez - Page 31II 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
<result>
<nom> $R/Nom </nom>
<tel> $R/Tel </tel>
</result>
Noms et tél. des restaurants dans la rue de l'hôtel Agadir
© Patrick Valduriez - Page 32II 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)
© Patrick Valduriez - Page 33II 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
© Patrick Valduriez - Page 34II avec XML
XML comme modèle d'intégration
Serveur d'application
DB1
DB3
DB2HTMLXML XMLSQL
XSL
JDBC
ODBC
OLE DB
© Patrick Valduriez - Page 35II avec XML
XML comme modèle d'accès
Serveur d'application
DB1
DB3
DB2HTMLXML
MédiateurXML
XSL
XML
XML
XML
XMLSchema
© Patrick Valduriez - Page 36II 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.
© Patrick Valduriez - Page 37II 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
P1 P2 P3
© Patrick Valduriez - Page 38II 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
P1 P2 P3
© Patrick Valduriez - Page 39II 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.1 Elt.2
Doc.
Elt.3
Elt.5 Elt.6
Elt.4
Elt.6
© Patrick Valduriez - Page 40II 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
B1 ..... P1,P2B2 ..... P2,P3
Persons
ID Name Org. ...
P1 .....P2 .....P3 .....
© Patrick Valduriez - Page 41II 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
P1 P2 P3
© Patrick Valduriez - Page 42II 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
© Patrick Valduriez - Page 43II avec XML
Traitement de XSQL
<?xml version="1.1"?><query connection=“xmldb"> select value(a) as Author from authors a where a.book.title=‘t...’</query>
XSQL Servlet
XSQL doc.
XML parserXSL processor
XML SQL Utilities
XMLdoc.
SchemaTables, BLOBs
© Patrick Valduriez - Page 44II avec XML
Tamino: serveur XML pour e-business
native XML storage
X-Machine
XML SQL
SDK
programming
AdabasDB2, ...
E-business apps, e.g. Bolero
HTTP Server
XQL or URL/queryXML
X-Node
Data mapping
© Patrick Valduriez - Page 45II 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
© Patrick Valduriez - Page 46II avec XML
Architecture de médiation
Source1
Catalogue globalMédiateur Source2
Source3
Requête
Donne une vue globaledes sources
Adaptateur1
Adaptateur2
Adaptateur3
Cachent l’hétérogénéitédes sources
Projet I3 (DARPA)
© Patrick Valduriez - Page 47II avec XML
Médiateur XML
Schéma
décompositionde la requête
schéma
local
schéma
local
global
compositiondu résultat
schéma
local
Résultats
Requêtes
interfacesdifférentes
XML
Médiateur
Source1Adaptateur1
Source2Adaptateur2
Source3Adaptateur3
XQuery
© Patrick Valduriez - Page 48II avec XML
Intégration de données en relationnel
Problèmes: renommage et introduction de valeurs nulles
nom ville
P. DupontA. Martin
ParisNantes
nomF ville
MartinSmith
NantesLille
Emp@Site1
tel.
0140...0235...
Emp@Site2
prenom
AnneJean
prenom nom ville
P. DupontMartinA. MartinSmith
ParisNantesNantesLille
Emp = Emp@Site1 U Emp@Site2
nullAnnenullJean
tel.
0140...null0235…null
© Patrick Valduriez - Page 49II avec XML
Intégration en XML
<!DOCTYPE db [
<!ELEMENT db (Emp)*>
<!ELEMENT emp (nom,ville,(tel.)?)>
<!ELEMENT nom (#PCDATA | (prenom, nomF))>
<!ELEMENT prenom (#PCDATA)>
<!ELEMENT nomF (#PCDATA)>
<!ELEMENT tel. (#PCDATA)> ]>
<emp><nom> A. Martin </nom><ville> Nantes </ville><tel.> 0235... </tel.></emp>
<emp><nom> <prenom> Anne </prenom> <nomF> Martin </nomF></nom> <ville> Nantes </ville></emp>
Admet la différence d’éléments, mais plus verbeux
© Patrick Valduriez - Page 50II avec XML
Interrogation en Xquery
for $e in document(db)/empwhere $e/ville = "Nantes"return <r> <nom> $e/nom </nom>
<tel.> $e/tel </tel></r>
<r><nom> A. Martin </nom><tel.> 0235... </tel.></r>
<r><nom> <prenom> Anne </prenom> <nomF> Martin </nomF></nom> </emp>
© Patrick Valduriez - Page 51II 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 callrésultat
résultat
Adaptateur Adaptateur
Requête
© Patrick Valduriez - Page 52II 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
© Patrick Valduriez - Page 53II 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
© Patrick Valduriez - Page 54II 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
© Patrick Valduriez - Page 55II avec XML
Message SOAP
HTTP Header
SOAP Envelope
SOAP Header
SOAP Body
XML content
Attachments
(obligatoire): nom du message etnamespace pour sa version de schéma
(optionnel): extensions de protocole
(obligatoire): méthode et paramètres
© Patrick Valduriez - Page 56II avec XML
Exemple SOAP
<?xml version=“1.0” ?><SOAP:Envelope xmlns:SOAP= “urn:schemas-xmlsoap-org:soap.v1”><SOAP:Body> <AddNumbers>
<Number1> 5 </Number1><Number2> 3 </Number2>
</AddNumbers></SOAP:Body></SOAP:Envelope>
<?xml version=“1.0” ?><SOAP:Envelope xmlns:SOAP= “urn:schemas-xmlsoap-org:soap.v1”><SOAP:Body> <ResponseAddNumbers>
<Result> 8 </result> </ResponseAddNumbers></SOAP:Body></SOAP:Envelope>
Requête Réponse
© Patrick Valduriez - Page 57II avec XML
Envoi de message avec SOAP
XMLParser
HTTP
JavaVBC
Perletc.
A component(e.g. EJB)
XMLParser
HTTP
SOAPProcessor
APIApplication
serverSOAP
Processor
JavaVBC
Perletc.
API
A component(e.g. COM)
Applicationserver
TCP/IP
© Patrick Valduriez - Page 58II 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
© Patrick Valduriez - Page 59II 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
© Patrick Valduriez - Page 60II 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?
© Patrick Valduriez - Page 61II avec XML
Exemple : gestion de magasin on-line
Application server
Supplier(EJB)
Bank(MVS/CICS)
Credit cardprocessing
(COM+)
Shipper(CORBA)
User authentication
(MTS)
SOAP
SOAP
SOAP
SOAP
SOAP
SOAP
© Patrick Valduriez - Page 62II 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
© Patrick Valduriez - Page 63II avec XML
Le framework .NET
Common language runtime
System services
Services framework
Base Data Debug ...
ASP+
Web forms Web servicesWin forms
© Patrick Valduriez - Page 64II 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
© Patrick Valduriez - Page 65II 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
© Patrick Valduriez - Page 66II 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