Chapitre I

INTRODUCTION

 

 

1.     Nouvelles tendances des systèmes d'information

Ces dernières années ont vu l'ouverture des systèmes d'information à l'Internet. Alors que depuis les années 1970, ces systèmes se développaient souvent par applications plus ou moins autonomes, le choc Internet doublé des chocs internes à l'entreprise avec le développement des intranets, a été brutal et souvent peu planifié. Ainsi, on a vu apparaître une myriade de technologies nouvelles attrayantes mais peu structurantes voir perturbantes. Certaines n'ont guère survécues. D'autres ont laissé des systèmes peu fiables et peu sécurisés. Aujourd'hui, fin 2002, le temps de la réflexion est arrivé. La précipitation n'est plus à l'ordre du jour et il faut urbaniser et intégrer le système d'information de manière globale.

L'urbanisation passe avant tout par la standardisation des échanges : il faut s'appuyer sur des standards ouverts, solides, lisibles, sécurisés, capable d'assurer l'interopérabilité avec l'Internet et les systèmes d'information des entreprises partenaires. XML, "langua franca" du 21e siècle est à notre avis le standard qui manquait pour ouvrir et faire coopérer les systèmes à l'échelle de l'entreprise et du monde. Ainsi, avec XML une révolution est en marche qui va toucher le cœur des systèmes d'information. Cet ouvrage se propose de faire le point sur les nouveaux modèles et standards d'échange et de structuration des données poussés par le W3C dans le contexte XML.

En clair, trois tendances nouvelles tirent aujourd’hui le développement des systèmes d'information vers le futur :

¨      L'ouverture au Web. Ceci nécessite le développement de nouvelles architectures dites multi-tiers, permettant le déploiement des applications sur Internet et intranet. Ces architectures se standardisent autour de deux pôles opposés : la communauté Java et la communauté Microsoft. Les passerelles entre ces deux types d'architectures son nécessaire. HTML reste un langage de présentation non fait pour modéliser les contenus. XML apparaît déjà comme le dénominateur commun de toutes les architectures en proposant un méta-language idéal pour représenter, modéliser, décrire et échanger des informations.

¨      Le développement des échanges. Les échanges inter-applications A2A (Application to Application) et le commerce électronique B2B (Business to Business) nécessitent le développement de modèles de communication structurés et clairs. L'EDI qui s'est beaucoup répandue dans les années 1980 reste basé sur des formats compacts mais rigides et peu lisibles, nécessitant des réseaux à valeurs ajoutés spécialisés. La multiplicité des formats d'échange nécessite l'intervention d'un modèle pivot commun pour éviter l'explosion combinatoire des modules de conversion. XML paraît le choix approprié car c'est à la fois un modèle lisible, riche et facile à transformer, capable de représenter tout type de données, donc idéal comme modèle pivot. Au-delà, XML permet de représenter les processus d'affaires B2B, en modélisant les flux d'information mais aussi les flux de contrôle entre objets métiers.

¨      L'intelligence accrue des systèmes. Les entrepôts de données ou datawarehouses permettent de consolider et de conserver des versions historiques des données de l’entreprise, puis de les structurer en vue de l’analyse pour l’aide à la décision. Ils sont à l’origine de la composante OLAP (On Line Analysis Processing) des systèmes d'information. La fouille de données ou data mining cherche à découvrir des connaissances, par exemple sous forme de règles, à partir des bases de données de l’entreprise et de ses partenaires. Ces connaissances permettre de mieux comprendre le fonctionnement, de prédire le futur et d’agir pour le corriger. Toute cette intelligence nécessite la mise en place de mémoires d'entreprises unifiées facilitant la gestion et l'échange de connaissances. Dans ce contexte, XML joue un double rôle : il sert d'une part à définir des langages de balisage appropriés pour mémoriser et échanger les connaissances de l'entreprise étendue et il permet aussi d'archiver données et documents sous un même format semi-structuré auto-descriptif. Ceci facilite à la fois l'intégration des données constituant la mémoire de l'entreprise et l'interrogation par concepts.

2.     Qu'est ce que XML ?

2.1     Introduction à XML

Standardisé par le W3C en février 1998, XML est un méta-langage de représentation de données. Dit autrement, c'est plutôt un ensemble de règles de formatage pour composer des messages valides. Pour les néophytes et avant d'introduire complètement XML au chapitre trois, nous allons résumer les points clés. Issu des langages de marquage et plus particulièrement de SGML son ancêtre, XML définit comment marquer les documents. Tout document ou message – on dit document si l'on vient de la GED et message si l'on pense échange – est constitué d'éléments, possiblement imbriqués mais ne se chevauchant pas. Un élément se compose d'une balise (on dit aussi tag) d'ouverture, d'un contenu (généralement un texte qui peut être constitué d'éléments marqués) et d'une balise de fermeture. Voici un exemple très simple de message en XML:

<message>

<auteur>gardarin</auteur>

<destinataire>la communauté des bases de données</destinataire>

<contenu>

  <declaration>Vive XML</declaration>

  <constation>Le modèle sous-jacent regroupe tous les concepts des     modèles de données historiques</constatation>

</contenu>

</message>

Il s'agit là d'un message particulier qui utilise un vocabulaire de balises spécifique : <message>, <auteur>, <destinataire>, <contenu>, <declaration>, <constatation>. Ces balises, encore appelées tags, sont assemblées de manière particulière. XML fournit des outils pour définir la structure des messages : la DTD et les schémas. La DTD est une construction ancienne permettant de définir la grammaire des messages alors que les schémas vont plus loin : ils permettent de définir la grammaire mais aussi des types de données extensibles, comme dans les langages de programmation objet.

XML est donc au départ un modèle de représentation et d'échange de données standards et pérenne, indépendant de tout constructeur. Structurer les échanges en décrivant les messages et en adoptant un formalisme auto-descriptif a beaucoup de conséquences. C'est important et stratégique pour les entreprises qui peuvent ainsi s'échanger des données intelligibles à syntaxe et sémantique claires. C'est important et stratégique pour les éditeurs de progiciels métiers qui peuvent alimenter leurs outils par des données standardisées.

Très rapidement, les éditeurs de logiciels se sont mis à développer des outils autour de ce langage d'échange. Qui plus est, une galaxie de standards – on dit parfois une nébuleuse car c'est assez touffu et complexe – ont émergé pour définir des outils et des applications autour de XML. Cette galaxie comprend en sont centre XML et son standard 1.0 complétés par les schémas (XML Schema), puis des outils verticaux de base pour adresser des éléments dans les documents XML (XPath), pour traiter XML (DOM et SAX), pour présenter et transformer les contenus XML (XSL), pour interroger les documents XML (XQuery). Elle comporte également un ensemble de protocoles et outils pour développer et déployer des programmes distribués sur Internet/Intranet, les services Web avec les standards SOAP, UDDI, etc. Nous étudierons en détails tous ces standards dans les chapitres qui suivent. Nous verrons aussi qu'il existe de nombreux vocabulaires métiers (encore appelés dialectes) proposés comme standards par des groupes de travail spécialisés, par exemple pour échanger des formules mathématiques (MathML), des graphiques 2D (SVG) ou encore des parties d'échecs (ChessML) ou des partitions musicales (MusicML). On dénombre aujourd'hui plus de 200 propositions de dialectes métiers dont la-plupart sont répertoriés en annexe !

Quoiqu'il en soit, XML s'impose comme le format de données pour la gestion des contenus, XML s'impose sur le Web avec XHTML (une version XML de HTML) et bientôt avec le Web Semantic permettant d'échanger des contenus XML décrits par un méta-modèle XML, XML s'impose comme le support des présentations multi-canal et interactive, XML devient le standard pour la gestion de documents et remplace son ancêtre SGML, XML devient le modèle d'intégration de données des systèmes d'information, XML se répand dans le e-commerce et tend même à remplacer les formats EDI, XML perce même dans la « business intelligence ». Bref, les systèmes d'information s'XML-ise à grand pas. Mode ou mouvement profond ? L'auteur pense que le mouvement est profond. Voilà pourquoi ce livre qui essaie de montrer le rôle d'XML dans les systèmes d'information dans toutes les dimensions.

2.2     Le processus de standardisation du W3C

Le Web et tous les langages de la galaxie XML sont standardisés par le W3C (World Wide Web Consortium). Celui-ci est une organisation non profitable fondée en 1994. Les membres fondateurs étaient le laboratoire LCS du MIT aux Etats-Unis, l'INRIA en Europe et l'université de Keio au Japon. Aujourd'hui le W3C compte environ 500 membres industriels, dont tous les grands.

Son objectif est d'accroître le potentiel du Web. Pour cela, il développe les spécifications de protocoles communs. Il vise à assurer l’interopérabilité sur le Web entre les différents systèmes et logiciels. Il fournit aussi un stock d’informations sur les standards et les normes pour développeurs et utilisateurs. Il publie des codes de référence pour présenter et promouvoir les différents standards ainsi que des prototypes variés et des exemples d’applications.

Les différents documents émis sont les suivants:

¨      Note. Il s'agit d'une proposition émise par un organisme ou un groupe plus ou moins formel.

¨      Working draft. Il s'agit d'un document de travail issu d'un groupe formellement reconnu.

¨      Proposed recommendation. Il s'agit d'une proposition représentant un consensus d'un groupe de travail soumise pour vote aux membres votants.

¨      Recommendation. Il s'agit d'un standard accepté par un vote positif. Le standard est adopté dans une version et peut évoluer lors de versions ultérieures éventuelles.

Le W3C travaille parfois en liaison avec l'IETF (Internet Engineering Task Force www.ietf.org), autre organisme qui s'occupe plutôt des protocoles de transport et des couches basses de l'Internet. Par exemple, HTTP est une recommandation commune W3C / IETF. Aujourd'hui le W3C travaille beaucoup sur XML, comme le montre une consultation rapide de son site Web à l'URL www.w3.org.

2.3     Les organismes connexes : Oasis et les autres

Fondé en 1993 dans la mouvance SGML, Oasis est une organisation très influente dédiée à la construction de standards pour l'interopérabilité des systèmes. Le processus de standardisation est conduit par les membres et une direction élue. Le consortium regroupe environ 200 organisations et 250 membres individuels. Il est international (100 pays participent, mais les USA dominent), indépendant et n'a pas pour objectif le profit.

Le centre d'intérêt actuel d'Oasis tourne autour des applications industrielles de XML. L'objectif est d'unir les efforts et de promouvoir les consensus industriels. Oasis produit actuellement des standards pour les services Web, la sécurité, la conformité XML, les transactions d'affaires, la publication électronique, les "topics maps", etc. Il supporte conjointement avec les Nations Unies l'organisation ebXML pour standardiser le commerce électronique B2B. Un standard Oasis est créé par un comité technique (TC), approuvé par lui et par l'ensemble des membres. Toutes les discussions sont ouvertes à la critique publique. Nous étudierons quelques standards créés par l'Oasis dans ce livre, notamment ceux autour des services Web.

OASIS patronne XML.org, une communauté de publications de schémas XML, de vocabulaires et de documents reliés. OASIS héberge aussi les pages de description des standards et événements XML connues sous le nom «XML Cover Pages ».

Une autre organisation historiquement intéressante est BizTalk.org. Elle fut créée en septembre 1999 par Microsoft pour encourager l'échange et la définition de schémas XML. De multiples schémas ont été déposés au départ dans un langage spécifique proposé par Microsoft, à la base des schémas XML standardisés depuis mai 2001. Mi-2002, Microsoft a jugé ce site moins utile du fait du rôle plus universel de xml.org, un site patronné par l'Oasis mentionné ci-dessus. Microsoft a donc fermé le site Biztalk.org le 19 juillet 2002. Ce site a cependant participé à la dissémination de schémas et à la reconnaissance de XML. Il a aussi démontré l'intérêt de Microsoft pour les standards XML.

D'autres organismes participants à la création et à la promotion de standards autour de XML sont listés ci-dessous :

¨      OMG – Object Management Group est un consortium ouvert non commercial qui produit et maintient des spécifications pour l'interopérabilité des systèmes d'information, notamment dans le domaine de l'objet. Créé en 1989, le groupe comporte aujourd'hui 800 membres environ. Il est l'auteur des spécifications CORBA et UML, mais aussi de XMI et CWM que nous étudierons dans cet ouvrage.

¨      IDEAlliance – International Digital Enterprise Alliance est une organisation non profitable dont la mission est de promouvoir des standards et de bonnes pratiques pour la publication et la gestion de contenus. Parmi les standards mis en avant on trouve GRACoL (General Requirements for Applications in Commercial Offset Lithography), ICE (Information Content Exchange), PRISM (Publishing Requirements for Industry Standards Metadata), PROSE XML (Production Order Specification/EDI XML) et SPACE XML (Specifications for Publisher & Agency Communications Exchange/XML).

¨      CommerceNet – C'est un consortium industriel dédié à accélérer la croissance du commerce électronique sur Internet et à créer des opportunités de business pour ses membres. CommerceNet développe des projets, dont certains ont connu un bon succès, par exemple dans le domaine du paiement par cartes de crédit et le courtage électronique.

¨      LISA – Localisation Industry Standards Association est une association de 200 membres offrant des bonnes pratiques, des guides et des standards multilingues pour globaliser l'entreprise.

¨      ISO – International standardisation Organisation, le seul véritable organisme de standardisation mondial, gère plusieurs groupes de travail sur XML et ses dérivés, dont  l'ISO/IEC JTC SC34 (Document Description and Processing Languages), l'ISO TC154 (Processes, data elements and documents in commerce, industry and administration) et l'ISO/IEC/ITU/UN-ECE, un groupe joint entre l'ISO, l'ITU (International Telecommunication Union) et les Nations Unies.

3.     XML dans l'entreprise

Avant de rentrer dans le cœur du sujet, nous allons profiter de cette introduction pour illustrer l'impact d'XML pour l'entreprise.

3.1     La société ProXML

La société ProXML est une société centenaire qui dispose d'un système d'information intéressant représenté figure I.1.

 

Figure I.1 – Le système d'information originel de ProXML

ProXML exploite un système de gestion de commandes patrimonial construit autour d'une base de données des commandes. La base de données est propriétaire de type objet; elle a été développée par une équipe talentueuse de l'entreprise il y a une dizaine d'années. La base est alimentée par des fichiers contenant des instances d'objets binaires. Il est possible de faire des extractions sous un format particulier proche de l'ASCII avec séparateurs.

ProXML a acquis un ERP (Enterprise Resource Planner) pour piloter la production suite aux commandes des clients. Ce système dénommé ERPX est construit au-dessus d'une base de données relationnelle dont les schémas de tables sont définis par le fournisseur de l'ERP, qui les fait souvent évoluer avec les versions de l'outil. Pour alimenter l'ERP, ProXML extrait chaque jour les commandes de la base de gestion des commandes en format ASCII avec séparateurs et déverse les fichiers résultant dans l'ERP par des transactions SQL spécifiques. Les changements de formats lors de l'évolution de l'ERP sont très mal vécus, si bien que les dernières versions de l'ERP n'ont pas été installées.

ProXML a acquis pour le marketing et le suivi des clients un système de CRM (Custom Relationship Management) qui s'appuie sur une base de données clients objet-relationnel. Ce système dénommé CRMX est très moderne; il peu rendre de multiples services pour affiner le suivi des clients, les catégoriser, générer les relances, lancer des campagnes de marketing, etc. Le problème, c'est qu'il faut alimenter la base depuis le système de gestion des commandes et l'ERP. Ceci n'a pu être fait totalement si bien qu'une ressaisie des informations est nécessaire. Elle n'est pas vraiment opérationnelle à ce jour.

ProXML a développé un système de prise de commande par le Web. Celui-ci est fait en HTML et JavaScript autour d'une base relationnelle open-source. Les formulaires sont développés en HTML, JavaScript et PHP côté serveur. Ils fonctionnent mal avec Netscape. Le client saisit sa commande qui est enregistrée en base après validation. Le paiement électronique n'a pu être introduit mais est prévu pour bientôt. Dans l'immédiat, les clients envoient des fax avec numéro de compte ou autorisation papier de retrait sur carte de crédit. ProXML aimerait donc introduire rapidement le paiement électronique mais aussi supporter différents navigateurs proprement et pourquoi pas, autoriser les commandes depuis des téléphones portables utilisant le WAP et plus tard l'UMTS.

ProXML a enfin un partenaire qui gère la saisie des commandes passer par la poste. Ce partenaire saisie les commandes dans un format type EDI bricolé. Des fichiers dans ce format sont reçus chaque jour et déversés dans la base de gestion des commandes par un programme ad hoc.

Le lecteur pourrait croire que ProXML dispose d'une informatique archaïque. Que nenni ! Beaucoup d'entreprises sont dans le cas de ProXML et ont des difficultés à intégrer leurs sous-systèmes d'information. Dans le cas de ProXML, la base objet propriétaire, certes source de quelques difficultés, est très performante et la remplacer par une base relationnelle avec des tables de schémas spécifiques n'aiderait guère. Une étude a même montré que les coûts d'achat de logiciel et de réfaction seraient prohibitifs.

3.2     XML pour urbaniser le système d'information de ProXML

ProXML vient d'embaucher un consultant qui préconise d'utiliser XML pour intégrer les sous-systèmes d'information hétérogène de l'entreprise. XML c'est la glue qui va coller ensemble les morceaux un peu disparates et permettre de répondre aux besoins nouveaux.

Comment faire ? Le consultant préconise tout d'abord de développer un connecteur XML pour la base objet propriétaire. Celui-ci permettra d'une part de publier les objets commandes, clients, factures, etc., en XML, d'autre part d'alimenter la base objet par des documents XML. Un effort important devra être apporté pour concevoir les schémas des documents XML issus ou destinés à la base. Ils devront être dérivés du schéma conceptuel des objets clients, commandes, factures, etc., ceci afin de garantir les évolutions futures. La structure des messages XML constituera le véritable langage d'échange de l'entreprise, qui va être réutilisé un peu partout.

Pour intégrer les commandes à l'ERP, il suffit d'installer la dernière version de l'ERPX : celui-ci offre en effet une prise XML. Cependant, il faut pouvoir assurer le mapping du langage XML de l'entreprise (le format des commandes, clients, etc.) vers celui de l'ERP. Pour cela, il faut transformer le XML : pas de problème, ceci sera facilement effectué avec XSL.

Pour intégrer les clients et les informations aux bases de données relationnelles du CRM, il faut acquérir un middleware de mapping. Le composant XMLizer de e-XMLMedia pourra par exemple être retenu : il permet de faire correspondre à un schéma XML des tables relationnelles et de charger des documents XML conformes au schéma comme des lignes de tables. Un avantage est que le composant permet en plus d'interroger la base en XML par des requêtes XQuery. Ceci pourra être utile.

La reprise du site Web en XML va permettre de répondre aux objectifs consistant à pouvoir passer des commandes depuis un portable ou tout navigateur Web. Pour cela, le consultant conseille de passer à une architecture à trois niveaux avec serveur d'application et base relationnelle. Oui, mais les serveurs d'application du marché sont chers, trop chers pour ProXML ! Qu'à cela ne tienne, on utilisera TomCat de Apache qui est un logiciel libre. Les commandes seront saisies via le Web en XML (on pourra utiliser un composant XForms) et déversées dans la base relationnelle en XML, mais mappées sur des tables. L'alimentation de la base objet se fera par le connecteur XML.

Pour ce qui est du paiement intégré via Internet, un tiers de confiance sera trouvé (supportant bien sûr un protocole de paiement électronique XML). Les sous-transactions de paiement seront intégrées à la prise de commande.

Pour échanger avec les partenaires, des services Web de saisie de commande et de suivi seront développés. Ce service sera mis à disposition de tout partenaire et même publié dans un annuaire mondial (UDDI) pour faciliter la prise de commandes par programmes. Il est possible d'espérer conquérir ainsi de multiples partenaires déversant les commandes dans la base relationnelle en XML.

Enfin, pour faciliter le travail du marketing, un système d'interrogation de bases multiples (système de médiation) sera acquis. Il permettra de connecter toutes les sources via des connecteurs XML et de rassembler toutes les informations concernant un produit, un client ou un vendeur en temps réel.

En résumé, la figure I.2 représente le système cible vers lequel ProXML va progressivement migrer. Il est clairement architecturé autour d'un schéma global d'échange tout XML, ou si vous préférez, du langage d'échange d'entreprise construit à partir de XML. Notez que ce langage parle de commandes, de clients, de factures, etc. : ProXML gagnera à dériver son langage XML d'un standard tel qu'on en trouve au niveau de l'Oasis ou autres organismes publiant des modèles XML. De toute façon, un soin particulier devra être apporté dans l'établissement du langage, c'est-à-dire des schémas XML d'entreprise.

Figure I.2 – Le système cible de ProXML

Plus tard, la société ProXML pourra acquérir un EAI pour piloter ses échanges de messages XML. Elle sera aussi bien armée pour développer des compositions de services Web avec des partenaires, afin de réaliser des processus d'affaires sophistiqués dans le cadre d'échange B2B.

L'objectif de cet ouvrage est tout simplement de faire une synthèse des techniques, méthodes et produits nécessaires pour faciliter le passage de ProXML vers un système d'information ouvert et extensible, proprement architecturé avec XML.

4.     Plan de l’ouvrage

Cet ouvrage couvre les fondements de XML, les services Web, les bases de données XML et l'intégration de données et applications avec XML. Il essaie d'expliquer clairement toutes ces techniques et architectures complexes et intégrées nécessaires à l'urbanisation des systèmes d'information modernes. Nous donnons ci-dessous une vue d'ensemble suivie d'un bref résumé de chaque chapitre.

4.1     Vue d'ensemble

Après la présente introduction, le chapitre 2 est dédié à un rappel sur les architectures du Web, notamment les architectures multi-niveaux avec clients et serveurs Web dynamiques. Il s'agit d'un chapitre préliminaire de mise à niveau mais aussi de revu des technologies Web hors XML. Les chapitres 3 et 4 introduisent les fondements du méta-langage XML et des outils de traitement de base. Les deux chapitres qui suivent (5 et 6) traitent des bases de données XML; le premier introduit les concepts et notamment le langage XQuery au-travers d'une présentation illustrée d'exemples; le second étudie les nouvelles architectures de SGBD pour XML et présente quelques produits. Les chapitres 7 et 8 sont dédiés aux services Web, avec tout d'abord une introduction du protocole  (SOAP) et langage de description (WSDL) puis une revue des techniques d'orchestration et sécurisation des services. Le chapitre 9 est consacré aux serveurs d'application et tente de faire un point sur J2EE et .NET, les architectures concurrentes. Le chapitre 10 est dédié à la fédération de données hétérogènes avec XML suite à des requêtes en temps réel. Le chapitre 11 développe la matérialisation de données intégrées en entrepôts, avec notamment XML pour gérer échanges et méta-données. Enfin, le dernier chapitre aborde l'intégration e-business en partant des EAI (Enterprise Application Integrator) et des échanges EDI (Electronic Data Interchange) rénovés avec XML, puis se termine par une étude de l'architecture ebXML.

4.2     Les architectures 3/3 pour le Web

Ce chapitre est un chapitre introductif aux architectures à trois niveaux (trois-tiers). Il présente les architectures Web en dehors des serveurs d'applications. Tout d'abord, il rappelle les éléments de base du Web, HTML et le protocole HTTP. Les technologies de génération de pages dynamiques côté clients connues sous le nom de  applet, ActiveX et HTML dynamique sont ensuite détaillées. Les technologies de génération de pages dynamiques côté serveur pour invoquer les applications via le Web et ses URL longues, type CGI, API, ActiveX serveur et servlet sont ensuite étudiées. Nous décrivons enfin les architectures de type pages HTML dynamiques : PHP du monde libre, ASP de Microsoft et JSP Java, cette dernière technique étant partie intégrante des spécifications J2EE qui seront vues plus loin.

4.3     Introduction au méta-langage XML

Ce chapitre présente en détail XML et les principaux standards au cœur de la galaxie XML. Après avoir précisément décrit les concepts de base, nous étudions les DTD et leur méthode de construction. Puis, nous bifurquons sur les schémas qui sont introduits en détails avec des exemples. Nous introduisons les outils de construction de schémas et notamment l'approche de XMLSpy par des arbres graphiques.

4.4     Développer avec XML

Ce chapitre présente les standards nécessaires pour traiter des documents XML. Tout d'abord, les API pour communiquer avec des programmes via des analyseurs (parsers) sont introduites : API objet DOM et API événementielle SAX. Puis XPath, le langage d'adressage de sous-éléments dans les documents XML, est développé. Ensuite XSL, le langage de transformation et d'écriture de feuilles de style, est abordé; ses principes sont introduits et illustrés avec quelques exemples. Enfin, et c'est une des contributions originales du chapitre, des applications ou cas d'usages de XML sont dévoilés. Quelques-uns sont détaillés dans les chapitres qui suivent.

 

4.5     Les bases de données XML

Les bases de données s'XMLise. Qu'en est-il exactement ? Ce chapitre présente tout d'abord les techniques élémentaires de publication et mapping de bases relationnelles. Puis, il approfondit les techniques plus complètes de stockage et recherche de documents XML. Il aboutit ainsi au concept de SGBD XML. Le modèle de données pour XML est revu puis l'étude se centre sur les langages de requêtes, en particulier XQuery, le standard en émergence qui devrait être le successeur de SQL. Ce langage est introduit en détail au-travers de multiples exemples. Ensuite, les techniques d'implémentation sont abordées et une algèbre pour XML est esquissée.

4.6     Les principaux SGDB XML

Ce chapitre traite des SGBD XML qui implémentent XQuery ou parfois seulement une variante de SQL3 connue sous le nom de SQL/XML. Deux techniques s'opposent : les middlewares de mapping vers le relationnel et les SGBD natifs. Les techniques dérivées des systèmes de gestion de documents doivent aussi être supportées : elles sont intégrables dans les deux types de système. Plusieurs produits sont décrits dont les middlewares d'IBM (XPeranto) et d'Oracle (XSU) et l'approche de Microsoft. Le middleware XML Repository de e-XMLMedia gère une base XML interrogeable en XQuery au-dessus d'un SGBDR quelconque: il est quelque peu  détaillé. Enfin, un panorama des SGBD natifs XML est présenté, dont Tamino, TextML, GoXML et le logiciel libre XIndice. Les approches pour intégrer les types natifs dans les grands SGBDR sont aussi étudiées.

4.7     Introduction aux services Web

Les Services Web sont la nouvelle coqueluche de l'Internet. Ce chapitre introduit les concepts de ce nouvel environnement mondial de programmation distribuée et de développement de services accessibles par programmes. Puis, il décrit en détail WSDL, le langage de définition de ces fameux services Web. Ensuite, le protocole d'accès SOAP est étudié et un exemple est développé. Les stratégies des constructeurs (J2EE versus .NET) pour supporter les services Web sont analysées plus loin dans le chapitre sur les serveurs d'application.

4.8     L'orchestration de services Web

Réaliser des processus d'affaires (parfois appelés processus métier, mais ils touchent en général à plusieurs métiers, par exemple un commerçant et ses fournisseurs) nécessite de composer et coordonner des services Web à l'échelle des réseaux d'entreprise voir du Web. Pour ce faire, plusieurs langages d'orchestration permettant de décrire en XML les processus B2B ont été proposés. Au-delà des transactions simples, ils permettent de contrôler des transactions longues sous forme de cohortes ou sagas. Ce chapitre étudie et compare les différents langages d'orchestration proposés, sans négliger l'aspect gestion de transactions. Les extensions de type sécurité sont détaillées, notamment en s'appuyant sur les standards XML en émergence pour les échanges de clés, la signature et le cryptage.

4.9     Les serveurs d'applications

Le chapitre 9 est dédié aux serveurs d'applications. Après une description générale des fonctions d'un serveur d'application, nous introduisons brièvement les principaux produits. Nous étudions en détail l'architecture J2EE de SUN et ses partenaires définit au sein du consortium JCP (Java Community Process). Containers Web et EJB sont détaillés. Les différentes API sont étudiées. En particulier, les API XML sont introduites. Quelques serveurs J2EE célèbres (WebSphere d'IBM et WebLogic de BEA sont les plus connus) sont décrits. Enfin, nous développons l'architecture .NET de serveur d'application de Microsoft. Celle-ci s'appuie sur le moteur d'exécution de code intermédiaire CLR et une large ouverture à XML via les services Web.

4.10     Fédérer les données avec XML

Ce chapitre traite des bases de données fédérées et des portails de données. La première technologie permet d'intégrer des sources de donnés variées et hétérogènes au-travers de XML et de son langage de requête XQuery. Elle généralise les techniques développées pour les bases de données réparties hétérogènes et calcule les réponses aux requêtes en temps réel, sans recopier les sources. La seconde vise à intégrer via des pages Web des sources de données variées. Nous étudions les fonctionnalités complémentaires mais différentes de ces approches à l'intégration de données. Les architectures de fédération sont disséquées et les internes cachés sont dévoilés. Quelques produits dont OLE DB.NET sont passés en revue.

4.11     Intégrer les données en entrepôts

Ce chapitre introduit les principales techniques apparues ces dernières années pour gérer efficacement un datawarehouse, en incluant les techniques d’analyse de données (OLAP). L'apport potentiel de XML dans le domaine est mis en avant. Les notions de base sont tout d'abord rappelées et quelques exemples d’applications sont présentées. Le chapitre se concentre ensuite sur les composants architecturaux des systèmes décisionnels répartis : ETL pour la collecte de données, moteurs de datawarehouse et datamart, outils décisionnels sont disséqués. Nous étudions en détails les standards en émergence basés sur XML pour représenter et échanger les méta-données. La modélisation multidimensionnelle des données est au cœur de l’OLAP. Nous rappelons les fondements de cette approche ainsi que les nouvelles spécifications d'échange basées sur XML pour l'OLAP proposées par Microsoft sous le nom de XML for Analysis. Nous abordons enfin la nouvelle génération d'entrepôts de données mixant données structurées et documents issus du Web autour d'un moteur XML natif.

4.12     L'intégration e-business

Ce chapitre développe les approches d'intégration e-Business notamment pour le commerce B2B. Bien sûr, l'intégration e-Business s'appuie sur les techniques étudiées jusque là, notamment les services Web et les langages d'orchestration associés. Mais au-delà, les EAI ont pris une importance croissante dans les entreprises, soit pour échanger et par-là même piloter les applications internes, soit pour mettre en œuvre des échanges inter-partenaires dans le cadre de processus d'affaires. Nous présentons les fonctions essentielles des EAI, une architecture type et nous résumons les points forts des principaux produits. Nous rappelons dans un second temps les principes de l'EDI et montrons l'apport d'XML a ces technologies. Deux architectures de systèmes pour le B2B type EDI XML sont étudiées : une approche simple et extensible en composants et l'approche plus complète et universelle de ebXML.