Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Le document XML
Considérons l’exemple d’une entreprise, organisée en différents services, qui demande à un cabinet externe de réaliser des bilans de son
activité. Ces bilans peuvent influencer le fonctionnement de plusieurs services, chaque service ayant ses particularités. Le cabinet
fournit alors un document XML contenant ces bilans. Ce document est ensuite traité par un logiciel qui établit un résultat personnalisé
pour chaque service et propose également aux utilisateurs des fonctions de recherche et d’analyse.
2.2 Le document XML : orienté document ou données ?
Lorsque les données sont élaborées par des êtres humains, on dit que les fichiers XML produits sont orientés document. Lorsque les
données sont construites automatiquement par des programmes, on dit que les fichiers XML sont orientés données. Un fichier XML
orienté document peut être, par exemple, un livre, un article, un message... Un fichier XML orienté donnée est, par exemple, un
sous-ensemble d’une base de données. Il faut noter que l’élaboration des fichiers XML nécessite des moyens de contrôle et
d’édition plus ou moins sophistiqués. On n’utilisera pas pour fabriquer un ouvrage en XML, un éditeur trop rudimentaire (comme le
bloc-notes sous l’environnement Windows). L’édition des documents XML sera abordée dans ce chapitre à la section L’édition de
document XML.
2.3 La circulation XML : notion de bus
Les données informatiques circulent aussi bien en interne, dans l’entreprise, que vers l’extérieur, auprès de services et de partenaires
externes. L’étendue de cette circulation rend le format de données d’autant plus important que chaque acteur peut disposer de
plates-formes d’exploitation différentes. Le formalisme XML neutralise les différences par un consensus de stockage, la plupart des
langages de programmation étant à même de traiter tout type de document XML. Les caractères Unicode constituent également un
moyen de garantir la neutralité des données transportées.
Un document XML peut être transformé ; il n’est pas figé par un émetteur mais peut suivre, par analogie avec les ateliers de production,
différentes étapes de modification. Le format XSLT (eXtensible Stylesheet Language Transformation) est un moyen pour
adapter un document XML à un autre format XML. Ces processus de transformation sont cependant coûteux et doivent répondre à un
besoin. Conduire des transformations en cascade peut être davantage pénalisant que de modifier les logiciels qui génèrent les
documents XML, tout dépend de la réactivité souhaitée. Avec XSLT, on peut parfaitement imaginer exécuter la nuit des programmes
batch qui réalisent ces générations de documents, l’une des générations possibles étant dans un langage de présentation comme
XHTML ou bien XSL-FO (avec indirectement PDF, RTF...).
Par exemple, une société dispose d’un ensemble de produits. Ces produits sont présentés à la fois sur leur site Internet, dans un
catalogue, et dans un logiciel interne pour les salariés… Le formalisme XML peut tisser un lien entre ces différents médias, les données
étant au cœur de l’activité, la présentation n’étant plus qu’un processus de transformation.
2.6 Circulation des documents XML et workflows
Les flux de données (workflows) existants vont être petit à petit remplacés par des workflows XML. Les fichiers XML vont circuler,
s’enrichir au fur et à mesure de ces déplacements, être contrôlés, puis être présentés aux différents acteurs de l’activité
(commerciaux, clients...).
Prenons l’exemple d’un parc de machines équipées d’automates dont on souhaiterait contrôler l’activité. Comme il n’est pas possible de
passer derrière chaque machine pour vérifier les opérations effectuées, un programme de type agent (un programme qui agit de façon
autonome) recueille les informations et les envoie au format XML à une borne de supervision.
2.7 Les bases de données
Les bases de données étant incontournables dans les systèmes informatiques actuels, nous allons, dans les paragraphes suivants, donner
quelques points de repère quant à leurs relations avec XML.
L’autre aspect des relations entre les bases de données et le formalisme XML est l’utilisation de base de données « native XML ». C’est une
solution séduisante pour agglomérer des documents et pouvoir les manipuler plus facilement. Cela peut compenser une certaine faiblesse à
retrouver dans les tables des bases de données relationnelles la correspondance hiérarchique des documents XML. Et puis, les documents
XML étant déjà structurés, l’idée de déstructurer ces documents en vue d’une insertion dans une base semble quelque peu inefficace.
On considère qu’il existe deux formes de bases de données natives : celles gardant le texte du document XML tel quel et celles effectuant
une conversion sous une forme objet (comme DOM, qui est une standardisation objet d’un document XML). Il est certain que la deuxième
forme peut s’appuyer sur des bases objets voire relationnelles (tables pour les éléments DOM : éléments, textes, commentaires...). Vous
trouverez à l’adresse http://www.rpbourret.com/xml/XMLDatabaseProds.htm quelques bases de données natives, avec deux formes
d’implémentation, Open Source ou propriétaire. Parmi les bases disponibles, citons Tamin
o(http://www.softwareag.com/Corporate/products/tamino/default.asp ) en propriétaire, ou bien XIndice ( http://xml.apache.org/xindice/ ) en
Open Source. Je n’ai pas de recommandation particulière à donner. Chaque base a ses avantages et inconvénients, en termes d’API
d’accès, de langage de requêtes, de performance dans les traitements, l’objectif étant d’en mesurer l’efficacité sur un échantillon
représentatif.
2.8 L’édition d’un document XML
L’édition de document XML peut prendre diverses formes, notamment en fonction de sa finalité.
SVG (Scalable Vector Graphics) est un langage de description des dessins en 2D. Il existe quelques plugins pour les navigateurs, dont
une intégration native avec Firefox 2.0, le plus connu étant SVG Viewer de adobe ( http://www.adobe.com/svg/viewer/install/
main.html ). Attention cependant, l’éditeur annonçant la fin du support pour 2008.
On retiendra comme implémentation Open Source le projet Batik pour Java ( http://xmlgraphics.apache.org/batikl ) du groupe Apache.