Sie sind auf Seite 1von 45

BASE DE DONNES ET LE

WEB

L/O/G/O

www.themegallery.com

Plan de
l expos
1

Introduction

Les architectures web

Passage du web statique vers web


dynamique

Les technologies dynamique ct


serveur

Les donnes semi - structures

Introduction XML + quelques


concepts de base

7
8

Stockage de donnes XML


Conclusion

INTRODUCTION
Ces dernires annes on a vu louverture des systmes dinformation
linternet;
Depuis 1970, ces systmes se dveloppaient 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 rflexion est arriv
urbaniser et intgrer les systmes dinformation de
manire globale;

Lurbanisation
changes;

passe

par

la

standardisation

des

Trouver un standard ouvert, solide, lisible, scuris,


capable dassurer linteroprabilit avec linternet

LES ARCHITECTURES WEB ( 1 / 3 )


Architecture Client / serveur
L'architecture clients/serveurs caractrise les systmes dans
lesquels le client demande une ressource et le serveur la lui
fournit directement.
Niveau 1

Requte
http,
fichiers,
SQL,

Client

Niveau 2
Envoi des
requtes
Envoi des
rponses
Serveur

LES ARCHITECTURES WEB ( 2 / 3 )


Architecture trois tiers
L'architecture trois tiers spare l'application en trois niveaux de
service distincts :
premier niveau : l'affichage et les traitements locaux (contrles
de saisie, mise en forme de donnes... ) sont pris en charge par le
poste client;
deuxime niveau : les traitements applicatifs globaux sont pris en
charge par le service applicatif (par exemple serveur HTTP, FTP);
troisime niveau : les services de base de donnes sont pris en
Prsentation
Donnes
charge
par un SGBD. Traitement

Service
applicatif
( HTTP )
Poste client

Serveur de
donnes

LES ARCHITECTURES WEB ( 3 / 3 )


Architecture Peer To Peer ( P2P )
Dans une architecture P2P chaque ordinateur dans un tel rseau
est un peu serveur et un peu client. Cela signifie que chacun
des ordinateurs du rseau est libre de partager ses donnes.

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 requtes et recevoir les pages;
HTTPS est une version scurise permettant
de crypter les
changes.

LIMITES SITE WEB


STATIQUE

Maintenance difficile du fait de l'obligation de modifier


manuellement chacune des pages;
Impossibilit de renvoyer une page personnalise selon le
visiteur;
Impossibilit de crer une page dynamiquement selon le contenu
d'une base de donnes.

SITE WEB DYNAMIQUE


Un Site

Web dynamique permet :


partage dune base de donnes globales;
utilisation de templates ct serveur avec accs SQL;
standardisation des mta-donnes et des formulaires;
accs via SQL optimis avec indexation du contenu;
augmentation de la productivit des dveloppeurs.

LES TECHNOLOGIES DYNAMIQUES CT SERVEUR


ASP (Active Server Pages);
JSP (Java Server Pages);
PHP (Personnal Home Pages) .

ASP ( 1 / 3 )
ASP (Active Server Pages) un environnement de programmation,
permettant de reprsenter sous forme d'objets les interactions
entre le navigateur du client, le serveur web, ainsi que les
connexions des bases de donnes;
Les ASP sont excutes du ct du serveur et non du ct client;
Les ASP sont intgrables au sein d'une page Web en HTML l'aide
de balises spciales;
Les Active Server Pages s'inscrivent dans une architecture 3
tiers.

Accs aux bases de donnes

Pour accder une base de donnes, ASP utilise lactivex ADO;


ActiveX Data Object (ADO) permet de manipuler diffrents types de
bases de donnes(oracle, Sql Server et access ...);
Nombreux environnements tels que : Visual Basic, ASP, Visual C++...;

ASP ( 2 / 3 )
ADO ne permet pas de se connecter directement une base de
donnes particulire, il est obligatoire de passer par
fournisseur compatible.

Les fournisseurs compatibles OLE DB


OLE DB (Object Linking and Embedded DataBase) est une API qui
respecte tous les concepts de bases de donnes, pour la mise en
uvre des pilotes OLE DB.

Open Database Connectivity ( ODBC )

ODBC est un standard dfinit par un groupe de socits et est


implment de telle manire qu'il puisse tre vue comme tant
un fournisseur compatible OLE DB;
ODBC
fournit
des
drivers
pour
des
bases
de
donnes
supplmentaires, le couplage OLE DB/ODBC donne des possibilits
pour l'accs aux BD.

ASP ( 3 / 3 )
Delphi

ASP

VB 6 . 0

ADO
OLE DB
ODBC

Oracle

Access

SQL Server

Schma rcapitulatif

JSP ( 1 / 2 )
JSP (Java Server Page) est une spcification initialement propose
par SUN , permettant dincorporer du code Java dans des pages
HTML;
JSP est un langage proche d'ASP;
Un langage de script puissant excut du ct du serveur et non du
ct client.

Accs aux BD

Pour accder une base de donnes, JSP utilise JDBC;


JDBC est un ensemble de classes et dinterfaces Java permettant de
raliser des connexions vers des base de donnes, deffectuer
des requtes et quelques autres fonctions;
Avec JDBC, on peut dvelopper des applications qui accdent aux
diverses base de donnes (Oracle, Informix,).

JSP ( 2 / 2 )

Fonctionnement de JDBC

Etablissement dune connexion avec une source de donnes;


JDBD effectue les requtes;
Utilisation des donnes 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 crer des scripts HTML;
L'essentiel de sa syntaxe est emprunte aux langages C, Java et
Perl, mais il y sont ajouts plusieurs fonctionnalits;
Le but de ce langage est de permettre aux dveloppeurs web de
concevoir rapidement des sites aux pages dynamiques.

Accs aux BD
Mthode similaire quelque soit le SGBD:
Oracle, Sybase, MS SQL Server,MySQL, PostgreSQL, InterBase,
Pilote ODBC.
Il faut suivre la squence :
1.Connexion;
2.Requte;
3.Exploitation des rsultats;
4.Fermeture de la connexion.

PHP ( 2 / 2 )
MySQL
MySQL est un SGBD relationnel multiutilisateurs;
Existe sur un trs grand nombre de plate-forme dexploitation
(Solaris, SunOS, Windows, OS/2;
Offre lavantage dtre directement support par PHP;
Il nen permet pas moins dexprimer des instructions SQL
lmentaires en termes de dclaration et manipulation de
donnes (CREATE DATABASE, CREATE TABLE, ALTER TABLE, INSERT,
DELETE, UPDATE).

LES DONNES SEMI - STRUCTURES


Les donnes du web sont des donnes semi-structures;
Ils sont structures de faon htrogne absence de structure
fixe et rigide;
Ils voluent si rapidement que les changements ne se rpercutent
pas au niveau de la structure;
Lchange de donnes structure variable est base sur

XML ;

Ils reprsentent un domaine particulirement intressant pour les


langages de requtes et le raisonnement extensionnel.

QU'EST XML? ( 1 / 2 )
Extensible Markup Language
XML est un mta-langage universel pour reprsenter les donnes
changes sur le Web qui permet au dveloppeur de dlivrer du
contenu depuis les applications d'autres applications ou
aux navigateurs;
XML standardise la manire dont l'information est :
change, prsente , archive , retrouve, transforme,
crypte...
Multiples prcurseurs dont les plus connues ;
SGML pour la structuration (1969) ;
HTML pour la prsentation (1991);

Approches mlangeant parfois le fond et la forme !;

QU'EST XML? ( 2 / 2 )
Un document XML est un arbre;
Les nuds de l'arbre sont des lments qui peuvent tre
qualifis par des attributs ;
Sparation du fond de la forme;
Forme = prsentation partir de la structure
(style);
Fond = structure + donnes (contenu) ;
La prsentation est dfinie l'extrieur du document, soit
via CSS, soit via XSL.

CONCEPTS DE BASE ( 1 / 2 )
Un document XML peut tre associ :

Une DTD ou un schma pour dcrire les balises


Une feuille de style pour prsenter les donnes

DTD ou/et schma permettent de dfinir son propre langage bas


sur XML

Vocabulaire (balises)
Grammaire (imbrications)

Donnes auto-descriptives
Balises et attributs
Modle de type hypertexte
Support des rfrences
lments atomiques ou complexes
Composition par agrgation
Types de donnes varis et extensibles
Textes, numriques, , types utilisateur
XML peut tre interrog et manipul : XPath, XSLT, XQuery

CONCEPTS DE BASE ( 2 / 2 )
Balise ( ou tag ou label )
Marque de dbut et fin permettant de reprer un lment
textuel
Forme: <balise> de dbut, </balise> de fin
Elment de donnes
Texte encadr par une balise de dbut et une de fin
Les lments de donnes peuvent tre imbriques
<producteur >
<adresse>
<rue>Abed Elah</rue>
<ville>Blida</ville>
</adresse>
</producteur >
Attribut
Doublet nom="valeur" qualifiant une balise
<adresse rue= "Abed Elah" ville = "Blida">

EXEMPLE COMPLET ( 1 / 2 )
Livres
titre
auteur
Les misrablesHugo
La peste
Camus

anne
1831
1947

auteurs
nom
prnom n-en mort-en
Hugo
Victor 1802 1885
Camus Albert 1913 1960

Exemple . dtd
<!ELEMENT
<!ELEMENT
<!ELEMENT
<!ELEMENT
<!ELEMENT
<!ELEMENT
<!ELEMENT
<!ELEMENT
<!ELEMENT

bd (auteur*)>
auteur (nom, prnom, n-en, mort-en, livre+)>
nom (#PCDATA)>
prnom (#PCDATA)>
n-en (#PCDATA)>
mort-en (#PCDATA)>
livre (titre, anne)>
titre (#PCDATA)>
anne (#PCDATA)>

Exemple . xml

EXEMPLE COMPLET ( 2 / 2 )

<?xml version="1.0" encoding="UTF-8"?>


Dclaration
<!DOCTYPE bd SYSTEM "Exemple.dtd">
Type de document
<bd>
Racine du document
<auteur>
<nom>Hugo</nom>
<prnom>Victor</prnom>
<n-en>1802</n-en> <mort-en>1885</mort-en>
<livre>
<titre>Les Misrables</titre>
<anne>1862</anne>
Elment
</livre>
</auteur>
<auteur>
<nom>Camus</nom>
<prnom>Albert</prnom>
<n-en>1913</n-en>
<mort-en>1960</mort-en>
Balise ouvrante
<livre>
<titre>La Peste</titre>
<anne>1947</anne>
</livre>
</auteur>
</bd>
Balise fermante

Entte du
document

Corps du
document

XQUERY ( 1 / 2 )
On peut caractriser XQuery comme tant le SQL de XML;
Les premires propositions de langage de requtes la SQL pour
SGML ou XML datent de 1994;
XQuery 1.0 est une recommandation du W3C depuis janvier 2007.

construit un nouvel item i parti

elect l from t where C for i in S where C return i


accde un item i teste
de la si
squence
litem iS vrifie la condition C

s informations

XQUERY ( 2 / 2 )

concernant lauteur Hugo

bd
Auteur

nom
Camus

Auteur

livre

nom

titre

annee

La peste

1947

Hugo

titre

annee

Les misrables

o-Hugo>

A in collection("bd")/Auteur
$A/nom="Hugo"
n
<prenom>{$A/prenom}</prenom>
<ne-en>
{$A/ne-en}
</ne-en>
<mort-en>{$A/mort-en}</mort-en>

o-Hugo>

Prenom

livre

Ne-en
Victor

Mort-en

1802

1885

1831

Info-Hugo

Prenom

Ne-en

Victor

1802

Mort-en

1885

STOCKAGE DE DONNES XML


Trois grandes approches
Middleware XML de transformation
Par exemple : XMLizer, XPeranto
SGBD natif
Par exemple : Software A.G. Tamino, X-Hive/Db,IXIAsoft ,XML
Global, Xindice, Xyleme;
SGBD tendu
Par exemple : DB2 XML Extender, Oracle XML DB , SQL
Server 2005;

Critres de choix

Temps dexcution des requtes;


Taille des donnes;
Schmas de stockage.

MIDDLEWARE XML DE TRANSFORMATION


Est un composant logiciel au-dessus
d'un SGBDR assurant:
le stockage et
l'interrogation de
documents XML
en transformant le XML en

XML

XQuery

Stockag
e
XML

XML

Recherc
he
XML
SQ
L

SGBD

tables
et les tables en XML

Tables
de
lignes
base

Index

Ralise en sur-couche lintgration de XML en


relationnelle;
Linterface entre le Middleware et le SGBD seffectue en
gnral en SQL;

MAPPING
Consiste dcomposer un document XML en une collection de
lignes insres dans plusieurs tables permettant de
recomposer le
altration;

document source

3 types de Mapping
1.Transformation par rgles XSL;
2.Transformation par schma;
3.Transformation par requte.

sans

perte

de

donnes

ni

MAPPING
ransformation par rgles XSL
Consistant dfinir par des rgles (XSL), le passage dun
document XML des lignes de tables et vice versa;
XSL est un langage de feuille de style extensible bas sur des
rgles de production;
Passage XML

TABLE

Une feuille XSLT est utilise pour extraire du document les


lignes insrer;
XSLT est une feuille de style qui contient un ensemble de
rgles de production codes en XSL;

MAPPING
ransformation par rgles XSL
Passage TABLE

XML

1 . Gnrer un document XML initial depuis la table


concerne ;
Deux grandes mthodes
Traduction en attribut d une table
Consiste produire un document de racine convenue
(<TABLE>) compos dun lment pour chaque tuple de balise
convenue (<TUPLE>) et dattribuer les attributs du tuple;
Traduction en lments d une table
Consiste produire un document de racine convenue (<TABLE>)
compos dun lment pour chaque tuple de balise convenue
(<TUPLE>) et dlments imbriqus de premier niveau reprsentant
chacun des attributs du tuple;
2.
Pour les documents complexes , il faut passer par
XSLT

MAPPING
ransformation par rgles XSL
Exemple
ETUDIANT

Mthode 1

Mat
090600
090601

Nom
YKHLEF
SALHI

Prenom
Hadjer
Fouzia

Mthode 2

< ETUDIANT >


NT >
> < Mat/>
> 090600 </ Mat >
Mat = 090600 Nom = YKHLEF Prenom<=TUPLE
Hadjer
Mat = 090601 Nom = SALHI Prenom = Fouzia /> < Nom > YKHLEF </ Nom >
< Prenom > Hadjer </ Prenom >
NT >
</ TUPLE >
< TUPLE ></ TUPLE >
</ ETUDIANT >

MAPPING
Transformation par schma

Consiste dfinir le passage dun document XML des lignes de


tables par des correspondances entre schma XML et schma
relationnel, et vice versa;
LE PRINCIPE
Les lments de type simple (entier, texte, numrique) sont
transforms en colonnes de table de type SQL quivalent;
Les lments de type complexe (squence de type simple) sont
transforms en plusieurs colonnes dune table, ou plusieurs, et
puis faire les correspondances;

Problme
La transformation dun schma XML en un schma relationnel est
complexe;
A un schma XML correspond plusieurs schmas relationnels.
Solution : Ncessit dun langage de transformation du
relationnel vers XML et vice versa;

MAPPING
Transformation par schma
Exemple

Nom
Adresse
Restaurants

Restaurant
1
Prix

Adresse Nom

Rue

No

Ville

Rue
No
Ville

Telephone
RESTAURANT

Nom

Prix Telephone

MAPPING

Transformation par requte


Consiste dfinir par des requtes (XQuary) le passage de lignes
de tables un document XML;
Passage TABLE

XML

1.Gnrer un document XML plat depuis la table transformation;


2.Appliquer une requte XQuery imbriquant les lments comme dsir;

Passage XML

TABLE

Il nest pas toujours applicable;


Problme de la mise jour travers de vue;
Solution : il faut que la vue contient les clefs des tables
support ;

Exemple : soit les deux tables


RESTAURANT(id, Nom, categorie, Telephone, Prix)
ADRESSE(id, No, Rue, Ville)

Gnration du document XML plat

URANT><TUPLE id= Nom= categorie= telephone= Prix = />


SE><TUPLE id= No= Rue= Ville = /> </ ADRESSE >

</ RESTAU

Appliquer une requte de transformation

< document >


<Restaurant id= categorie=>
cument > {
< Nom ></ Nom >
$r in collection(RESTAURANT)
< Adresse >
$a in collection(ADRESSE)
<No></No>
rn
<Rue></Rue>
staurant id={$r.id} categorie=$r.categorie>
<Ville></Ville>
< Nom > {$r.Nom}</ Nom >
</ Adresse >
< Adresse >
< Telephone ></ Telephone >
< No >{ $a . No }</ No > < Rue >{ $a . Rue }</ Rue >
< Prix ></ Prix >
< Ville >{ $a . Ville }</ Ville >
</ Adresse >
</ Restaurant >
< Telephone > {$r.Telephone}</ Telephone >
</ document >
< Prix > {$r.Prix}</ Prix >
staurant >
document >

e - XMLMedia XMLizer
Capable de sexcuter au dessus de toute base SQL via JDBC
2;
Extraction XML
via XQuery traduit en
SQL
XMLizer
Stockage XML en base Scripts
XQuery
Mapping via schma
Indpendant du SGBD
MySQL, Oracle,

Extractor Mapper
JDBC

SQLServer, Sybase,

BD relationnelle
Architecture de
XMLizer

Rgles de
Mapping

SGBD XML NATIF


Sont des nouveaux SGBD ddis XML;
Stockant les documents en entiers sans les dcomposer en
lments XML est l entit centrale de la base
(= relation )
Ne ralise aucune transformation en tables (Mapping);
Gre

des

index

sophistiqus

afin

de

permettre

recherches par contenu;


Trs rapide en recherche de documents entiers;
Lent en recherche dlments de taille rduite;
On va tudierpar la suite un SGBD
Xindice de Apache.

connu :

les

Xindice de Apache ( 1 / 2 )

Est un SGBD open source;


Stock les documents XML en natif;
L objectif
langage
XPath est
de slectionner des n uds dan
Nutilise
aucune du
mthode
de mapping
;
Langage dinterrogation est XPath;
Gre des index sur attributs et lments;
Fourni lutilisateur :
Un diteur de lignes de commandes afin de lancer des
commandes au systme;
API XML DB : extension de JDBC pour XPath;
Intgre le mcanisme XML Object qui permet dinclure des fonctions
utilisateurs (Java);

Xindice de Apache ( 2 / 2 )
API XML DB

Interface CORBA

diteur commandesXPath Engine


XUpdate Engine
Xobject EngineObjects Java

Index

XML natif

Architecture de Xindice

EXTENSION DES SGBD RELATIONNEL EXISTANTS

SGBD relationnels tendus avec des outils pour le traitement de XML

nition dun schma relationnel pour stocker XML;


rrogation avec SQL;

pping en tables.
grent des techniques

pour supporter XML;

Elles sont hybrides;


Elles sont propritaires puisque enfouies dans un SGBD relationnel;

Elles sont aujourdhui en pleine dvolution dune version une autre.

On va tudier par la suite deux grands SGBD :


Oracle / DB.

Oracle XML / DB ( 1 / 2 )
Stockage et publication
Utilse le Mapping
Stockage de XML en colonne (XML Type)
Interrogation
Support de SQL/XML
ServletXSQL
document XML avec requtes SQL/XML
transformation du rsultat des requtes en XML

Oracle XML / DB ( 2 / 2 )
Interrogation avec SQL / XML

Intgration de fonctionnalits XQuery SQL

Support la SQL3
Type de donne natif XML Type (colonnes XML)
Fonctions de construction de XML ;
Insertion et Maj de XML en colonnes

Exemple de requte

SELECT XMLElement("Emp",
XMLForest ( e.hire, e.dept AS
"department ") )AS "result

FROM EMPLOYEE e

WHERE ExtractValue(e.XMLemp, /emp/@id) > 200;

Intgr Oracle et DB2

BD NATIVE VERSUS BD TENDUE


Points forts base de donnes
relationnelle (objet) tendues

Pas de nouveau SGBD;


Possibilit de normaliser
les donnes
Possibilit de stocker
comme valeur dattribut;
Une certaine portabilit
multi-SGBD;

Points forts Base de donnes XML


native

Un nouveau SGBD fait pour


XML
Jamais de mapping dfinir
et maintenir
Intgrit du document
Recherche plein texte

Exemple d application : Site web


XML
INTERNET

HTML
Navigateur
web

WML
Tlphone
WAP

XML
Base de
Donnes

XML
Serveur de

prsentati
on

Architecture d un site
web XML

Commutateur
SOAP

CONCLUSION
Dans cette prsentation, nous avons rappel:
Les techniques bases lorigine sur HTTP et HTML statique;
Des extensions pour dvelopper des serveurs dynamiques (PHP,
ASP, JSP);
Et nous avons vu: XML, qui vient aussi sajouter comme modle dchange
aux serveurs dapplications;
Au-del, XML peut il ce point changer les bases de donnes?
Les SGBD actuels sont:
Limits pour traiter les donnes faiblementstructures;
Non homogne par rapport au web;
Tendance vers XML pour changer, et reprsenter les donnes web
(semi-structur).
Faut il autant oublier le pass, notamment le relationnel?
Non:
Toute entreprise dispose aujourdhui dun SGBD SQL;
Les mthodes du relationnel sont bien connues et rodes
pour la conception et la manipulation des donnes.
XML
htrognes.
SGBDR(O)

Echanges des donnes

Stockages des donnes.

Merci!
L/O/G/O

www.themegallery.com

Das könnte Ihnen auch gefallen