Accueil
 chercher             Plan du site             Info (English version) 
L'histoire de XML s'écrit en ce moment même. XMLfr vous aide à la suivre et à en dégager les tendances.Les listes de discussions XMLfr sont à votre disposition pour réagir sur nos articles ou simplement poser une question.Si vous ètes passionnée(e) par XML, pourquoi ne pas en faire votre métier ?XMLfr n'est heureusement pas le seul site où l'on parle de XML. Découvrez les autres grâce à XMLfr et à l'ODP.Les partenaires grâce auxquels XMLfr peut se développer.Pour tout savoir sur XMLfr.XMLfr sans fil, c'est possible !Pour ceux qui veulent vraiment en savoir plus sur XML.L'index du site.
 Manifestations XML francophones et internationales.L'actualité des affaires et stratégies XML.L'actualité des technologies XML.Les nouveautés et l'actualités de notre site.Pointeurs sur l'actualité XML sur d'autres sites, en français comme en anglais.


XML Europe 2004 : refactoring XML?

Répondez à cet article.

La conférence XML européenne (XML Europe) vient de se terminer à Amsterdam. Une des présentations était intitulée « refactoring XML » et sans aller aussi loin, l'un des fils conducteurs de la conférence a indéniablement été « refactoring the usage of XML ».

Eric van der Vlist, Dyomedea (vdv@dyomedea.com).
mardi 27 avril 2004

Six ans après la publication de XML 1.0, beaucoup se demandent ce que l'on peut encore présenter lors de conférences XML et s'il n'est pas temps de se tourner exclusivement vers les applications de XML?

La conférence XML Europe 2004 a apporté la preuve du contraire : six ans après la publication de XML 1.0, il est tout juste temps de tirer les leçons de l'expérience acquise pour optimiser l'utilisation que nous faisons de XML et cette optimisation passe par une sérieuse simplification.

Les Services Web restent des services web (« refactoring Web Services »)

C'est à Jeff Barr, l'évangéliste des Services Web chez Amazon.com, qu'est revenue la responsabilité d'ouvrir XML Europe 2004 en exposant la stratégie et les réalisations d' Amazon.com et matière de Services Web.

De manière extrêmement pragmatique, Amazon.com est en train de réaliser la vision de « l'entreprise étendue » que nous essayions de vendre à nos clients il y a près de dix ans lorsque je travaillais chez Sybase. Cette vision est également celle que l'on retrouve dans la plupart des présentations marketing des Services Web : dans un monde de plus en plus concurrentiel où les sociétés sont également de plus en plus spécialisées, il faut ouvrir son système informatique pour que ses partenaires et clients puissent l'utiliser, en tirer un bénéfice et contribuer aux bénéfices de l'entreprise « étendue ».

Pour accomplir une telle vision, on pourrait penser qu'il était essentiel d'avoir attendu que les standards des Services Web aient pu mûrir. L'exposé de Jeff Barr démontre pourtant le contraire.

Bien que l'éventail des fonctionnalités soit très large et couvre non seulement l'accès au catalogue mais également l'achat et la vente d'articles, les interfaces ont été conçues en privilégiant la simplicité et en offrant le choix des technologies aux développeurs utilisant ces Services Web.

Ainsi, les services sont utilisables à la fois sous forme de services SOAP mais également sous une forme REST. Cette deuxième forme présente l'avantage de la simplicité et elle peut être testée à l'aide d'un simple navigateur Internet. Elle est plébiscitée et représente 80% des utilisations actuelles.

Cette expérience me semble confirmer que la frontière entre le Web et les Services Web est beaucoup plus floue que l'on pourrait le craindre : les Services Web restent avant tout des services accessibles sur le Web. Ils sont une partie intégrante du Web et c'est bien leur principal intérêt!

L'importance des notations (« refactoring notations »)

C'est Steven Pemberton qui prit le relais en assurant la deuxième des présentations plénières, une brillante digression bien difficile à résumer qui s'est attachée à analyser les impacts de la forme et des outils sur le fond. Savez-vous par exemple que les textes écrits avec un papier et un crayon sont plus court et de meilleure qualité que ceux que nous écrivons avec un traitement de texte?

Ce phénomène n'épargne pas les informaticiens et les notations utilisées pour écrire des documents influencent la qualité et le contenu de ces documents. Ces notations ne peuvent pas être entièrement masquées aux utilisateurs par les outils (tous les utilisateurs n'utilisent pas les mêmes outils et ce serait une erreur de conception de compter sur les outils pour masquer les défauts d'un système de notations).

Pour Steven Pemberton, il faut au contraire utiliser la puissance de nos ordinateurs pour nous faciliter la vie et ne pas hésiter à nous écarter ponctuellement de XML (« ce n'est pas parce qu'il y a un « X » dans un nom que c'est bon »).

Après tout, « le parsing est facile » et il n'y a pas de raison de rejeter des formats textuels simples facilement transformables en XML.

Cette conclusion est à rapprocher du succès de la syntaxe compacte de RELAX NG et des différents formats de Wiki.

Si vous aimez SVG, vous adorerez SVG 1.2! (« refactoring SVG »)

Actuellement en cours spécification, SVG 1.2 est une révision majeure de SVG et Robin Berjon s'est attaché à en détailler les nouveautés.

Sans entrer dans les détails (Robin Berjon est rédacteur XMLfr et je lui laisse le soin de le faire s'il le souhaite), il m'a semblé que SVG 1.2 est avant tout une consolidation de SVG visant à intégrer les points qui dans les versions précédentes demandaient le plus fréquemment des codages en JavaScript. SVG 1.2 devrait donc permettre de limiter notablement l'utilisation de JavaScript.

La fonctionnalité qui m'a le plus impressionné est « sXBL » qui donne la possibilité de représenter des documents XML quelconques après transformation. Plus simple que XSLT, cette transformation est « bidirectionnelle », c'est à dire que les modifications apportées au graphique SVG peuvent être répercutées sur le document XML d'origine.

Les fans de JavaScript pourront se consoler en pensant aux améliorations du SVG DOM qui se voit doté de nouvelles fonctionnalités d'accès aux propriétés des images (métadonnées, taille et même accès aux pixels) et de nouvelles fonctionnalités réseau.

De quoi justifier l'enthousiasme de Robin Berjon pour qui cette nouvelle version transforme SVG d'un bon langage de dessin 2D en une interface graphique universelle pour XML.

Reposez-vous (« refactoring REST Web Services »)

Retour aux Services Web avec la présentation de Paul Prescod qui a réalisé une comparaison de deux réalisations REST (Amazon.com et Atom).

Comme on pouvait s'y attendre de la part de ce défenseur des architectures REST, son exposé a démarré par un vibrant plaidoyer en faveur de REST se déclinant sur le thème « ce sont les ressources qui comptent, pas les services », « XML est la solution au problème et non le problème », « il faut parler d'architecture orientée ressources et non services (SOA) », « il devrait y avoir un Web de ressources » ou encore « la partie de REST qui compte pour moi, c'est URI+HTTP+hypertexte ».

L'analyse comparative des deux réalisations Amazon.com et Atom s'est attachée à montrer l'impact des différences de finalités des deux projets sur un point particulièrement sensible : le choix des identificateurs.

Si comme nous l'avons vu, le but des Services Web d'Amazon.com est d'ouvrir le système d'information à ses partenaires et clients, la vision reste très égocentrique : le système d'information d'Amazon.com en est le centre et Amazon.com doit en garder le contrôle.

Dans ce contexte, les identificateurs utilisés par ces Services Web sont les identificateurs stockés dans les bases de données du système et les produits sont identifiés par les numéros « ASIN » affectés de manières centralisée.

Atom au contraire est conçu comme un système totalement décentralisé et utilise de manière naturelle les identificateurs du Web (les URIs) comme identificateurs.

Saxon à coeur ouvert (« refactoring XSLT »)

Michael Kay nous a ensuite proposé de comprendre les optimisations XSLT et XPath effectuées en interne par SAXON.

Michael Kay affirme que, contrairement à ce que l'on pourrait penser, les techniques d'optimisation utilisables pour XSLT 1.0 (qui ne dispose d'aucune information de schéma) et XSLT 2.0 (qui peut disposer du schéma des documents manipulés) ne sont pas fondamentalement différentes même si certaines peuvent être plus efficaces avec XSLT 2.0.

Il explique que si l'intérêt des schémas pour l'optimisation est limité, c'est que les documents manipulés et les transformations XSLT permettent de recueillir la plupart des informations nécessaires à réaliser les optimisations et après coup, je me dis que puisque mon Examplotron montre que les documents sont eux aussi des schémas, j'aurais du y penser tout seul!

De même, le type des variables et paramètres peut souvent être déduit des transformations XSLT 1.0. Si par exemple, un paramètre est initialisé à « 1 » et utilisé pour alimenter un autre paramètre après incrémentation, on peut en déduire que ce sera toujours un entier.

Si vous avez envie d'utiliser XSLT 2.0, il faudra donc trouver un autre prétexte!

Le PSVI enfin dévoilé (« refactoring the PSVI »)

Le PSVI (Post Schema Validation Infoset) est l'ensemble des informations recueillies pendant la validation d'un document XML au moyen d'un schéma W3C XML Schema. La nature de ces informations est décrite de manière éparse dans les recommandations W3C XML Schema et le PSVI reste pour la plupart d'entre nous un concept particulièrement abstrait.

A ceux qui voulaient mieux comprendre ce qu'est le PSVI, Elena Litani proposait une description de l'API définie par le projet XML Apache  Xerces pour accéder au PSVI et aux composants du schéma à partir de DOM ou SAX.

Publiée sous forme de note W3C, cette API est actuellement implémentée par les versions C et Java de Xerces et elle expose les composants de schéma décrivant chacun des éléments et attributs d'un document XML ainsi que la totalité du PSVI.

La logique au secours de W3C XML Schema (« refactoring W3C XML Schema »)

Un des reproches faits à W3C XML Schema est de ne pas s'être appuyé comme RELAX NG sur un modèle mathématique qui aurait permis de formaliser le langage sans ambiguïté et de s'assurer de sa cohérence. Qu'à cela ne tienne, Henry Thompson s'est attaqué au problème et propose une approche basée sur une logique composée d'une syntaxe, un modèle (basé sur la théorie des ensembles) et une interprétation définissant les relations entre syntaxe et modèle.

Bien que la manière de présenter cette approche soit différente je la trouve très proche de celle qui est présentée dans la spécification de RELAX NG et cela me semble être indéniablement une voie à suivre.

Outre le fait que les modèles soient différents (ce qui est normal puisqu'ils décrivent des langages de schéma ayant des sémantiques différentes), Henry Thompson insiste dans sa présentation sur la modélisation des trois composants (syntaxe, modèle et relations entre syntaxe et modèle) alors que RELAX NG n'a pas cherché à formaliser les relations entre la syntaxe et le modèle qui sont simplement explicitées en anglais.

En ce sens, je pense que la démarche préconisée par Henry Thompson est une généralisation de celle suivie par RELAX NG et qu'elle doit être utilisable par d'autres langages.

Ses applications sont multiples : en elle-même, une telle description formelle est une référence normative laissant peu de place aux ambiguïtés qui sont fréquentes dans les descriptions en langage naturel. En outre, elle permet éventuellement de générer une description en langage naturel et si l'on dispose d'outils adéquats, elle doit permettre de vérifier la cohérence de la spécification et de générer des implémentations de références qui même si elles sont peu performantes permettraient de trancher en cas de doute entre deux interprétations.

RELAX NG et XSL-FO (« refactoring XSL-FO »)

La recommandation XSL-FO ne contient ni schéma ni DTD pour la description de son vocabulaire et Alexander Peshkov  propose un schéma RELAX NG pour XSL-FO.

Comparant l'utilisation de plusieurs langages de schéma et même de XSLT pour la validation de documents RELAX NG, Alexander Peshkov conclu que RELAX NG l'emporte haut la main et indique que l'utilisation de NRL (un autre langage du projet ISO/DSDL) permet même de réaliser la validation des transformations XSLT produisant des documents XSL-FO.

Parmi les limitations qu'il a rencontré lors de la réalisation de ce schéma particulièrement complexe, il cite le fait qu'il serait intéressant de définir que certaines erreurs ne sont que des erreurs mineures et qu'il a contourné ce problème en enchaînant deux validations (une validation « laxiste » ne détectant que les erreurs graves et une validation « stricte » détectant les erreurs mineures ». Coïncidence? c'est une fonctionnalité que j'utilise dans le système éditorial de XMLfr et que je souhaite inclure dans DSDL Validation Management...

Topic Maps pilotées par des ontologies (« refactoring Topic Maps »)

Rappelant ce que sont les Topic Maps et les ontologies, Bernard Vatant  propose d'utiliser des ontologies OWL/RDF pour définir des contraintes sur des Topic Maps.

L'idée n'est pas nouvelle puisqu'elle était déjà évoquée par Nikita Ogievetsky lors d'Extreme Markup Languages 2001 et reprise par Eric Freeze à XML 2002.

Ces différentes propositions avaient l'inconvénient de reposer sur une traduction explicite des Topic Maps en RDF et, bien que cette traduction semble simple et que j'en ai proposé une première esquisse dès 2001, les communautés RDF et Topic Maps ne sont toujours pas parvenues à un consensus à ce sujet.

Pour éviter ce sujet controversé, Bernard Vatant précise bien que sa proposition n'est pas une nouvelle proposition de formulation de Topic Maps en RDF et s'appuie sur les URIs qui semblent être le seul point faisant l'objet d'un consensus entre les deux communautés pour relier Topic Maps et ontologies OWL.

On utilisera ainsi OWL pour définir des contraintes sur les topics acceptables pour définir une association (le fait par exemple qu'un employé doivent être une personne) en identifiant les notions manipulées par leurs URIs sans leur donner pour autant une représentation RDF explicite.

La proposition de Bernard Vatant permet de tirer partie de toute la puissance d'expression de OWL et RDF Schema et va au delà de ce qui est envisagé par TMCL, le langage d'expression de contraintes des Topic Maps en cours de spécification.

Systèmes XML pilotés par les tests (« refactoring XML testing »)

La complexité des systèmes XML est souvent accentuée par la faiblesse des outils de tests associés et l'interdépendance entre les différents composants des systèmes XML (documents, schémas, transformations, programmes) rend leur évolution extrêmement périlleuse.

Brandon Jockman  propose de sécuriser tout cela par une meilleure pratique des jeux de tests notamment au niveau des schémas et des transformations.

Pour valider des schémas, Brandon Jockman suggère d'utiliser des... échantillons de documents! Il ne s'agit de rien de moins que d'inverser le jeu classique : ici ce ne sont plus les schémas qui valident les documents mais les documents qui valident les schémas...

C'est une idée que je creuse également depuis un certain temps. Elle semble prometteuse, mais d'un autre côté, si nous devons écrire des échantillons de documents valides, pourquoi ne pas considérer plutôt ces échantillons comme des schémas (c'est l'approche suivie par Examplotron).

Pour valider les transformations XSLT, Brandon Jockman a la bonne idée de mentionner XSLTunit ainsi que des approches moins purement XSLT telles que XMLUnit.

Blogging Sémantique (« refactoring blogging »)

Steve Cayzer  propose ensuite une manière plus sémantique d'envisager le « blogging ». Si l'on incite les auteurs de carnets webs (ou blogs) à introduire plus de métadonnées en mettant à leur disposition des interfaces utilisateurs facilitant ce travail; on peut créer des « blogs sémantiques » dans lesquels il est beaucoup plus facile de naviguer et de trouver ce que l'on cherche.

Engranger le Web Sémantique (« refactoring the Semantic Web »)

Les « crawlers » des moteurs de recherche jouent un rôle fondamental pour le Web traditionnel et le Web Sémantique a lui aussi besoin d'outils permettant de découvrir ses ressources. Matt Biddulph  expose donc son projet de « crawler » du Web Sémantique reposant sur l'attribut « rdfs:seeAlso » qui est au Web Sémantique l'équivalent des liens hypertextes du Web traditionnel.

Outre les enseignements tirés de son implémentation et des conseils aux auteurs de documents RDF pour faciliter le travail de son crawler, Matt Biddulph détaille également les points qui sont spécifiques au Web Sémantique : la possibilité de stocker les informations recueillies de manière répartie, la nécessité de stocker des informations permettant d'identifier les sources et de gérer notre niveau de confiance en ces sources et l'utilisation possible d'OWL pour faciliter l'intégration d'assertions utilisant des identificateurs différents.

Marier RDF et XPath (« refactoring XPath and RDF »)

Adapter XPath pour permettre de naviguer dans des graphes a été un des sujets chauds de la conférence Extreme Markup Languages 2003 avec les deux propositions de Steve Cassidy qui proposait d'introduire de nouveau axes XPath et Norman Walsh qui présentait un outil permettant de générer des vues arborescentes de graphes RDF.

La proposition de Damian Steer (et son implémentation de référence basée sur SAXON) est différente en ce qu'elle crée à partir d'un graphe RDF des arbres locaux en fonction des requêtes XPath utilisées. Ainsi par exemple, si « A » est lié à « B » lui même lié à « C » lié à « A », l'expression « B/C » permet d'accéder à « C » si le noeud contexte est « A » et l'expression « C/A » permet d'accéder à « A » si le noeud contexte est « B ».

Les applications utilisant ce mécanisme doivent veiller à ne pas boucler indéfiniment puisque dans notre exemple, « B/C/A » retourne sur le noeud « A » si le noeud contexte est « A ». Une transformation « identité » classique bouclerait donc à l'infini.

Appliqué à RDF, ce mécanisme permet néanmoins d'accéder à des noeuds suivant une même expression XPath indépendamment de la sérialisation XML utilisée pour exprimer le graphe RDF ce qui résout un des problèmes auxquels sont confrontés les utilisateurs XML de vocabulaires RDF.

Modernisation du balisage sémantique (« refactoring RDF syntax »)

Les détracteurs de la syntaxe XML de RDF lui reprochent de n'être pas un format XML pour décrire des assertions élémentaires mais un macro-langage générant des assertions.

Pour résoudre ce problème, de nombreux formats non XML ont été proposés pour RDF, dont N3 (Tim Berners-Lee) et Turtle (Dave Beckett).

Non content de proposer Turtle, Dave Beckett qui affirme qu'il « ne peut pas s'empêcher d'inventer de nouvelles syntaxes » propose « Regular XML RDF » ou RxR, une formulation XML qui prend le contre pied exact de la syntaxe XML de RDF en restant fidèle en tout point au modèle de données RDF.

Puisque le modèle de données RDF décrit un « graph » composé de « triples » comprenant un « subject », un « predicate » et un « object », les éléments de base du vocabulaire RxR sont tout simplement « graph », « triple », « subject », « predicate » et « object ».

RxR semble donc une syntaxe idéale pour exposer de manière simple à lire et pratiquement canonique un graphe RDF en XML. On remarquera néanmoins que le résultat est beaucoup plus verbeux que la syntaxe RDF/XML dont le caractère de « macro-langage » n'a pas que des inconvénients!

Contenu intelligents (« refactoring the semantic web »)

C'est la curiosité et le fait que j'apprécie toujours les présentations de Steve Newcomb qui m'avaient poussé à aller voir cette présentation dont le résumé m'avais semblé incompréhensible!

Il s'agissait en fait d'une présentation complètement atypique par rapport à toutes celles que j'ai suivi à XML Europe qui expose les conclusions d'une étude effectuée pour la Commission Européenne sur les perspectives de la publication électronique d'ici à 2010.

Les conclusions de cette étude sont plutôt optimistes et détaillent les atouts de l'Europe dans la révolution des modes de publication qui est en train de s'opérer.

Les principaux conseils de Steve Newcomb sont de faire mieux dialoguer informaticiens et éditeurs et de travailler sur l'aspect « intelligent » des contenus. Remarquant que le terme de « Web Sémantique » ne peut pas convenir puisque la publication ne se limite pas au Web, il conseille également de trouver un terme adéquat qui puisse servir de marque et de bannière et suggère celui de « smart content » (contenu intelligent).

Registres ebXML et gestion de contenu (« refactoring CMS »)

Les registres ebXML tels qu'ils sont décrits dans la spécification OASIS et UN/CEFACTebXML « ebXML registry » et norme ISO 15000 forment un système de stockage réparti extrêmement générique et indépendant des autres spécifications ebXML.

S'ils sont utilisés dans un système ebXML complet pour stocker des documents tels que des CPP (Collaboration Protocol Profile), BP (Business Process Specifications) et autres « Core Components », les registres ebXML n'ont aucune connaissance particulière de ces types de documents et les gèrent de manière aussi opaque qu'ils géreraient une image JPEG.

Le propos de Farrukh Najmi était de montrer comment des registres ebXML peuvent être utilisés comme des systèmes de gestion de contenu (ou « Content Management Systems »).

Présentant brièvement ce qu'est un CMS et ce qu'est un registre ebXML, Farrukh Najmi a fait le tour des principales fonctionnalités des registres ebXML (publication, gestion et recherche, gestion du cycle de vie, métadonnées, notifications, sécurité et requêtes distribuées) pour présenter leurs bénéfices dans une utilisation CMS.

Refactoring XML

C'est Alex Brown qui avait pris le risque de s'attaquer en frontal à cette délicate question.

Ses griefs contre XML sont son côté nécessairement verbeux (les fonctionnalités de SGML permettant de rendre les vocabulaires plus concis ont été abandonnées en XML), la « question des attributs » (le fait que les attributs ne semblent pas indispensables et que la question « élément ou attribut? » revienne sans arrêt), un modèle (l'infoset XML) relativement complexe avec ses trop nombreux types de noeuds et son mécanisme complexe pour gérer les espaces de noms et le fait que ce modèle soit lié à une syntaxe particulière alors que XML cherche pourtant à séparer le contenu de la présentation.

Pour combattre ces défauts, Alex Brown propose de définir un nouveau profil de SGML plus simple que XML qui reste compatible avec XML en supprimant DTDs, commentaires, processing instructions, sections CDATA, attributs et espaces de noms.

Cette proposition ne semble pas avoir convaincu les nombreux membres du W3C qui assistaient à cette présentation et ont profité du temps dégagé pour les questions/réponses pour émettre de nombreuses objections.

Comme pour toute proposition de modification, la grande question est de savoir si les bénéfices peuvent compenser les coûts. Compte tenu de la diffusion de XML, les coûts liés à la plus petite des modifications sont tels que je ne vois pas bien quel bénéfice pourrait les compenser.

XHTML/RDF (« refactoring XHTML and RDF »)

La dernière des présentations était celle de Mark Birbeck présentant la proposition d'expression de triplets RDF dans des documents XHTML an cours de spécification pour la version 2.0 de XHTML.

Il s'agit en fait d'autoriser l'apparition des éléments et attributs « meta » n'importe où dans les documents XHTML. En jouant sur l'utilisation de ces éléments et attributs, Mark Birbeck a montré comment on peut exprimer des assertions RDF de manière très souple.

Il s'agit d'une proposition récente qui semble avancer rapidement et le principal point qui reste à résoudre semble être la manière de lier les assertions RDF exprimées à un fragment particulier d'une page XHTML : le mécanisme envisagé pour le moment s'appuie sur les attributs « id » d'une manière qui ne m'a pas entièrement convaincu.

L'enjeu est de taille, puisqu'il s'agit de réconcilier XHTML et RDF et donc web « traditionnel » et Web Sémantique.

Pourquoi n'utilisez-vous pas XML?

La session plénière de clôture était animée par Edd Dumbill et a été reprise sous forme d'un article sur XML.com.

Edd Dumbill y analyse l'état de XML, notant que la question n'était plus comme en 2000 « pourquoi utilisez-vous XML? » mais « pourquoi n'utilisez-vous pas XML? », il se réjouit lui aussi de voir que les travaux sur les spécifications de base de XML semblent redémarrer, y compris au W3C qui vient de publier une première version de travail de xml:id et une note portant sur le modèle de traitement de XML.

Six ans après la publication de XML, il reste donc beaucoup de choses passionnantes à découvrir, y compris dans les couches « basses » de l'architecture d'un système XML et les conférences XML ont encore de beaux jours devant elles!

Autres articles :

Autres ressources XML Europe 2004 :

Copyright 2004, Eric van der Vlist.


 

Mots clés.



L'histoire de XML s'écrit en ce moment même. XMLfr vous aide à la suivre et à en dégager les tendances.


Les documents publiés sur ce site le sont sous licence "Open Content"
Conception graphique
  l.henriot  

Conception, réalisation et hébergement
Questions ou commentaires
  redacteurs@xmlfr.org