Inscrivez-vous gratuitement à la Newsletter BFM Business
Google, Microsoft, et quelques start up s'appuient sur les formats RSS et Atom, ainsi que sur les URI pour accéder facilement à n'importe quelle donnée distante, puis la transporter d'un serveur à l'autre.
Depuis l'apparition du web, les informaticiens partent du principe que derrière toute URL se trouve une page HTML ou un document (PDF, image, etc.). Pourtant, le mécanisme d'adressage des URL n'impose aucun format de données.
Que se passerait-il si l'on remplaçait les pages HTML par des fichiers ou des flux XML contenant des données structurées ? ' Le web se transformerait alors en une gigantesque base de données ',
estime Tom Coates, chercheur chez Yahoo. Une simple URL, aide, en effet, à échanger des données métier structurées d'un progiciel à l'autre (mode point à point) en empruntant le réseau public ! Caractéristique du web 2.0, cette démarche repose
sur des technologies qui existent depuis des années. Alors que personne n'y avait pensé, elle est maintenant utilisée par des services grand public comme Del.icio.us (partage de favoris en ligne) ou Flickr (partage de photos). Tout porte à croire
qu'elle le sera demain par l'ensemble des éditeurs.Cette approche s'appuie sur les architectures Rest et Ajax, la redécouverte du rôle des URI (Uniform Resource Identifier), et une extension de l'usage de RSS (Really Simple Syndication). Rest (Representational State Transfer)
s'est imposée comme l'architecture de référence pour échanger des données d'un site à l'autre en mode asynchrone. Elle consiste simplement à écrire, modifier, ou supprimer un fichier XML sur un serveur web en s'appuyant sur les en-têtes du protocole
HTTP 1.1. La lecture d'un fichier XML aide à récupérer des données, l'écriture à en ajouter ou à modifier, etc. Bien entendu, Rest ne propose qu'un mécanisme d'échange, dont HTTP est le protocole. Les fichiers XML échangés sont donc les interfaces
de services.Depuis le succès de Rest, d'autres formats, protocoles, et architectures d'échange sont apparus. Et notamment Ajax (Asynchronous Javascript and XML). Ce motif de conception rend possible l'échange de données entre le client web
et le serveur. Il repose sur une structure de données aux formats Javascript avec JSON, texte avec YAML, etc. Les échanges Ajax servent surtout à alimenter des composants d'interface graphique avec des services web métier.
Les URI, SQL du web 2.0
En parallèle des échanges entre clients et services, RSS aide à mettre en ?"uvre l'équivalent d'un mode push. Ce format de données créé par Netscape en 1999 pour faciliter l'échange d'actualités entre sites web définit une
enveloppe XML contenant un titre, une URL pointant vers l'article, une description, une date de publication, un auteur, et d'autres balises, dont un champ libre ' commentaires '. RSS repose sur un
échange client-serveur, où le client vient lire la liste des derniers articles (un fichier XML, en fait) à une adresse donnée. ' Rien n'empêche de remplacer les informations de l'article par des données. Le titre de l'article
peut alors être un identifiant ; plutôt que de pointer vers un article, l'URL peut pointer vers un document XML contenant les données ', note Jérémy Chatard, directeur technique de la SSII Breek. Même le champ libre
' commentaires ' défini par RSS peut contenir une structure XML, et donc des données.Rest, Ajax, et RSS fonctionnent parfaitement pour des échanges réguliers de données, en mode point à point, d'un logiciel à l'autre. En revanche, elles ne fournissent aucun mécanisme d'adressage des données. Il restait donc à
inventer un langage de requête, tel SQL, pour les compléter. De nombreuses start up du web 2.0 proposent d'utiliser les URI à cet effet. Elles exposent ainsi les objets métier qu'elles manipulent au travers d'URI qui pointent sur des pages web ou
des fichiers XML. La structure publique de sites tels que Flickr ou Del.icio.us rend possible d'adresser un objet métier particulier et ses propriétés de façon prédictible et stable. Pour trouver la liste des photos d'un individu, il suffit, par
exemple, de taper l'URL ' flickr.com/photos/identifiant_utilisateur '. Les albums sont disponibles en ajoutant ' /sets ' derrière le nom de l'utilisateur,
les photos correspondant à un mot-clé particulier le sont en ajoutant ' /tags ', etc. Dans un contexte professionnel, l'objet ' photo ' pourrait être
remplacé par l'objet ' client ', l'objet ' album ' par l'objet ' commande ', etc.
' La structure apparente du site devient donc un véritable langage de requête, car elle s'appuie elle-même sur la structure des objets métier sous-jacents. Cette structure remplace SQL ', confirme
Patrick Chanezon, architecte chez Google.Peu à peu, chaque service en ligne cherche à utiliser un format de message standard pour échanger ses structures de données. ' RSS et Atom ont été retenus pour jouer le même rôle
qu'ODBC ', explique Patrick Chanezon. Microsoft et Google sont deux fervents défenseurs de cette approche. Microsoft a étendu RSS avec Simple Sharing Extensions (SSE) pour synchroniser un flux RSS dans les deux sens :
émetteur et récepteur. ' SSE est donc particulièrement intéressant pour synchroniser une application qui a été utilisée en mode déconnecté ou pour mettre à jour en permanence deux progiciels ', détaille
Sami Jaber, directeur technique de Valtech Toulouse. Microsoft propose aussi Simple List Extension (SLE), déjà adoptée par Amazon, eBay, et Yahoo. Disponible sous licence Creative Commons, SLE s'appuie sur un système d'annotation de flux RSS pour
créer automatiquement dans le navigateur une interface graphique interactive aidant à manipuler - afficher, trier, grouper, etc. - les données du flux RSS. ' SLE transforme un simple flux RSS en une application
basique sans nécessiter de développement ', résume Alain Le Hégarat, responsable marketing et ventes, division développeurs et plate-forme d'entreprise chez Microsoft. Il est même possible de rechercher localement (au sein
des données chargées dans le navigateur) une information à l'aide d'un mot-clé.
Google veut imposer son format d'échange
De son côté, Google a lancé Google Data API (GData) il y a déjà quelques mois. S'appuyant sur RSS et Atom, elle ' fournit un protocole simple et standard pour lire et écrire des données sur le
web ', explique le moteur de recherche. GData ajoute à RSS et Atom un langage de requête propre à Google, un verrou optimiste pour les transactions, et un système d'authentification. Google compte imposer son format d'échange
de données en le rendant obligatoire pour manipuler la plupart des API permettant d'accéder à ses services en ligne : Calendar, Spreadsheets, Base, etc.Enfin, l'éditeur RSS Bus propose carrément un ESB allégé, basé sur RSS. Son bus d'échange est composé de connecteurs (pour S3 d'Amazon, LDAP, FTP, CSV, SQL, etc.), qui encapsulent n'importe quel format de données dans une
enveloppe RSS pour véhiculer de façon standard le flux entre un client et un serveur, ou entre deux serveurs. Pour Google, Microsoft, et RSS Bus, le web est en voie de devenir la plus grande base de données distribuée du monde.
Votre opinion