Ecole Nationale Supérieure des Télécommunications Les outils XML



Documents pareils
XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition)

FileMaker Server 11. Publication Web personnalisée avec XML et XSLT

Compte Rendu d intégration d application

XML, PMML, SOAP. Rapport. EPITA SCIA Promo janvier Julien Lemoine Alexandre Thibault Nicolas Wiest-Million

Programmation des Applications Réparties. Parsers XML DOM et SAX

<Insert Picture Here>ApExposé. Cédric MYLLE 05 Février Exposé Système et Réseaux : ApEx, Application Express d Oracle

Server-side XML. PAS FINI... mais ok pour un début. Originaux. Auteurs et version. Prérequis: Java de base, servlets, GUI et XML

Module BD et sites WEB

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

Introduction à. Oracle Application Express

SQL Server Installation Center et SQL Server Management Studio

et Groupe Eyrolles, 2006, ISBN :

4. SERVICES WEB REST 46

THEME PROJET D ELABORATION D UNE BASE DE DONNEES SOUS LE SERVEUR MYSQL

Architectures web/bases de données

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv>

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

les techniques d'extraction, les formulaires et intégration dans un site WEB

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

BIRT (Business Intelligence and Reporting Tools)

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki

Mise en œuvre des serveurs d application

Développement d applications Internet et réseaux avec LabVIEW. Alexandre STANURSKI National Instruments France

La base de données XML exist. A. Belaïd

Faculté de Génie Chaire industrielle en infrastructures de communication. La technologie XML. Wajdi Elleuch

Cours Bases de données

Introduction aux «Services Web»

Hébergement MMI SEMESTRE 4

Joomla! Création et administration d'un site web - Version numérique

Catalogue des Formations Techniques

Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa Novembre 2008

Serveurs de noms Protocoles HTTP et FTP

Technologies Web. Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya. Université Pierre et Marie Curie

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

Refonte front-office / back-office - Architecture & Conception -

Java et les bases de données

ADMINISTRATION DE ADOBE LIVECYCLE MOSAIC 9.5

Programmation Web. Introduction

Application web de gestion de comptes en banques

SYSTÈMES D INFORMATIONS

La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1

Environnements de Développement

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

Utilisation de Jakarta Tomcat

Formation : WEbMaster

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

IBM DB2 Alphablox. d administration GC

Devenez un véritable développeur web en 3 mois!

UE 8 Systèmes d information de gestion Le programme

BASE DE DONNÉES XML NATIVE

TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web.

Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web»

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement

Avant-propos 1. Avant-propos Organisation du guide À qui s'adresse ce guide?...4

Web Tier : déploiement de servlets

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

CATALOGUE FORMATIONS DOMAINE Bases de données

IBM System i. DB2 Web Query for System i : le successeur de Query/400? Oui, mais bien plus!!!

Architecture Orientée Service, JSON et API REST

Application Web et J2EE

Pratique et administration des systèmes

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN ING

Thierry BOULANGER. par la pratique. Bases indispensables Concepts et cas pratiques XML. 3 ième édition. Nouvelle édition

Applications et Services WEB: Architecture REST

Cursus Sage ERP X3 Outils & Développement. CURSUS Sage ERP X3 Outils & Développement ADVANCED. Outils avancés. 2 jours X3A-ADM. Développement 1 &2

Serveur d'archivage 2007 Installation et utilisation de la BD exist

Notes de cours : bases de données distribuées et repliquées

Remote Method Invocation (RMI)

Java pour le Web. Cours Java - F. Michel

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

CREATION WEB DYNAMIQUE

Formation en Logiciels Libres. Fiche d inscription

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

Vulnérabilités et sécurisation des applications Web

Utiliser SQL Server 2008 R2 Reporting Services comme source de donne es pour Microsoft Excel

C-JDBC. Emmanuel Cecchet INRIA, Projet Sardes.

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

Introduction à Microsoft InfoPath 2010

FileMaker Server 14. Guide de démarrage

Mysql. Les requêtes préparées Prepared statements

Portabilité sur système Android d un système de borne d information

Jérôme FESSY. IUT de Paris 5. Base de Données. Cours Introductif. Base de Données

SIO Page 1 de 5. Applications Web dynamiques. Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault

IFT3030 Base de données. Chapitre 2 Architecture d une base de données

CQP Développeur Nouvelles Technologies (DNT)

Le Langage SQL version Oracle

Java DataBaseConnectivity

2 Serveurs OLAP et introduction au Data Mining

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués

Création d une application JEE

Plateforme PAYZEN. Définition de Web-services

CHAPITRE 1 ARCHITECTURE

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Introduction à JDBC. Accès aux bases de données en Java

Transcription:

Ecole Nationale Supérieure des Télécommunications Les outils XML Page 1 sur 13

SOMMAIRE 1 Introduction 3 2 Parseur XML et processeur XSLT 4 2.1 Le Parseur XML v2 4 2.1.1 Les API DOM et SAX 4 2.1.2 Le parseur XML d Oracle 4 2.1.3 Le processeur XSLT 5 3 Les utilitaires XML-SQL 6 3.1 Résultat de requête SQL sous format XML 6 3.1.1 Le principe 6 3.1.2 La classe utilitaire OracleXMLQuery 7 3.2 Stockage de données XML dans des tables de données 7 3.2.1 Le principe 7 3.2.2 La classe utilitaire OracleXMLSave 8 4 La servlet XSQL 9 5 Exemples d application 11 5.1 Personnalisation de la présentation des données 11 5.2 Echanges de données entre applications 11 6 Conclusion 13 Page 2 sur 13

1 Introduction Oracle a crées l OTN (Oracle Technology Network), communauté qui rassemble les développeurs mettant en œuvre les solutions Oracle ou simplement intéressés par celles-ci. C est dans ce cadre qu Oracle fournit gratuitement le XDK (XML Developpement Kit), un kit de développement comprenant un certain nombre d outils XML. Cette initiative fait partie d un mouvement plus important au sein d Oracle. En effet, avec la plateforme Internet 9i, Oracle se positionne en tant que fournisseur d infrastructure internet. Cette plate-forme se compose du serveur d application Oracle 9i AS (Application Server), de la base de données Oracle et des outils de développement Oracle 9i developer Suite. Etant donné l importance du standard XML dans les applications web, Oracle se devait de proposer des outils adaptés pour résoudre des problématiques comme la personnalisation de la présentation des données ou encore les échanges de données entre applications. Dans cet exposé je présenterai les outils du XDK à savoir : - le parseur Oracle v2 - les utilitaires XML SQL - la servlet XSQL Afin d illustrer l utilisation de ces outils, je présenterai pour finir deux applications couramment rencontrées dans le domaine des plate-formes Internet : la personnalisation de la présentation des données et les échanges entre applications. Page 3 sur 13

2 Parseur XML et processeur XSLT Le format XML est devenu un standard W3C incontournable. Il est à la base des échanges de données entre applications. Ainsi, il était tout naturel de retrouver dans l offre d Oracle des outils XML comme les parseurs et processeurs XSLT qui sont à la base de tous traitements et transformations de fichiers XML. 2.1 Le Parseur XML v2 2.1.1 Les API DOM et SAX Afin de rendre indépendant le type de parseur utilisé et leurs interfaces d accès par les applications, deux API standardisée ont été définies : DOM(Document Object Model) et SAX (Simple API for XML). Le schéma suivant indique la place du parseur XML. Données XML Parseur XML Interfaces standard Application L API DOM permet de construire une arborescence représentant le document XML. L application peut par la suite parcourir celle ci et réaliser les traitements correspondant. L API SAX permet d associer un évènement à chaque balise. L application utilise un gestionnaire d évènements pour réaliser son traitement. Le tableau suivant résume les caractéristiques de ces deux API DOM SAX Origine Norme du W3C David Megginson Version Level 1 1998 SAX 1.0 Level 2 2000 SAX2 2000 Mode de traitement Parcours d une arborescence de Mode évènementiel nœuds Avantage - navigation dans l arborescence du - Nécessite peu de mémoire document - Rapidité de traitement Inconvénient - construction de l arborescence avant touts traitements (rapidité?) - mémoire utilisée dans le cas de documents XML volumineux - Ne garde pas en mémoire la structure du document XML - Adaptée pour la lecture des données, pas leurs modifications 2.1.2 Le parseur XML d Oracle Page 4 sur 13

Il ne s agit pas d un parseur mais de plusieurs selon le langage de programmation utilisé pour les applications : - Java - C++ - C - PL/SQL Ces parseurs supportent SAX 1.0 et DOM level 1.0 (mise à part le parseur PL/SQL). De plus, ils sont conformes aux recommandations du W3C en ce qui concerne les espaces de nommage. Le tableau suivant résume les caractéristiques du parseur Java en fonction des versions du XDK.. XDK 8i XDK 9i SAX 1.0 SAX2 X DOM Level 1 DOM Level 2 X Espace de nom XML 2.1.3 Le processeur XSLT Le parseur d Oracle intègre un processeur XSLT permettant de transformer un document XML en un autre document XML ou HTML à partir d une feuille de style XSL. source Oracle Page 5 sur 13

3 Les utilitaires XML-SQL Oracle fournit un certain nombre de classes Java permettant aux applications de manipuler des données XML. Les deux principales fonctionnalités ainsi obtenues sont : - l application envoie des requêtes SQL et obtient le résultat sous forme de données XML - l application enregistre dans la base des données XML 3.1 Résultat de requête SQL sous format XML 3.1.1 Le principe Cet utilitaire permet à une application d envoyer des requêtes SQL et d obtenir le résultat sous forme de données XML. La structure des données est basée sur celle des tables de la base de données. Considérons la requête SQL simple suivante : source Oracle SELECT NOM, EMAIL FROM CLIENT WHERE CLIENTID = 1212 ; Le résultat sera le document XML suivant <?xml version= "1.0"?> <ROWSET> <ROW id= "1" > <NOM>dupont</NOM> <EMAIL>dupont@dot.com</EMAIL> </ROW> </ROWSET> La racine du document XML est ROWSETet chaque nœud ROW correspond à une ligne de la réponse. Page 6 sur 13

3.1.2 La classe utilitaire OracleXMLQuery La classe utilitaire permettant de réaliser cette tache est OracleXMLQuery. Elle se trouve dans le package oracle.xml.sql.query. L utilisation de cette classe peut se faire de la manière suivante : On instancie la classe avec comme paramètres la connexion à la base de données et la requête SQL : OracleXMLQuery qry = new OracleXMLQuery(conn, "select NOM,EMAIL from CLIENT where CLIENTID=1212); Un certain nombre de méthodes de la classe OracleXMLQuery peuvent être utilisées qry.setmaxrows(1); qry.setrowsettag("racine") ; qry.setrowtag("noeud" ; //limite le nombre de lignes dans le résultat de la requête //modifie le Tag de la racine //modifie le Tag de lignes résultat) Le résultat peut être obtenu soit sous forme d une String soit sous forme d un document DOM String resul = qry.getxmlstring() ; 3.2 Stockage de données XML dans des tables de données 3.2.1 Le principe Des classes utilitaires permettent de stocker des documents XMLdans une table objet d une base Oracle. source Oracle Le principe est le suivant : - Un élément devient une colonne et sa valeur celle de la colonne. - Un élément avec des sous-éléments se transforme en un type objet. - Une liste d éléments devient une collection. - Les données non structurées sont stockée en tant que CLOB (Character Large OBject). Page 7 sur 13

3.2.2 La classe utilitaire OracleXMLSave Il s agit de la classe OracleXMLSave qui se trouve dans le package oracle.xml.sql.dml Son constructeur prend la connexion à la base de donnée et le nom de la table dans laquelle on insère les données XML. OracleXMLSave save = new OracleXMLSave(conn, tabname ); Par la suite, pour enregistrer les données du fichier emp.xml, on effectue : URL url = save.createurl( emp.xml ); int rowcount = save.insertxml(url); Page 8 sur 13

4 La servlet XSQL La servlet XSQL permet d exécuter des requêtes SQL et de présenter les résultats sous forme de données XML. Le schéma suivant résume le fonctionnement: source Oracle (1) le client accède au service de la servlet via un browser. Il indique dans l URL le fichier.xsql à exécuter et peut éventuellement passer en paramètre le nom de la feuille de style à appliquer au résultat. La requête du client parvient au serveur http qui la transmet au conteneur de servlet qui à son tour la transmet à la servlet XSQL. (2) La servlet XSQL transmet le fichier.xsql au parseur XML pour Java d Oracle. Il parse le fichier XML et crée l API d accès aux données du fichier XML. (3) Le processeur de page SQL utilise cette API pour passer les requêtes SQL aux classes utilitaires SQL. Il passe aussi les données XSL au processeur XSLT (4) Les classes utilitaires SQL après avoir réalisé la requête SQL, transmettent au processeur XSLT le résultat sous la forme de données XML (5) Le processeur XSLT peut alors éventuellement transformer les données XML à l aide de la feuille de style XSL (6) Le processeur retourne le résultat au navigateur du client. Page 9 sur 13

Exemple de fichier.xsql <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="rowcol.xsl"?> <query connection="demo" find="%" sort="ename" null-indicator="yes" > SELECT * FROM EMP WHERE ENAME LIKE '%{@find}%' ORDER BY {@sort} </query> Page 10 sur 13

5 Exemples d application 5.1 Personnalisation de la présentation des données La problématique de la personnalisation de la présentation des données se retrouve très souvent dans les applications web. Les clients ce ces applications peuvent être multiples : navigateur, mobile, PDA etc La solution qui consiste à développer une application par type de client est totalement inadaptée car elle ne sépare pas la partie présentation de la partie traitement. Une telle approche peut ainsi se révéler très coûteuse en terme de mise à jour, de traitement etc La servlet XSQL permet de résoudre en partie ce problème : elle permet de générer de manière dynamique et personnaliser le résultat des requêtes des clients. Le schéma suivant résume l approche A chaque type de client (mobile, navigateur) correspond une feuille de style XSL. source Oracle 5.2 Echanges de données entre applications XMl s est très vite imposé comme un standard d échange de données entre application. Un exemple d application est proposé par le schéma ci-dessous. Il met en œuvre une première application qui reçoit la requête du client, la traite puis envoie le résultat sous format XML à une autre application distante. Celle ci peut alors réaliser le traitement correspondant en traitant le document à l aide d un parseur, par exemple stocker des informations dans une base de données. Page 11 sur 13

Source Oracle Page 12 sur 13

6 Conclusion Avec le XDK, Oracle fournit un certain nombre d outils aux développeurs pour le développement d application web. On peut cependant ce poser la question de la réel utilité de ces outils ou tout du moins de leur degré de complexité. En effet, on peut facilement développer des applications à l aide de parseur autre que celui d oracle. A titre d exemple on peut citer le parseur Xerces d Apache. De même, pour les processeurs XSLT (xt de james Clark qui peut être obtenu sous forme d une servlet). La servlet XSQl est une approche intéressante mais comme le montre Oracle, on peut assez facilement développer une servlet qui remplirai le même rôle à l aide d un parseur XML(Xerces) et d un processeur XSLT (xt). Les outils XML SQL semblent être plus intéressant car ils communiquent directement avec la base de données. Au total, l approche d Oracle reste intéressante car elle simplifie le développement et propose des applications concrètes. Page 13 sur 13