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.
 Si vous vous posez une question, vous n'êtes peut-être pas le premier...Les traductions en français des bibles XML.Ces articles sont des références dans leur domaine.Tout ce qu'il faut savoir pour démarrer sur un sujet XML...


XML, un atout clé pour l'Internet mobile et multi-support

Ce "Livre Blanc" présente une architecture de serveurs Internet utilisant des technologies XML (XML, XSLT, Cocoon, ...) pour adapter la présentation des informations aux différents types de supports.

Par Cyril Cambien , I Vision.
vendredi 12 janvier 2001

L'internet & Mobile

L'internet traditionnel, utilisable depuis un micro-ordinateur, connaît actuellement deux profondes évolutions. La première est la mobilité : Internet devient accessible depuis un téléphone mobile WAP ou un assistant électronique. La seconde est la banalisation de l'accès : Internet se glisse dans les téléviseurs (iTV), les consoles de jeu, les bornes d'accès publiques, les appareils électroménagers…

Le marché de l'internet mobile (téléphones WAP, PDA, organizer) préfigure d'un développement considérable. Par rapport au micro-ordinateur, les médias mobiles profitent d'une place privilégiée dans l'environnement quotidien du consommateur : il s'agit d'un objet personnel qui l'accompagne dans sa vie privée comme dans sa vie professionnelle et sont la simplicité d'utilisation en fait un outil d'accès à l'information bien plus abordable qu'un micro-ordinateur.

Les terminaux grand public comme les téléviseurs Internet sont plus simples à installer et à utiliser, peu coûteux : ils seront plus abordables qu'un ordinateur pour le grand public.

L'internet mobile et l'internet TV sont des nouveaux marchés pour les entreprises : Il y plus de deux fois plus de possesseurs de téléphones mobiles que de personnes connectées à Internet et la quasi-totalité des foyers ont un téléviseur. Nous sommes donc devant une formidable opportunité : conquérir le vrai marché de masse des nouvelles technologies.

Une stratégie "multi-support"

Les services internet doivent donc fonctionner sur des terminaux très divers, en s'adaptant à chaque fois aux possibilités du terminal. En effet, le même service ne pourra pas se présenter de la même manière sur ordinateur multimédia et sur un téléphone WAP.

De plus, même pour un seul type d'accès, les évolutions techniques sont rapides et les applications doivent s'adapter efficacement aux nouveaux terminaux. Le meilleur exemple est donné par les applications internet mobile qui vont devoir évoluer rapidement vers les nouveaux réseaux mobiles comme GPRS ou UMTS et vers les nouveaux téléphones dotés de grands écrans couleur, de reconnaissance vocale…

Faut-il développer le même site Internet plusieurs fois pour chaque terminal ? Développer encore à chaque évolution technique ? Cette approche n'est pas réaliste : c'est en fait l'ensemble des terminaux et leurs évolutions qui doivent être pris en compte dans votre politique de développement Internet. Il faut pour ceci avoir une véritable stratégie "multi support".

Pour ceci, I Vision a développé une architecture applicative permettant de minimiser les efforts en factorisant le maximum de développement et de gestion sur l'ensemble des terminaux. Ceci permet d'avoir un développement et une gestion unique du service, et d'ajouter de manière indépendante la gestion de nouveaux terminaux.

L'architecture applicative I Vision

L'architecture applicative I Vision sépare clairement les éléments suivants :

  • Les données, stockées dans des bases de données relationnelles
  • La logique applicative et les règles de gestions, implémentées sous la forme d'objets métiers en Java
  • La gestion des transactions avec les utilisateurs, gérés par des pages XML dynamiques
  • La présentation des informations sur un terminal particulier, gérée à l'aide de feuilles XSL.

Notre architecture se fonde donc uniquement sur des normes et des standards reconnus : Java, XML/XSL, SQL.

Par rapport à une architecture Java Internet classique, on note que les applications ne génèrent pas directement des pages HTML (ou WML dans le cas du WAP), mais des documents XML.

En effet, HTML ou WML mélangent deux informations de natures différentes :

  • Le contenu, c'est à dire l'information que l'on veut transmettre à l'utilisateur
  • La présentation, c'est à dire comment le contenu va être affiché à l'utilisateur.

Le contenu est indépendant du type de terminal tandis que la présentation est spécifique. Dans un contexte multi-support, il est donc nécessaire de séparer contenu et présentation pour factoriser les développements au maximum. I Vision utilise pour ceci la technologie XML/XSL.

Qu'est ce que XML?

Extensible Markup Language-XML- est une norme universelle de codage de l'information développé par le W3C-World Wide Web Consortium- (http://www.w3.org/). Son atout majeur est qu'elle permet d'identifier clairement chaque information, non pas en fonction de son rendu visuel, mais en fonction de sa nature. Par exemple, un numéro de fax est marqué comme tel, et non pas comme du texte en Helvetica noir de 12 points souligné. Ainsi, toute application compatible XML ayant besoin de cette information est capable de la retrouver et de l'utiliser selon ses besoins, que ce soit pour envoyer une page par Fax, permettre une recherche via le Web, imprimer une plaquette ou envoyer une carte de visite électronique.

Sa définition permet de l'appliquer à un éventail énorme d'applications en conservant un format unique et des structures adaptées à chaque besoin. Cette norme est dérivée à la fois de HTML (HyperText Markup Language) et de SGML (Standard Generalized Markup Language), XML étant un sous-ensemble de la norme SGML (donc compatible avec SGML) et XHTML étant une application de XML. La norme utilise un format de texte brut garantissant une excellente portabilité quelle que soit la plate-forme et une grande simplicité d'édition. L'usage de balises semblables à celle du langage HTML permet à tout le monde de comprendre très simplement la structure de tout fichier XML.

De nombreuses normes autour de XML garantissent une grande facilité d'utilisation. En particulier, une DTD (Document Type Definition) permet de définir un format particulier de document XML (par exemple XHTML est une DTD qui définit un document XML comme étant du HTML). SAX et DOM qui sont des API de programmation standardisées destinées à la manipulation de documentsXML.

XML n'entre pas en concurrence avec d'autres formats comme HTML ou WML mais vient plutôt de façon complémentaire en permettant de faciliter et d'enrichir considérablement la gestion de contenu. L'arrivée d'XML renforce le rôle d'Internet comme média de communication. En séparant, contenu, structure et présentation, XML offre de nouvelles voies pour décrire, structurer et présenter l'information contenue dans les documents à des clients multiples et des profils différents.

Qu'est ce que XSL?

XSL (eXtended Stylesheet Language) etXSLT (XSL Transformations) sont des normes qui permettent la transformation d'un document XML en un fichier quelconque. Plus qu'une feuille de style, XSLT permet la génération de fichiers non-XML tel que du PDF.

Un document XML est un arbre qui décrit la structure d'un document. Le langage XSL permet de transformer un document XML en un autre document XML. On peut ainsi utiliser XSL pour transformer un document XML en un document de présentation comme une page HTML ou un document WML.

Ce procédé permet de générer des pages HTML ou WML à partir d'un même document initial. On obtient ainsi une séparation entre la structure des données et leur présentation.

Examinons la mise en place d'une solution à base de XML et XSL pour une application multi-terminaux,

Lorsqu'un terminal Web ou WAP fait une requête à un serveur Web, celui-ci va charger une page XML. Celle-ci va appeler des feuilles de style XSL capables de transformer le document XML source en fonction du type de terminal qui a contacté le serveur Web.

Le schéma ci-dessous résume le fonctionnement :Une fois le document XML généré, celui-ci possède en début de fichier des instructions de traitements indiquant le passage par un processeur XSL.

Une fois le document XML généré, celui-ci possède en début de fichier des instructions de traitements indiquant le passage par un processeur XSL.

Chacune des instructions référence une feuille de style XSL en fonction du type de présentation voulue. Dans l'exemple de la figure ci-dessus, on a trois feuilles de style, une pour le client Web, une pour un téléphone WAP  Nokia et une pour un téléphone WAP  Trium.

Le processus XSLT applique la bonne feuille de style en fonction du type de client connecté.

L'avantage de cette solution est de pouvoir écrire ou modifier les feuilles de style sans avoir à modifier les données ou les traitements. De plus, pour ajouter un nouveau terminal, il suffit d'écrire une nouvelle feuille de style.

Un serveur XML : Cocoon

Cocoon est une servlet Java de publication XML, elle est faite pour tourner sur un serveur HTTP et répondre aux requêtes en fonction du client connecté. Cette servlet découpe le processus de publication en trois étapes afin de séparer les parties ayant des rôles différents.

Cocoon est entièrement écrit en Java, est basé sur les définitions Servlets de Sun et peut donc fonctionner avec n'importe quel serveur applicatif Java, aussi bien les serveurs commerciaux (IBM  Websphere, BEA  Weblogic, Silverstream,...) que ceux ici du monde de l'open source (Apache/JRUN ou Tomcat). L'équilibrage de charge sur plusieurs machines est également possible. Cocoon est développé au sein de la communauté XML du groupeApache.

Dans Cocoon, trois étapes permettent de fournir en réponse à une requête les informations réclamées sous une forme compréhensible par le client. Pour chacune de ces étapes, Cocoon utilise l'un des modules disponibles ; il est ainsi possible d'écrire un module répondant à un besoin précis. Ce module ne traitant qu'une étape, il est à priori bien plus souple et léger qu'une servlet qui doit traiter toutes les étapes.

Les trois familles de modules correspondant aux trois étapes sont :

  • Les producteurs, qui vont fournir un document XML, soit en lisant un fichier XML sur disque, soit en exécutant du code produisant du XML
  • Les processeurs, qui vont modifier et adapter le XML fourni en entrée pour en produire le XML destiné au client
  • Les formateurs, qui vont appliquer une feuille de style au XML pour en faire le document final qui est envoyé au client, que ce soit du texte, du XML, du HTML, du WML (WAP), du PDF ou encore du VRML.

Un système de publication moderne doit être capable de générer de l'information dynamiquement. Or l'écriture d'un producteur, bien que plus simple que l'écriture d'une servlet, reste une tache un peu lourde. Cocoon permet la définition de producteurs en utilisant une méthode plus souple, qui consiste à inclure le code dans la page, plutôt que d'inclure la page dans le code (cette technique est utilisée, entre autres, par PHP et ASP). Le format de base du "programme" est un fichier XML appelé XSP(eXtensible Server Pages), qui contient du code Java. Ce programme est donc intégré dans une page XML; il est lu par un producteur, transformé par un processeur puis compilé par un formateur. Le résultat n'est pas un document utilisateur, mais un nouveau producteur interrogeable par les clients. Ce producteur étant écrit en Java, il permet d'utiliser les librairies classiques deJavatel que JDBC pour interroger une base de données, ou JNDI pour interroger un serveur LDAP. Il n'est bien évidement compilé qu'une fois.

Le formateur est le dernier élément de la chaîne, il s'occupe de la mise en forme des informations qui sont envoyés au client. En fonction des besoins, un formateur précis est appelé. Celui ci peut envoyer un fichier de format quelconque au client, selon ce que ce dernier supporte. Aujourd'hui des formateurs texte, HTML, WML, XML, PDF et VRML existent, mais rien n'interdit d'écrire un formateur JPEG, MP3 ou JavaByteCode si l'on est capable d'effectuer la transformation de XML vers le format de destination.

Cette technologie permet une bien plus grande réutilisation de tout ce qui est développé. Ajouter une information ne nécessite pas de modifier de nombreux programmes. Ajouter un client ne nécessite que l'écriture d'une feuille de style adapté. Modifier le design d'un site n'a aucune influence sur les informations présentes et vice-versa.

XML, le passeport pour l'internet de demain

Internet est en pleine évolution. De l'ordinateur de bureau nous sommes passé au terminal mobile pour accéder à des applications Internet sur une grande diversité de terminaux. Les services proposés ne peuvent pas être les mêmes sur l'ensemble des terminaux : Il est nécessaire, comme nous l'avons vu, de proposer un service adapté aux possibilités techniques et ergonomiques d'un terminal particulier.

Le développement de ce genre de service ne peut donc pas reprendre les architectures Internet existantes, à cause du manque de séparation entre le contenu et la présentation des informations à l'écran. Face à la nécessaire adaptation du client Internet, une solution est d'utiliser un langage intermédiaire commun pour décrire le contenu.

Pour cela, nous avons évoqué les avantages du langage XML qui permet cette description, ainsi que le langageXSLqui permet de générer le document final compréhensible par le terminal à partir d'un document XML.

Nous avons vu que cette méthode permet de gérer les différents terminaux existants et ceux à venir d'une manière simple en travaillant uniquement sur la présentation de l'application.

Par ailleurs, séparer la présentation des traitements permet une meilleure évolution et une meilleure maintenance des sites Internet.

Le langage XML semble donc être la solution face aux nouvelles applications Internet.

Concernant les terminaux mobiles, l'évolution est rapide. Les terminaux actuels, dotés de petits écrans et de claviers numériques, vont être rapidement complétés par les "SmartPhones", dotés d'écrans tactiles larges. Les Smart Phones proposent une interface graphique suivant le modèle des assistants électronique avec un ensemble d'applications embarquées et un stylet pour la navigation. Son mode de navigation graphique propose une ergonomie plus proche de celle des navigateurs Web.

Concernant les réseaux mobiles, les limitations du réseau GSM ne seront plus une préoccupation à l'avenir. En effet, celui-ci sera remplacé par les réseaux GPRS et UMTS, permettant des débits bien supérieurs à ceux que nous connaissons. 

Les terminaux mobiles seront ainsi de véritables petites plates-formes multimédias, permettant de diffuser son et vidéo, et ils n'auront rien a envier aux ordinateurs de bureaux.

Demain, les nouvelles applications Internet seront présentes dans tous les domaines de la vie professionnelle et grand public. On peut ainsi imaginer accéder à Internet à partir de son frigidaire, pour consulter une recette de cuisine.

Des expérimentations pour accéder à Internet à partir du réseau électrique sont en cours, on peut donc penser que l'ensemble des appareils de domotique ira chercher des informations sur des serveurs Web situés aux quatre coins de la planète, ouvrant ainsi des perspectives d'applications nouvelles.

Face à ce défi, les services bâtis autour d'une architecture évolutive comme XML auront une meilleure chance de répondre présent.

Copyright 2001, Cyril Cambien, I Vision.


 

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