05/10/2001
XML
en six questions :
Les éditions quotidiennes
de JDNet Solutions qui ne mentionnent pas le langage
XML deviennent plutôt rares. Et pour cause, l'industrie
du logiciel s'est convertie comme un seul homme à ce
méta-langage. XML est donc mûr pour être soumis à un
questions-réponses...
D'où
vient XML ? Pourquoi a-t-on eu besoin d'autre chose
que HTML ?
Le langage HTML, conçu pour décrire les pages Web, s'avère
finalement assez rustique. Notamment parce qu'il ne
distingue pas les informations de présentation et de
structure d'un document. Autrement dit, en HTML, une
balise hiérarchise un élément autant qu'elle le présente
visuellement. Avec la montée en puissance du Web, le
besoin d'échanger des documents structurés est devenu
plus critique. De manière assez naturelle, les regards
se sont tournés vers SGML, un standard exploité pour
structurer des documentations complexes. Très sophistiqué
et assez lourd, SGML ne pouvait toutefois être utilisé
tel quel sur le Web. Les deux communautés (du Web et
du SGML) ont donc élaboré un dérivé de SGML, un langage
à la fois capable de structurer les documents et adapté
aux contraintes du Web. XML est le fruit de ces travaux.
Quelle différence avec HTML
?
Comme son nom l'indique, XML (pour eXtensible Markup
Language) n'est pas un langage fini. Il s'agit plutôt
d'un méta-langage, un cadre dans lequel il est possible
de décrire des langages. C'est là sa différence fondamentale
avec HTML. Ce dernier fournit un nombre fini de balises,
une liste qu'il n'est pas possible d'adapter par exemple
pour un univers métier donné. Il en va tout autrement
avec XML qui, justement, est conçu pour donner la possibilité
de créer sa propre syntaxe - ce qui explique le " X
" pour eXtensible. Par exemple nous pourrions créer
avec XML un langage conçu pour structurer le contenu
de JDNet Solutions avec des balises du type <breve>,
<chronique>, <analyse>, etc. Très concrètement,
un document XML se compose de deux sections : l'une
accueille les informations à proprement parler, l'autre,
appelée DTD (pour Document Type Definition), décrit
les balises utilisées pour structurer cette information.
Le champ d'application de XML
semble très étendu, on le retrouve dans de nombreux
standards, de l'édition Web à l'e-commerce en passant
par la sécurité. Comment expliquer un tel potentiel
?
Il est vrai que le langage XML trouve chaque jour de
nouvelles applications, certaines plus surprenantes
que d'autres
A titre d'exemple, la semaine dernière,
l'Oasis (un organisme de standardisation) a présenté
EML (Election Markup Language), un langage dédié à l'échange
de données électorales... Cette effervescence s'explique.
La quête de standards est indissociable de l'histoire
de l'informatique. Très souvent, les essais en la matière
n'ont pas été transformés car la norme élaborée s'avérait
trop lourde ou encore parce qu'elle ne pouvait s'appuyer
sur un puissant vecteur de diffusion. XML est plus chanceux
: le Web lui fournit à la fois un vecteur de diffusion
et un cadre qui force au pragmatisme. Voilà, en partie,
pourquoi XML est devenu aujourd'hui une sorte de terreau
dans lequel chacun cultive son standard. N'oublions
pas toutefois qu'une grosse différence existe entre
une spécification couchée sur le papier et un standard
qui a su rallié assez d'acteurs pour devenir incontournable.
Sur les nombreux dérivés de XML qui font l'objet d'une
annonce, peu atteindront l'étape de la mise en uvre.
Dans le domaine des échanges
B to B, XML va-t-il remplacer l'EDI ?
La maturation de XML coïncide avec le besoin croissant
de standardiser les échanges B to B pour les automatiser
au mieux. Dans ce contexte, XML, dont la mise en uvre
s'appuie sur les technologies du Web, apporte une réponse
plus abordable que l'EDI. Toutefois, les entreprises
qui ont lourdement investi dans l'EDI ne vont pas du
jour au lendemain faire table rase de leurs investissements.
De même, abandonner l'EDI au profit de XML suppose que
l'exploitation de ce dernier se montre aussi robuste
et sécurisé que l'EDI
Enfin, si les entreprises voient
dans XML un gage de pérennité, leur systèmes d'information
ne sont pas encore prêts à traiter des flux XML. Toutes
les places de marché le confirment, pour le moment leurs
clients s'en tiennent à l'échange de fichiers batchs
(fichier de commandes destiné à un progiciel donné).
Bref, l'intégration de XML dans le quotidien des échanges
B to B sera très progressive.
Pour les échanges B to B, on
évoque beaucoup le standard ebXML ? S'agit-il d'un concurrent
de XML?
ebXML est une application
de XML et non un concurrent. ebXML définit un cadre
pour les échanges B to B. Autrement dit, un groupement
d'entreprises peut concevoir des processus B to B dans
le cadre définit par ebXML qui lui-même
est décrit en XML... Pourquoi empiler ainsi les
couches d'abstraction ? Tout simplement pour concilier
deux impératifs : donner la possibilité
aux entreprises d'élaborer des solutions les
plus proches possibles de leur métier et garantir
que ces solutions puissent fonctionner sur des briques
technologiques standard.
Aux côtés de XML, il existe
toute une galaxie de standards : XSL, XSLT, XML Schema,
Xlink, Xpointer
Quels rôles jouent-t-ils ? Sont-ils
là pour palier des faiblesses de XML ?
La spécification XML élaborée par le World Wide Web
Consortium (W3C)
ne définit qu'un méta-langage. Le socle en quelque sorte.
Pour rendre réellement opérationnel XML, pour en faire
un langage de programmation et pas seulement un standard
de gestion documentaire (ce qu'il est à l'origine),
il faut lui adjoindre d'autre briques :
- Xpointer et Xlink pour créer des liens entre des documents
XML et au sein même de ces documents.
- XSL et XSLT (eXtensible Style Language Transformation)
pour opérer des conversions de données d'un document
XML à l'autre.
- XML Query, pour concevoir des requêtes et extraire
des données d'une base XML
- XML Schema, entre autres pour permettre à XML de typer
des données (s'agit-il d'une date, d'un nombre entier
? etc.) comment on le fait avec un langage de programmation.
Peu à peu, la galaxie des spécifications XML dessine
un langage de programmation de haut niveau qui permet
d'établir des interactions fortes, par exemple entre
un document XML, une bases de données et des composants
logiciels écrits en Java.
|