Base de Donnée Et Le Webf
Base de Donnée Et Le Webf
Base de Donnée Et Le Webf
WEB
L/O/G/O
www.themegallery.com
Plan de
l ’ exposé
1 Introduction
8 Conclusion
INTRODUCTION
§Ces dernières années on a vu l’ouverture des systèmes d’information à
l’internet ;
§ Depuis 1970, ces systèmes se développaient par application
plus ou moins autonomes;
§ Le choc internet
§ Passage du web statique vers dynamique
§ Apparition une myriade de technologies nouvelles
attrayantes mais peu structurantes, perturbantes ;
§ Fin 2002, le temps de la réflexion est arrivé
§ urbaniser et intégrer les systèmes d’information de
manière globale ;
§ L’urbanisation passe par la standardisation des
échanges ;
§ Trouver un standard ouvert, solide, lisible, sécurisé,
capable d’assurer l’interopérabilité avec l’internet
LES ARCHITECTURES WEB ( 1 / 3 )
Architecture Client / serveur
Niveau 1 Niveau 2
Envoi des
Requête requêtes
http,
fichiers,
SQL,… Envoi des
réponses
Client Serveur
LES ARCHITECTURES WEB ( 2 / 3 )
Architecture trois tiers
L'architecture trois tiers sépare l'application en trois niveaux de
service distincts :
üpremier niveau : l'affichage et les traitements locaux (contrôles
de saisie, mise en forme de données... ) sont pris en charge par le
poste client;
üdeuxième niveau : les traitements applicatifs globaux sont pris en
charge par le service applicatif (par exemple serveur HTTP, FTP…);
ütroisième niveau : les services de base de données sont pris en
Présentation
charge par un SGBD. Traitement Données
Service Serveur de
applicatif données
( HTTP )
Poste client
LES ARCHITECTURES WEB ( 3 / 3 )
Architecture Peer To Peer ( P2P )
Dans une architecture P2P chaque ordinateur dans un tel réseau
est un peu serveur et un peu client. Cela signifie que chacun
des ordinateurs du réseau est libre de partager ses données.
QU'EST - CE - QUE LE WEB ?
•Service Internet permettant de naviguer à travers des pages web;
•HTTP (HyperText Transfer Protocol) est le protocole le utilisé
pour envoyer les requêtes et recevoir les pages;
•HTTPS est une version sécurisée permettant de crypter les
échanges.
Delphi VB 6 . 0 ASP …
ADO
OLE DB
ODBC
Schéma récapitulatif
JSP ( 1 / 2 )
§JSP (Java Server Page) est une spécification initialement proposée
par SUN , permettant d’incorporer du code Java dans des pages
HTML;
§JSP est un langage proche d'ASP;
§Un langage de script puissant exécuté du côté du serveur et non du
côté client.
Accès aux BD
§Pour accéder à une base de données, JSP utilise JDBC;
§JDBC est un ensemble de classes et d’interfaces Java permettant de
réaliser des connexions vers des base de données, d’effectuer
des requêtes et quelques autres fonctions;
§Avec JDBC, on peut développer des applications qui accèdent aux
diverses base de données (Oracle, Informix,…).
JSP ( 2 / 2 )
Fonctionnement de JDBC
Etablissement d’une connexion avec une source de données;
JDBD effectue les requêtes;
Utilisation des données obtenues (affichage, traitement statistique…);
Mise à jour des informations;
Fermeture de la connexion.
PHP ( 1 / 2 )
§PHP (Personnal Home Pages) est un langage utilisé dans des
applications web
pour créer des scripts HTML;
§L'essentiel de sa syntaxe est empruntée aux langages C, Java et
Perl, mais il y sont ajoutés plusieurs fonctionnalités;
§Le but de ce langage est de permettre aux développeurs web de
concevoir rapidement des sites aux pages dynamiques.
Accès aux BD
•Méthode similaire quelque soit le SGBD:
–Oracle, Sybase, MS SQL Server,MySQL, PostgreSQL, InterBase,
Pilote ODBC.
•Il faut suivre la séquence :
–1.Connexion;
–2.Requête;
–3.Exploitation des résultats;
–4.Fermeture de la connexion.
PHP ( 2 / 2 )
MySQL
§MySQL est un SGBD relationnel multiutilisateurs;
§Existe sur un très grand nombre de plate-forme d’exploitation
(Solaris, SunOS, Windows, OS/2…;
§Offre l’avantage d’être directement supporté par PHP;
§Il n’en permet pas moins d’exprimer des instructions SQL
élémentaires en termes de déclaration et manipulation de
données (CREATE DATABASE, CREATE TABLE, ALTER TABLE, INSERT,
DELETE, UPDATE…).
LES DONNéES SEMI - STRUCTURéES
Livres auteurs
titre auteur année nom prénom né-en mort-en
Les misérablesHugo 1831 Hugo Victor 1802 1885
La peste Camus 1947 Camus Albert 1913 1960
Exemple . dtd
<!ELEMENT bd (auteur*)>
<!ELEMENT auteur (nom, prénom, né-en, mort-en, livre+)>
<!ELEMENT nom (#PCDATA)>
<!ELEMENT prénom (#PCDATA)>
<!ELEMENT né-en (#PCDATA)>
<!ELEMENT mort-en (#PCDATA)>
<!ELEMENT livre (titre, année)>
<!ELEMENT titre (#PCDATA)>
<!ELEMENT année (#PCDATA)>
EXEMPLE COMPLET ( 2 / 2 )
Exemple . xml
<?xml version="1.0" encoding="UTF-8"?> Déclaration Entête du
<!DOCTYPE bd SYSTEM "Exemple.dtd"> document
Type de document
<bd>
<auteur> Racine du document
<nom>Hugo</nom> <prénom>Victor</prénom>
<né-en>1802</né-en> <mort-en>1885</mort-en>
<livre>
<titre>Les Misérables</titre>
<année>1862</année>
</livre> Elément
</auteur>
<auteur>
<nom>Camus</nom> <prénom>Albert</prénom>
<né-en>1913</né-en> <mort-en>1960</mort-en>
<livre> Balise ouvrante
<titre>La Peste</titre>
<année>1947</année> Corps du
</livre> document
</auteur>
</bd>
Balise fermante
XQUERY ( 1 / 2 )
§On peut caractériser XQuery comme étant le «SQL de XML»;
§Les premières propositions de langage de requêtes à la SQL pour
SGML ou XML datent de 1994;
§XQuery 1.0 est une recommandation du W3C depuis janvier 2007.
bd
Auteur Auteur
o-Hugo>
Info-Hugo
A in collection(" bd")/Auteur
$A/nom="Hugo"
n <prenom>{$A/prenom}</prenom>
Mort-en
<ne-en> {$A/ne-en} </ne-en> Prenom Ne-en
<mort-en>{$A/mort-en}</mort-en>
l'interrogation de SQ
L
documents XML
•en transformant le XML en SGBD
tables
•et les tables en XML
Tables Index
de
•Réalise en sur-couche l’intégration de XML en base
lignes
relationnelle;
•L’interface entre le Middleware et le SGBD s’effectue en
général en SQL;
MAPPING
Méthode 1 Méthode 2
NT > < ETUDIANT >
Mat = 090600 Nom = « YKHLEF » Prenom<=TUPLE > < Mat»/>
« Hadjer > 090600 </ Mat >
Mat = 090601 Nom = « SALHI » Prenom = « Fouzia »/> < Nom > YKHLEF </ Nom >
NT > < Prenom > Hadjer </ Prenom >
</ TUPLE >
< TUPLE >…</ TUPLE >
</ ETUDIANT >
MAPPING
Transformation par schéma
•Consiste à définir le passage d’un document XML à des lignes de
tables par des correspondances entre schéma XML et schéma
relationnel, et vice versa ;
LE PRINCIPE
•Les éléments de type simple (entier, texte, numérique…) sont
transformés en colonnes de table de type SQL équivalent ;
•Les éléments de type complexe (séquence de type simple) sont
transformés en plusieurs colonnes d’une table, ou plusieurs, et
puis faire les correspondances ;
Problème
•La transformation d’un schéma XML en un schéma relationnel est
complexe ;
•A un schéma XML correspond plusieurs schémas relationnels.
Solution : Nécessité d’un langage de transformation du
relationnel vers XML et vice versa ;
MAPPING
Transformation par schéma
Adresse Nom Rue No Ville
Exemple
Nom
Rue
Adresse No
Restaurants Restaurant
1… ∞ Ville
Prix
Telephone
RESTAURANT Nom Prix Telephone
MAPPING
Transformation par requête
•Consiste à définir par des requêtes (XQuary) le passage de lignes
de tables à un document XML ;
URANT><TUPLE id=« » Nom=« » categorie=« » telephone=« » Prix =« » /> …</ RESTAU
SE><TUPLE id=« » No=« » Rue=« » Ville =« » /> …</ ADRESSE >
BD relationnelle
Architecture de
XMLizer
SGBD XML NATIF
§ Sont des nouveaux SGBD dédiés à XML;
§ Stockant les documents en entiers sans les décomposer en
éléments « XML est l ’ entité centrale de la base
(= relation ) »
§ Ne réalise aucune transformation en tables (Mapping);
§ Gère des index sophistiqués afin de permettre les
recherches par contenu;
§ Très rapide en recherche de documents entiers;
§ Lent en recherche d’éléments de taille réduite;
§ On va étudierpar la suite un SGBD connu :
§ Xindice de Apache.
Xindice de Apache ( 1 / 2 )
Interface CORBA
Architecture de Xindice
EXTENSION DES SGBD RELATIONNEL EXISTANTS
SGBD relationnels étendus avec des outils pour le traitement de XML
nition d’un schéma relationnel pour stocker XML;
rrogation avec SQL;
pping en tables.
grent des techniques pour supporter XML;
Elles sont hybrides;
Elles sont propriétaires puisque enfouies dans un SGBD relationnel;
Elles sont aujourd’hui en pleine d’évolution d’une version à une autre.
• Stockage et publication
– Utilse le Mapping
– Stockage de XML en colonne (XML Type)
• Interrogation
– Support de SQL/XML
– ServletXSQL
• document XML avec requêtes SQL/XML
• transformation du résultat des requêtes en XML
Oracle XML / DB ( 2 / 2 )
Interrogation avec SQL / XML
• Intégration de fonctionnalités XQuery à SQL
• Support à la SQL3
– Type de donnée natif XML Type (colonnes XML)
– Fonctions de construction de XML ;
– Insertion et Maj de XML en colonnes
• Exemple de requête
• SELECT XMLElement("Emp", XMLForest ( e.hire, e.dept AS
"department ") )AS "result“
• FROM EMPLOYEE e
• WHERE ExtractValue(e.XMLemp, /emp/@id) > 200;
• Intégré à Oracle et DB2
BD NATIVE VERSUS BD éTENDUE
Points forts base de données Points forts Base de données XML
relationnelle (objet) étendues native
•Pas de nouveau SGBD; •Un nouveau SGBD fait pour
•Possibilité de normaliser XML
les données •Jamais de mapping à définir
multi-SGBD;
Exemple d ’ application : Site web
XML
INTERNET
HTML
Navigateur
web
WML
Téléphone
WAP
XML
Commutateur
XML SOAP
Base de Serveur de
Données présentati
on
Architecture d ’ un site
web XML
CONCLUSION
§Dans cette présentation, nous avons rappelé :
§Les techniques basées à l’origine sur HTTP et HTML statique ;
§Des extensions pour développer des serveurs dynamiques (PHP,
ASP, JSP…) ;
§Et nous avons vu : XML, qui vient aussi s’ajouter comme modèle d’échange
aux serveurs d’applications ;
§Au-delà, XML peut il à ce point changer les bases de données ?
§Les SGBD actuels sont :
§Limités pour traiter les données faiblement-
structurées ;
§Non homogène par rapport au web ;
§Tendance vers XML pour échanger, et représenter les données web
(semi-structuré).
§Faut il autant oublier le passé, notamment le relationnel ?
§Non :
§Toute entreprise dispose aujourd’hui d’un SGBD SQL ;
§Les méthodes du relationnel sont bien connues et rodées
pour la conception et la manipulation des données.
XML Echanges des données
hétérogènes.
SGBDR(O) Stockages des données.
Merci!
L/O/G/O
www.themegallery.com