Passer au contenu

XML et Java s’invitent dans le moteur

La plupart des moteurs de SGBDR savent exécuter du code Java et renvoyer le résultat d’une requête sous la forme de documents XML.

Le virage négocié dès 1996 par les SGBDR (systèmes de gestion de bases de données relationnelles) en direction de l’approche objet-relationnelle leur permet aujourd’hui de s’ouvrir à Java et XML. Et ce via la définition de types de données et de fonctions par l’utilisateur (User Defined Type et User Defined Function), gérés dans une extension du moteur. Celle-ci s’appelle Extender chez IBM, Cartridge chez Oracle, Datablade chez Informix, ou Speciality Datastore chez Sybase. Mais les SGBDR peuvent aussi gérer nativement Java – à l’exception de Microsoft SQL Server – et XML. “Le stockage natif de XML permet la construction dynamique de chaînes de caractères”, explique Marc Yvon, directeur de l’avant-vente chez Informix France. “En intégrant des documents XML dans la base, on gère dans le même moteur les données structurées – tables relationnelles – et celles non structurées – documents XML”, ajoute Bertrand Audras, ingénieur avant-vente sur l’offre bases de données de Sybase.Cela dit, il existe deux mécanismes pour stocker et restituer un document XML dans une base de données : soit dans son intégralité, sous forme de champ texte Clob (Character Large Object), soit éclaté en arborescence dans les tables de la base. Dans ce cas, le SGBD fournit une fonction de mapping, qui fait correspondre structure XML et attributs ou colonnes de table. DB2 d’IBM, réalise cette correspondance à l’aide du module DAD (Data Access Definition) : le document peut aussi être stocké à l’extérieur de la base, la correspondance étant réalisée à l’aide de DB2 Datalink Manager.Concernant Java, alors que Microsoft ne le prend pas du tout en compte dans son SGBDR, IBM, Informix, Oracle et Sybase offrent, de leur côté, diverses possibilités. Notamment celle de développer en Java sur la base de données grâce au pilote JDBC (Java Database Connectivity). Ces bases supportent aussi SQL/J, une extension de Java dans laquelle peuvent être incluses des requêtes SQL. Un moyen d’écrire des procédures stockées en Java. Ce mécanisme peut se révéler avantageux lorsque les traitements doivent être proches des données pour des raisons de performance ou de “maintenabilité”. De plus, Oracle, Informix et Sybase intègrent une machine virtuelle Java autorisant la création d’objets Java. Lesquels peuvent être appelés directement par une procédure stockée. Ce n’est pourtant pas le cas de DB2. “IBM a choisi d’intégrer la Java Virtual Machine dans son serveur d’applications WebSphere, fourni avec la base de données”, précise Frantz de Rycke, DB2 Market Manager chez IBM. Pour superviser leurs bases de données, Oracle et IBM proposent des outils d’administration en Java. Ils disposent ainsi d’un produit unique, portable sur toutes les plates-formes à administrer – même si la portabilité s’obtient toujours au détriment des performances liées au langage.

🔴 Pour ne manquer aucune actualité de 01net, suivez-nous sur Google Actualités et WhatsApp.


Claire Rémy