Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Programmation SQLM3

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 140

Manifeste de Chris Date

sur le modèle de données


« Objet Relationnel »

Professeur Serge Miranda


Département Informatique
Université Côte d’Azur(UCA), France
Fondateurs des Masters MBDS/eMBDS (UCA) et BIHAR/eBIHAR (ESTIA)

1
Plan

1. Evolution de l'informatique et paradigme Objet :


vers le modèle OR
➢Les propriétés TIPS des SGBD
2. Modèle de données orientées objet ?
➢" L'insoutenable légèreté de l'objet "
➢ Les définitions consensuelles
➢ Les propriétés « RICE » de l’Objet
3. Modèle de Données « OR » (Objet relationnel)
➢Les 2 approches de base
➢le manifeste de Stonebraker
➢le manifeste de Chris Date
➢ Exemples : Thésaurus/2D
4. Recherches TIPS

2
Modèles de données

➢Trois familles de modèles de données :


➢informatiques (IMS, DBTG…)
➢mathématiques (relationnel/Codd…)
➢sémantiques (objets…)

3
Marché BD et standards ?

Traitements (Stonebracker 96 et Gartner) (1) 10 G$ <licences *> en 2010


(20 % de croissance, 60 G $ en 2020)
(3) : 1/100 de (1) en 2010 et 2020
(2) : 2x (3) en 2010 ; 2*(1) en 2020 !
SGBD-R SGBD-OR
* Marché de 27 G dollars
(2) avec services et support en 2010
SQL (1)
SQL2 G/P/D SQL3 Mobiquité

SGBD-OO
SGF (3)
Non SQL
ODMG CAO

Données

Simples Complexes
4
Rappels Modèle de données « relationnel »
(de CODD)

➢« Modèle relationnel de CODD » ➢Modèle de Codd (19/08/1968)

➢ Prérequis à SQL2 ➢DOMAINES

➢RELATIONS

➢ Attributs/CP/CE
➢« Modèle OR de Chris Date »
(3rd manifesto) ➢ Double définition formelle

➢ Prérequis à SQL3 et ODMG ➢Exemple de schéma relationnel au sens


de Codd

5
Exemple relation
FORMATION (F#, PIL#, DATE, NOMAV, MENTION)

➢1) Création des domaines avec CREATE ➢2) Création des relations avec CREATE
DOMAIN TABLE

Create Domain FNO Numeric Primary < ➢Create Table/relation Formation


partie d une clé primaire défini dessus> F#:FNO, PIL#: PILNO, Date:Date,
NOMAV: PNAME, Mention, DMention,
Create Domain DATE Time Primary key : (F #, PIL#, Date), Foreign
Key : PIL# (Pilote);

Create Domain DMENTION { NON, B, M,


TB} < definition en extension>

6
Propriétés TIPS
des Bases de Données Structurées (SQL)

T « Transactions » (propriétés ACID pour les définir)

ACID

I Interface non procédurale (Algèbre de Codd, SQL)

P Persistance (Mémoire paginée)

S Structuration (Schéma)

7
Exercice

➢Les propriétés TRANSACTIONNELLES « ACID» visent à résoudre


2 problèmes importants dans la cohérence d’une base de données :
lesquels ?

8
Solution

➢ACID et 2 PB : PANNE et CONCURRENCE

➢AC Atomicité :
(TOUT ou RIEN des opérations de MAJ concernant une transaction)
et Cohérence de la BD quelle que soit la PANNE qui pourrait se
produire

➢ID Isolation et Durabilité :


Chaque transaction « bien formée » et écrite de manière isolée
avec des mécanismes de verrouillage
(Verrouillage en lecture/écriture/intention) à deux phases
maintiendra durablement la cohérence de la BD
quelle que soit la concurrence

9
Approche Top DOWN SQL
(données structurées)

➢2 phases pour mise en place BD SQL :


1. CONCEPTION (UML,..) et Obtention SCHEMA puis
2. CREATION BD
SQL (SQL3) ou ODMG

➢Applications TRANSACTIONNELLES (OLTP)


➢Propriétés TIPS
➢Propriétés ACID des Transactions

➢Applications décisionnelles (OLCP) top down


➢DATAWAREHOUSE
➢DATA MINING

10
Modèle OR ?

➢Partir du Modèle Relationnel (seul formel)


➢Double base théorique du modèle relationnel
➢Pas de modèle formel OBJET (ni unique) !
Mais CONSENSUS sur des propriétés

➢ Rajouter les propriétés consensuelles de l’« Objet » (RICE)


dans le modèle relationnel (Propriétés TIPS)

11
Les 3 Approches de
MODELES de DONNEES OBJETS et OR

VALEURS 1ier manifeste de BANCILHON


OBJET
ODMG
Const. SET

DOMAINES 3ieme manifeste de DATE (OR)


OBJET
Const. TUPLE SQL3

RELATIONS
2ième Manifeste de Stonebraker (OR)
(tables)
OBJET
Structures de données du Modèle Relationnel de CODD et Proprietés RICE
12
Exemple de « table » et « objet »
(ORACLE)

TABLE ? OBJET ? Police Assurance

Police Nom Adresse Conducteur Accident

Accident Rapport Photo

Conducteur Age
134
Paul 45
24 Paul Paris
219
Robert 17

37

13
PROFIL MODELE DE DONNEES
et SGBD ?

➢gestion de très grandes BD (BIG DATA) :


vers les BD de l'ordre du ... petaoctets (10**15 )
de l’Exaoctets (10**18),
du Zetta octet (10**21)
en attendant le Yotta Octet (10**24)
ou le.. Google(10**99) de BIG DATA

➢évolutivité du serveur
➢« SCALABILITY UP »
➢« SCALABILITY OUT »

14
Vers DECISIONNEL (Data Analytics)
temps réel

➢BOTTOM UP et données NON STRUCTUREES


(LIEES (Linked data),..) Réseaux sociaux et Tags NFC
➢Pas de Schéma ou schéma VARIABLE
➢PAS de METADATA

➢OLTP TEMPS REEL complémentaire du futur


➢BIG DATA
➢ NO SQL
➢ NEW SQL
passerelle SQL et Not Only SQL (Hadoop,..) Cf Stonebraker 2012 et VOLTDB
dialecte SQL avec BigquerySQL de Google (2012)

15
PROFIL MODELE DE DONNEES OR
et SGBD ?

1. Données FORTEMENT STRUCTUREES (schéma)


➢objets métiers - Génie progiciel
➢objets complexes imbriqués
➢(Types définis par l'utilisateur)
USER-DEFINED DATA TYPES/FUNCTIONS
➢compatibilité ascendante (standard SQL)
➢EXTENSIBILITE DES DONNEES/TYPES

16
PROFIL MODELE DE DONNEES OR
et SGBD ?

2. Données SEMI-STRUCTUREES (XML,..) et


NON STRUCTUREES (énantiodromia du MD !)
➢objets volumineux BLOBS (video,..)
➢objets à sémantique riche (hyperliens,..)
➢objets « vivants » (RFID, NFC, Capteurs,..)
interfaces navigationnelles et associatives

➢SQL++ (SAT) OAT


➢interfaces nouvelles basées sur le contenu
(hyperbase, neuronale, multimedia, VOCALES ...)
17
« OBJET »

18
Concepts Objets ?

➢« OBJET » ?
➢« Modèle de données Objets »
➢« Modèles de données Objet Relationnel » ?

19
Faiblesses du modèle relationnel

➢Opérations séparées des données


➢procédures stockées non intégrées
➢absence d'attributs cachés

➢Support de domaines atomiques


➢Limitations 1ère forme normale de Codd
➢Inadapté à la représentation de hierarchies et de graphes
➢inadapté aux objets complexes (documents structurés)
➢introduction des BLOB….

➢Mauvais support des applications non gestion :


➢CAO, CFAO, BD Géographiques,
➢BD techniques

20
Evolution de l'informatique et OBJET

1965
OS
LP
OS : Operating « SERVICES » ?

1970

LP SGF SGBD
IA

21
Evolution de l’informatique

1970
OS SGF SGBDR

Services OS Services SGBDR


Gestion des ressources physiques (Propriétés TIPS) :
algorithme de pagination
(P) Gestion Persistance
Sécurité LRU ++
confidentialité d'ACCES (T) Sécurité &
contrôle de synchronisation Transactionnel (ACID)
(sémaphores, verrouillage, deadlock,... )
Intégrité
(S) Structuration/Schéma
Modélisation via des modèles de données
(" processus ") (I) Interface utilisateur
...pas de langage de programmation
Non procédurale(SQL)

22
Evolution de l’informatique et l’objet

OS
SGBD-R
LP
SGBD-R
IA OS

23
Evolution de l'informatique :
VERS LES ESPACES DATA MOBIQUITAIRES dans le
CLOUD

2030
" Il est dur de prédire, particulièrement ... le futur "
N.Boehr

? ? ?

« SERVICES » ?
+ Ontologies ++ Linked Data (OPEN DATA, BIG DATA)

24
Evolution du logiciel et OBJETS

Données Traitements

SGBD-R L.P.
(SQL) (prog. structurée)
Objets

Génie logiciel

Communication
25
Approche Objet et
développement d'application

Intégration
Objet INTERFACE

APPROCHE
APPLICATION OBJET

SGDB

BD
PB : « IMPEDANCE MISMATCH »
et productivité du développeur
26
WWW et Mobiquité :
l’ELDORANET ?

15 % des données au monde sont ... Digitalisées !


➢CONTROLE DES DONNEES COMPLEXES,
NON STRUCTUREES et VOLUMINEUSES (BIG DATA)
➢SGBD-R :
Données simples et structurées avec un typage stable et un
SCHEMA prédéfini
➢SGBD :
multimédia/mobiquitaire ?
➢Gestion de Données complexes non-structurées avec un typage extensible
➢Recherche sur contenus dynamiques avec de nouvelles interactions

27
LES 3 VAGUES
vers l’Infostructure répartie

28
Une évolution vers le Middleware
« l’empire du milieu »

HARDWARE

➢Middleware par couplage fort (CORBA) SOFTWARE


➢et ou couplage faible (Services WEB)

MIDDLEWARE

29
Visions de l’objet

➢VISION DOUBLE :
➢(i) LP : objet « encapsulé »
➢ Opérateurs SPECIFIQUES (classes, propriétés)
➢ Héritage (instantiation)
➢ Polymorphisme
➢(ii) BD : objet « structuré »
➢ Opérateurs GENERIQUES (algèbre, ...)
➢ Persistance
➢ Concurrence / reprise sur panne
➢Dualité des concepts structurels

30
Objets ?

➢Naturels : L'homme traite des « Objets »


(l'ordinateur des... « Données »)
➢Appréhension de la Complexité :
(ATT a inventé C++ pour la réalisation des concentrateurs de
200 000 lignes de codes)
➢Réutilisation et flexibilité (« programmation en Kit »)
➢L’encapsulation : (données + traitements)
➢Productivité du développeur (le but ultime !)
➢Un concept (flou)... UNIFICATEUR !

31
L'insoutenable légèreté de l'objet !

« Objet ? »

« Un objet est une chose identifiable... qui joue un rôle en


regard d’une demande d’opérateur… »

(X3-SPARC, SEPT.91, OODBTG, pp 3.6)

32
Objet ?

➢Définition 2
(MIRA96) 3ième édition Livre Eyrolles sur le Modèle Client-Serveur et
livre Dunod sur les BD Objets (2002)

Un objet est une capsule logicielle (E)


oblative identifiée (I)
avec un tropisme connatif incrémental (C)
dont l’hétéronomie est la marque de la durée de l’éphémère
et de la hoirie (R),
la marque de la richesse.

33
Propriétés RICE d’un SGBD OBJET

Réutilisabilité
R (Héritage ou polymorphisme)
Graphe héritage

I IDENTIFICATION système

Construction d’objets Complexes


C Orthogonalité TUPLE et SET
Graphes d'agrégation

Encapsulation
E (Messages, Méthodes, Classes d’objets)

34
« Objets « et « Classe d’objets » ?

DEFINITIONS :

➢OBJET?
➢OBJET = (OID, VALUE) OBJECT
➢OID : Object Identifier
➢➔ HASHING, b-TREE, …
➢*cf (KEY, VALUE) in N.O.SQL SET
construct
➢Une CLASSE d ’OBJETS
➢est un (« valeurs potentielles ») CLASS
➢a/possède un (« valeurs réelles »)

➢ : TYPE de DONNEES qui vérifie les propriétés RICE !


35
Modèle OR ?

Language Modèle Relationnel


prog. OBJET de Codd (V1)
propriétés RICE propriétés TIPS

Modèle OR
Compatibilité ascendante
(Objet-Relationnel)
propriétés TIPS+RICE

36
Modèle de données OBJETS (RICE)

2 approches :

➢NOUVEAU MODELE : OO (ODMG)


➢1ier Manifeste de François Bancilhon

➢ENRICHISSEMENT MODELE RELATIONNEL : OR


➢2ième Manifeste de Mike Stonebraker
➢3ième Manifeste de Chris Date

37
Les 3 Approches de
MODELES de DONNEES OBJETS et OR

VALEURS RICE - 1ier manifeste de BANCILHON

ODMG
Const. SET

DOMAINES RICE - 3ieme manifeste de DATE (OR)

Const. TUPLE SQL3

RELATIONS
RICE- 2ième Manifeste de Stonebraker (OR)
(tables)
Structures de données du Modèle Relationnel de CODD (SQL2)
38
SQL3 et Modèle OR ?

➢SQL3 intègre les 2 Manifestes OR !


Avec 2 possibilités de créer des CLASSES d’OBJETS :

➢ CREATE TYPE with OID (cf « Date »)


➢ CREATE TABLE with IDENTITY (cf « Stonebraker »)

39
Propriétés RICE d'un
SGBD OBJET Relationnel

(Incrémentales par rapport à un SGBD relationnel) I

Modèle relationnel de
R Codd C

E
40
Exemple Graphe Structurel Objet
(cf IFO)

41
Exercice

➢Prendre le schéma précédent (partie EMPLOYE/PILOTE) et le


représenter dans le modèle de Codd

42
Retour vers le futur avec le
Troisième Manifeste de Date

C.Date, H. Darwen « Date base programming and design »


January 1995 pp.25-34 http://thethirdmanifesto.com/

« Object features are orthogonal to the Relational DM and therefore RDM needs no
extension, no correction, no subsumption, no perversion in order for them to be
accommodated »
Chris DATE

➢1er manifeste « manifeste des SGBD orientés-objet »


(Bancilhon et al) est basé sur approche objet des LP
➢2ème manifeste « le manifeste de la 3ème-génération des SGBD »
(Stonebraker et al) est basé sur SQL

43
Retour sur les
Modèles relationnels de CODD

« L'homme n'est qu'un noeud de RELATIONS


seules les relations comptent pour l'homme. »
Antoine de Saint-Exupéry

44
Vue des bigots de l'OBJET

➢Tout ce que le Relationnel peut faire l'Objet peut le faire mieux.

➢Une relation est un objet particulier avec les opérateurs de l'algèbre comme
méthodes

➢Il existe d'autres objets d'autres types

45
Vue des bigots du RELATIONNEL

➢Les avantages de l'OBJET peuvent être obtenus en appliquant correctement le


modèle RELATIONNEL V1

➢Evolution en douceur du relationnel en intégrant les propriétés RICE au niveau :

➢du Domaine (SQL3, DATE, DB2, Oracle 8)


➢des relations (UNISQL, NF2)
➢des deux (Illustra)

➢ Domaine ou Relation ? = classe d'Objets et RICE

46
Deux possibilités pour le modèle OR

1. RELATION = CLASSE d objets


Approche « simpliste » (UNISQL, NF2, POSTGRES,...)
EX : CREATE OBJECT CLASS PILOT PUBLIC
(PL# NUMERIC, PLNOM CHAR, ADR CHAR) ;
➢Avantage : concept commun unique
CLASSE-RELATION
➢PB1 : objets = tuples (non encapsulés) !
➢PB2 : opérateurs génériques et spécifiques
Algèbre Complexe ? Opérateur pour parcourir les graphes
(hiérarchie structurelle) expression de chemin ?
➢PB3: propriété de fermeture
Réinterprétation des opérateurs relationnels ?

47
2ième approche OR ?

2. DOMAINE= CLASSE d’objets


➢Avantages :
➢vision double de “l’objet” : dualité de concepts
➢(encapsulation : “domaine” avec fonctions
structuration : “relation” avec SQL)
➢Sous-utilisation des DOMAINES
➢(lesquels apparaissent partiellement dans SQL2)

➢Inconvénient : Héritage (structurel)

➢Approche suivie par Oracle depuis la 8, DB2, et..., SQL3 en partie

48
Cohérence Manifeste de Date

➢« Classe d’ Objets » = « TYPE de DONNEES avec propriétés RICE »

➢« DOMAINE » du modèle relationnel de Codd = « TYPE de DONNEES


sémantique »

➢« DOMAINE » du Modèle OR de DATE : « TYPE de DONNEES sémantique


avec propriétés (R)ICE »

49
Héritage double dans les BD

➢HERITAGE
➢HS : Héritage « structurel » (attributs)
➢HM Héritage « méthodes »
➢Dans modèle de Stonebraker : HM + HS au niveau des tables
➢Dans modèle de Date
➢HM au niveau des domaines
➢HS au niveau des tables ‘avec opérateur de mapping noté « ➔ » entre
domaines primaires et tuples

50
Deux Possibilités pour les classes d'objets

Manifestes OR et RICE :
➢Manifeste de Stonebraker
➢« RIC » au niveau des TABLES
➢Héritage opérationnel (méthodes) et structurel
➢au niveau des tables

➢Manifeste de DATE
➢« ICE » au niveau des DOMAINES avec héritage des méthodes
(« opérationnel »)
➢Héritage structurel avec opérateur « » entre valeur de Domaine primaire et
tuples
➢(index domaine)

51
Modèle de DATE :
Héritage entre domaines PRIMAIRES

➢ EX :
Create Domain PILNO PRIMARY UNDER
EMPNO
➢ Graphe d’héritage entre domaines «
primaires »
(attributs « clé primaires » définis dessus) Domaine de recherche :
EMP# Lien entre héritage opérationnel entre
100 103 domaines primaires et héritage structurel
/empno
entre TABLES ?
Opérateur spécial inspiré du déréférencement
Hotesse# de SQL3 (sous arbre d’héritage)
(valeurs potentielles du domaine et valeurs
PIL#/ réelles des tables)
100 103
Pilno

52
Héritage structurel ?

➢Structure des domaines


➢INDEX de DOMAINE/CP ?
➢EX : Valeur 100 de EMPNO et liste de ptrs vers tous les tuples ayant la valeur « 100 »
➢JOINTURE VIRTUELLE entre tables

53
Héritage dans Modèle de données ?

➢2 approches possibles : STRUCTURES ou OPERATEURS


➢Approche DEFINITION entre tables (ex Stonebraker)
ou
➢MANIPULATION :
nouvel opérateur noté « ➔ » de navigation entre attributs ;

CP (Associée Dom Primaire) ➔ {ATT}

opérateur de jointure sur GRAPHE d’HERITAGE

54
Héritage Structurel dans DATE avec Opérateur «
(CP) -> » ?

➢Opérateur bidirectionnel avec comme argument d’entrée une clé


primaire
➢Equivalent à un « INDEX sur Attribut CP » de la racine de l’arbre d’héritage
(valeurs réelles)
➢Syntaxe « CP ➔ Liste attributs du chemin hiérarchique »
➢Tout attribut concerné par le graphe d’héritage peut être nommé après
l’opérateur
➢La clé Primaire CP doit faire partie d’un graphe d’héritage entre domaines
PRIMAIRES
➢Note: on pourrait systématiser la règle CP ➔ pour chaque attribut des tables
concernées par héritage (et utiliser la notation pointée)

55
Héritage Structurel dans DATE
«CP ➔ » ?

➢TABLE EMPLOYE (E# : EMPNO, ENOM, SALAIRE, ADR)


➢TABLE PILOTE (P# : PILNO, NBHV)
➢TABLE HOTESSE (H#: HOTESSNO, RANG)

Q : SELECT P#➔ ENOM, SALAIRE,NBHV


FROM PILOTE EMPNO 100 103

WHERE (P#➔) NBHV >


( SELECT MAX NBHV FROM PILOTE
WHERE P#➔ ADR = ‘Nice’); PILNO 100 103

HotesseNO
56
Exercice : Requête d’héritage avec HOTESSE

SELECT H#➔ ENOM


FROM HOTESSE
WHERE H#➔ SAL> 3000 and RANG=2;

57
Exercice

➢Donnez une autre forme de la requête en utilisant systématiquement


la clé primaire E# comme argument de l’opérateur d’héritage

58
Solution avec E#

SELECT E# ➔ ENOM, SALAIRE,NBHV


FROM EMPLOYE
WHERE E# ➔ NBHV >
( SELECT MAX NBHV FROM PILOTE
WHERE E#➔ ADR = ‘Nice ’);

59
Langage D

( « D » pour « Domain » ?, « C++ » ?, « DATE » ?)


➢Classe d'objets dans des domaines relationnels
➢« DOMAINE Relationnel » ( CODD 1970) à utiliser
complètement pour modéliser les classes d'objets
➢« Types de données sémantiques (encapsulés, définis par
l'utilisateur, de valeur de complexité arbitraire) »
➢avec les fonctions /méthodes définies par l'utilisateur)

➢ + Les propriétés (R)ICE au niveau du Domaine

60
Langage D

➢ « SUB-DOMAIN » et « SUPER-DOMAIN »
pour l'héritage des fonctions
(Héritage OPERATIONNEL des METHODES)
➢Exemple :
Create Domain HotesseNO : (Subdomain) de EMPNO

➢C.Date, Résultat du 2ème manifeste :


« Les types de données, les fonctions définies par l'utilisateur
et l’héritage (Note : RICE) sont orthogonaux au Modèle
Relationnel »

61
Langage D

➢Exemples illustrant ( R ) ICE avec le langage D :


➢2D
➢Thésaurus

➢Exercice :
héritage à valider avec les domaines primaires
(Utiliser Opérateur « ➔ » entre valeur de domaine primaire et tuples…)

62
Exemple 1 : Données 2D
(M. Stonebraker et Date 95)

CREATE TABLE RECTANGLES


(RECTID, x1, x2, y1,y2)
PRIMARY KEY (RECTID)
UNIQUE (x1, x2, y1, y2)

63
Question 2D en SQL2

➢Q : Trouver les rectangles en intersection avec le carré (0, 1, 0, 1) ?

➢Solution d’un non spécialiste avec 10 criteres OR (UNION)

SELECT * From RECTANGLES Where


(x1>=0 AND x1<=1 AND y1>=0 AND y2<=1)
OR (x2>=0 AND x2<=1...)...OR...
OR (x1<=0 AND x2<=1 AND y2<=0 and y2<=1)

64
Solution astucieuse ☺

➢Une solution est de considérer les deux points du rectangle qui vérifient
certaines proprietés.
Il suffit qu'un point se trouve dans l'aire décrit par le carré.
Pour cela on a pris le coin inferieur gauche et coin superieur droit.

(SELECT * FROM rectangle


WHERE x1 BETWEEN 0 AND 1) INTERSECT (SELECT * FROM rectangle WHERE y1 BETWEEN 0
AND 1)

UNION

(SELECT * FROM rectangle


WHERE x2 BETWEEN 0 AND 1) INTERSECT (SELECT * FROM rectangle WHERE y2 BETWEEN 0
AND 1);
--

65
MODELE OR de Chris Date :

Utilisation des DOMAINES


« user-defined data types of arbitrary complexity »
CREATE DOMAIN RECTANGLE
( ... RTREE ... )
CREATE FUNCTION MAKE-RECT
(A FLOAT, B FLOAT, C FLOAT, D FLOAT)
RETURNS ( RECTANGLE )
AS BEGIN
DECLARE R RECTANGLE
R.x1 = A; R.x2 = B; R.y1 = C; R.y2 = D;
RETURN (R)
END;
CREATE FUNCTION OVERLAP
( R1 RECTANGLE, R2 RECTANGLE )
RETURNS ( BOOLEAN )
AS BEGIN ... END;
66
Exemple 2D dans
le modèle OR de Date

CREATE RELATION RECTANGLES


( RECTID défini sur RECTNO,
AR défini -sur–le-Domaine RECTANGLE, ...)
PRIMARY KEY ( RECTID )
UNIQUE ( R ) ;

67
Solution dans le langage D (Date)

Q:
SELECT *
FROM RECTANGLES R
WHERE
OVERLAP (R, MAKE_RECT(0,1,0,1))= TRUE;

68
Exercice : Création du domaine rectangle à partir
d’un domaine POINT

Solution :

➢Création Domaine POINT avec 2 paramètres FLOAT et Méthode


DISPLAY

➢Création Domaine RECTANGLE avec 2 paramètres POINT

69
Exercice

➢Sur ce schéma du modèle OR de Date, écrire la requête en SQL


étendu en utilisant la composition des fonctions
(définies sur le domaine RECTANGLE) dans la clause WHERE

70
« DQL »

➢Rajout CARRE héritant de RECTANGLE


➢Rajout Nouvelles fonctions sur le domaine
RECTANGLE
ROTATION (X1, Y1, ANGLE) et
TRANSLATION …

➢Quels sont les rectangles qui après une rotation de 30 degrés sur le
coin gauche sont en intersection avec le carré (0,1,0,1) !
➢Composition de fonctions
➢ Overlap (Make(0,1,0,1), Rotation (x, y, 30, ..)..)

71
Recherche en BD (TIPS)

Transactions longue durée et bursty


T Protocoles de synchronisation de
mode diffusion

Interfaces multimedia, hyperbase,


I vocales
XQL

Distribution et parallélisme,
P ELDB multimedia + BIG DATA
Algo.de pagination

72
Recherche en BD (TIPS)

Modèle objet relationnel


(conception via UML, migration, héritage dans modèle de Date,
interfaces SQL3-ODMG..)

Applications et recherches pluri-disciplinaires

S
TOP DOWN : Datawarehouse, data mining, Groupware
BOTTOM UP : BIG DATA (DATA ANALYTICS)
Ontologie multimedia personnelle
AGDM/MOOC
ERP
Very Light DB (SQLITE, mobile computing, smart card DB, RFID…)

Et « NO S »
(BIG SQL/UQL, Indexation, Table Externe, NEST/UNNEST,..)
73
Surfeurs sur la vague OR

74
Exercice :

Système de recherche documentaire


avec thésaurus en SQL et dans le modèle OR de Chris DATE

➢THESAURUS ? : ensemble de mots clés (servant à indexer des


documents ) avec des liens sémantiques forts entre les mots clés
➢Note : Un thésaurus est un « réseau sémantique », un « DOMAINE »
avec des liens sémantiques entre valeurs
➢Rôle d’un THESAURUS
➢Indexation uniforme
➢Raffinement des outils pour la recherche
(extension ou réduction du champ de recherche)
➢Réseaux sémantiques pour une navigation intelligente (« hyperbase »)
75
Thesaurus informatique

76
Exercice

1. Représenter l’entité document suivante dans un schéma relationnel


normalisé (3NF)
Entité DOCUMENT
(DOC#, TITRE,EDITEUR, PAGES, {AUTEURS}, {MOTS-CLES} )
2. Représenter le thésaurus lui même à l’aide du modèle relationnel
(avec des relations)
3. Traitez en SQL la requête suivante en utilisant le thésaurus
Quels sont les documents concernant le software
(utilisant les liens sémantiques pour étendre la recherche)
dont le titre commence par « CONCEPTS » ?
4. Traitez le même exemple du thésaurus dans le modèle Objet relationnel de DATE (schéma,
thesaurus et requête)

77
Exercice du Thésaurus :

➢Représentation du fonds documentaire dans le modèle


relationnel
➢Entité DOCUMENT
(DOC#, TITRE,EDITEUR, PAGES, {AUTEURS}, {MOTS-CLES} )

➢3 relations normalisées dans le modèle relationnel V1 :


➢DOCUMENT (DOC#, TITRE, EDITEUR, PAGES)
➢DOC-AUTEUR (DOC#, AUTEUR)
➢DOC-MOT-CLE (DOC#, MOT-CLE)

78
Représentation du Thesaurus (suite)

Thésaurus (« type /DOMAINE » et donc des valeurs potentielles) mal représenté


par des relations !
(valeurs réelles) mais thésaurus DYNAMIQUE (volatile)… :
1. Une relation :
➢ THESAURUS (MOT-CLE1,MOT-CLE2, TYPE)
DB Data Base synonymie
Software Data Base hiérarchie...
2. OU 3 relations :
➢ SYNONYMIE*(MOT-CLE1,MOT-CLE2)
Data Base DB...
➢ HIERARCHIE(MOT-CLE-GEN, MOT-CLE-SPEC)
Comput.Science Software...
➢ VOISINAGE*(MOT-CLE1, MOT-CLE2)
DB DB Machine
➢Et REFLEXIVITE !!!
79
SQL2 pour la recherche documentaire

➢Q - Quels sont les documents concernant le software (utilisant les liens sémantiques pour
étendre la recherche) dont le titre commence par “CONCEPTS” ?
SELECT *FROM DOCUMENT, DOC-AUTEUR, DOC-MOT-CLE
WHERE DOCUMENT.DOC#=DOC-AUTEUR.DOC#
and DOCUMENT.DOC#=DOC-MOT-CLE.DOC#
and TITLE=“CONCEPT%”
and (DOC-MOT-CLE.MOT-CLE = “Software”
or DOC-MOT-CLE.MOT-CLE IN
(SELECT MOT-CLE2 FROM SYNONYMIE
WHERE MOT-CLE1 = “Software”) <+ INVERSE>
or DOC-MOT-CLE.MOT-CLE IN
(SELECT MOT-CLE-SPEC FROM HIERARCHIE
WHERE MOT-CLE-GEN = “Software”)
or DOC-MOT-CLE.MOT-CLE IN
(SELECT MOT-CLE2 FROM VOISINAGE
WHERE MOT-CLE1 = “Software” ); <+ INVERSE>)

80
Modèle OR de Chris DATE

Avec des Domaines encapsulés (Langage D)


CREATE DOMAIN THESAURUS/MOTCLE ( ... )

CREATE FUNCTION SYNONYMIE


(MOT-CLE THESAURUS)
RETURNS SET-OF (THESAURUS)

CREATE FUNCTION HIERARCHIE


(MOT-CLE THESAURUS)
RETURNS SET-OF (THESAURUS)

CREATE FUNCTION VOISINAGE


(MOT-CLE THESAURUS)
RETURNS SET-OF (THESAURUS)

81
Modele de Date (suite)

CREATE FUNCTION CONCERNE


(MOT-CLE THESAURUS)
RETURNS SET-OF (THESAURUS)
AS BEGIN
< composition des fonctions SYNONYMIE
/ HIERARCHIE /VOISINAGE > END

82
Modèle de DATE : Avec des Domaines
encapsulés (Manipulation DQL)

RELATION unique DOCUMENTS avec constructeurs SET-OF sur attributs


{Attribut défini sur Domaine}
CREATE RELATION DOCUMENT with identity
(…. Setof MOT CLE défini sur THESAURUS)…
Q : SELECT *
FROM DOCUMENTS
WHERE TITRE = “CONCEPT%”
and MOT-CLE IN {SOFTWARE, CONCERNE (SOFTWARE) }

83
EXERCICE sur exemple complet dans le modèle
de DATE avec Héritage sur cet exemple étendu

1. Soit maintenant les 3 Classes suivantes : la super classe DOCUMENTS


(DNO, TITRE, PAGES, {MOT-CLE}) et ses deux sous classes LIVRES
({AUTEURS}, EDITEUR) et POLYCOPIES (AUTEUR)

2. Donner le schéma de DATE complet (avec le Thésaurus)

3. Ecrire 2 Requêtes en SQL de DATE (en utilisant l’opérateur d’héritage ➔ ) :

➢Q1 Quel est le nombre de pages des livres empruntés de l’Editeur DUNOD ?

➢Q2 Quel est le nombre de pages des livres empruntés de l’Editeur DUNOD dont le titre
commence par CONCEPT et qui concerne le SOFTWARE ?

84
Exemple Complet du Modèle OR de DATE
sur THESAURUS

1. Définition des DOMAINES/CLASSES


< héritage des domaines primaires>

Create Domain DOCNO Primaire


Fonction PRÊT < à valeur booléenne>
Create domain LivNO UNDER DocNO Primaire
Create Domain PolyNO UNDER DocNO Primaire
Fonction COPY
Create Domain Dtitre Character (12) < type syntaxique>
Create Domain Dauteur Character (12)
Create Domain Dpage INT
Create Domain Dediteur Character (12)
85
Suite Schema OR de DATE

Create Domain THESAURUS


Fonction SYN…
Fonction HIER…
Fonction VOISIN…
Fonction CONCERNE,…

2. Création des Relations (tables)


Create RELATION Document (
DOC# Defini sur DOCNO, Primay Key
Titre defini sur Dtitre
NBREPAGE defini sur Dpage
SET-OF MOT CLE Defini sur THESAURUS)

86
Suite Schéma Thesaurus

Create Relation Livre


(L# defini sur LivNO Primary key
Set-of Auteur defini sur Dauteur
Editeur defini sur Dediteur)
Create Relation Poly
(P# Defini sur POLYNO Primary Key
Auteur defini sur Dauteur)

87
Requête Q1 Thesaurus

Select L# ➔ NBREPAGE (Héritage Structurel par l’opérateur ➔)


From Livre
Where Editeur = « Dunod » and PRÊT = « True » ;

➢Rappel : <Héritage Opérationnel direct dans Domaines>

88
Requête Q2 ☺

Select L#➔ NBREPAGE


From Livre
Where Editeur = « Dunod » and PRÊT = « True » and L#➔ Titre =
« Concept% » and L#➔ Mot Cle in { Software, CONCERNE (Software)}

➢Note : on pourrait systématiser la règle « CP ➔ » pour chaque attribut


des tables concernées par l’ héritage (et utiliser la notation pointée)

89
Pour en savoir plus sur le 3ième Manifeste

➢http://thethirdmanifesto.com/

C. J. Date and Hugh Darwen


Databases, Types, and the Relational Model :
The Third Manifesto (3rd edition, Addison-Wesley, 2006)

90
COMPLEMENT : Deuxieme Manifeste de
M.Stonebraker et approche objet MICROSOFT

➢Fondation SQL des BD du Futur


➢POSTGRES (Open Source) et ILLUSTRA (Informix, IBM)
➢DB2 (IBM)
➢ORACLE
➢Approche OBJET de Microsoft (DCOM)

91
POSTGRES➔ « ILLUSTRA »

➢Origine : POSTGRES de M.Stonebraker (UC Berkeley- STON90)

➢POTSGRES➔ ILLUSTRA (1992)➔ Informix (1995) ➔ IBM (2002)


➢VOLTDB (SBGD R en Mémoire centrale cf Module6)

92
POSTGRES➔ « ILLUSTRA »

2 extensions SQL dans POSTGRES:


(i) TYPES définis par utilisateur (avec héritage)
1-ADT (types de base) avec les collections (SET_OF....)
2- types complexes (constructeur tuple)
3- types hérités (hiérarchie de types)

93
ILLUSTRA
(Universal server- INFORMIX)

(ii) FONCTIONS
- fonctions normales (types de base ou complexes)
- opérateurs (types de base seulement)
- opérateurs spécifiques :
EXPRESSION de CHEMIN ("."), REQUETES IMBRIQUEES , FERMETURE TRANSITIVE
….
fonctions POSTQUEL

94
ILLUSTRA
(Universal server- INFORMIX /IBM)

➢ILLUSTRA (1992)
➢INFORMIX "UNIVERSAL SERVER"
➢ (Dec.1995 et 1997) ; UDO d ’Informix Dynamic Server
➢CENTAUR - SGBD Internet -(Juillet 99) conforme à V1.0 des EJB, COM+ (via Data Blade)
➢IBM (2002)

◼95
ILLUSTRA
(Universal server- INFORMIX /IBM)

- Approche"DATA BLADES " (Bibliothèque de classes) : 2D,


3D, WEB,TIME SERIES, STATISTICS, IMAGE, VIDEO, FULL
TEXT SUPPORT..
- moteur SGBD avec TDA, des fonctions définies par
l'utilisateur et optimiseur dynamique

==> "MOTEURS SGBD SUR MESURE"

96
ILLUSTRA
(Universal server- INFORMIX /IBM)

R * Héritage multiple mixte (table et ADT) :


- UNDER TABLE
- UNDER TYPE
* Héritage fonctionnel sélectif
- FROM ONLY

I * OID (64 bits ; ligne)


* Fonctions REF et DEREF

97
ILLUSTRA
(Universal server- INFORMIX /IBM)

C * Types définis par l'utilisateur


- TDA : CREATE TYPE et
CREATE FUNCTION
précédant définition des tables pour stocker les instances
* Attributs complexes et type REF
* Collections : ARRAY, SETOF, LIST, STACK

E * ADT avec fonction


* Approche " DATA BLADES "

98
ILLUSTRA (EX : Thesaurus)
(Universal server- INFORMIX /IBM)

Création d'un DATA BLADE :


-TYPES
-FUNCTIONS
-TABLES

99
ILLUSTRA (EX : Thesaurus)
(Universal server- INFORMIX /IBM)

1 -TYPES

Create type T_auteur (


A# int,
Nom varchar(30)
Date-Nais Date,
Nationalite varchar(30));

100
ILLUSTRA (EX : Thesaurus)
(Universal server- INFORMIX /IBM)

Create type T_Editeur (


Edit# int,
Nom varchar(30),
Adresse varchar(80));

Create type T_mot_cle (


MC# int,
valeur varchar(30));

101
ILLUSTRA (EX : Thesaurus)
(Universal server- INFORMIX /IBM)

Create type T_DOCUMENT(


Doc# int,
Titre varchar(30),
Editeur ref (T_Editeur),
Auteurs setof (ref (T_Auteur)),
mots_cle s setof (ref (T_mot_cle)));

102
ILLUSTRA (EX : Thesaurus)
(Universal server- INFORMIX /IBM)

Create type T_THESAURUS(


mot_cle ref(T_mot_cle),
fils setof (ref(T_mot_cle)),
Synonymes setof (ref(T_ mot_cle)),
voisins setof (ref(T_ mot_cle)));

103
ILLUSTRA (EX : Thesaurus)
(Universal server- INFORMIX /IBM)

2-FONCTIONS
f1 : Documents associés à un mot_cle donné ?

Create function RETRIEVE_DOC_MC (Varchar)


Return setof(T_Document)as
Select*
From Document
Where Document.mot_cle.valeur=$1;

104
ILLUSTRA (EX : Thesaurus)
(Universal server- INFORMIX /IBM)

f2 : ensembles des mots-clé fils d'un mot-clé donné

Create function fils_MC(Varchar)


Returns setof(T_mot_cle)as
Select fils
From Thesaurus
Where Thesaurus .mot_cle.valeur=$1;

105
ILLUSTRA (EX : Thesaurus)
(Universal server- INFORMIX /IBM)

f3 : Idem pour mots clés synonymes

Create function
Synonyme-MC(Varchar)
Returns setof (T_mot_cle) as
Select Synonymes
From Thesaurus
Where Thesaurus.mot_cle.valeur = $1;

106
ILLUSTRA (EX : Thesaurus)
(Universal server- INFORMIX /IBM)

f4 : idem pour mots-clé voisins ?

Create function voisin_MC(Varchar)


Returns setof(T_mot_cle)as
Select voisins
From Thesaurus
Where Thesaurus.mot_cle.valeur =$1;

107
ILLUSTRA (EX : Thesaurus)
(Universal server- INFORMIX /IBM)

f5 : idem pour "concernant" un mot-clé donné (Composition de f2, f3, f4).

Create function Concerne-MC (Varchar)


Returns setof (T_mot_cle) as
Select *
From voisin_MC($1), fils_MC($1),
synonyme_MC($1);

108
ILLUSTRA (EX : Thesaurus)
(Universal server- INFORMIX /IBM)

f6 : Documents concernant un mot clé donné ?

Create function Doc_Concerns (Varchar)


Returns setof(T_DOCUMENT)as
Select*
From Concerne_MC ($1) MC, Document Doc
Where MC.valeur = Doc.mot_cle.valeur ;

109
ILLUSTRA (EX : Thesaurus)
(Universal server- INFORMIX /IBM)

3-CREATION de TABLES

Create table Auteur of type T_Auteur;


Create table Editeur of type T_Editeur;
Create table mot_cle of type T_mot_cle;
Create table Document of type T_Document;
Create table Thesaurus of type T_Thesaurus;

110
ILLUSTRA (EX : Thesaurus)
(Universal server- INFORMIX /IBM)

Création d' INDEX et optimisation des fonctions

Create index mot_cle_Index


on mot_cle using B-TREE (Retrieve_doc_MC(mot_cle),
Search-tree (mot_cle));

111
ILLUSTRA (EX : Thesaurus)
(Universal server- INFORMIX /IBM)

Q1 : Documents indexés par "software"?

Select*
From Document
Where mots_cle.valeur= "Software";

<Jointures implicites via


indicateur de chemin : « . »)>

112
ILLUSTRA (EX : Thesaurus)
(Universal server- INFORMIX /IBM)

Q2 : Noms des Editeurs proposant des documents sur le "Software"?

Select Editeur.nom
From Document
Where mot_cle.valeur= "Software";

113
ILLUSTRA (EX : Thesaurus)
(Universal server- INFORMIX /IBM)

Q3: Tout document concernant le


software dont le titre commence par "concepts"?

Select *
From Doc_Concerne ("Software")
Where Titre= "CONCEPT%";

114
Seminar : Object MIDDLEWARE approach (Microsoft)

➢Approche « Accès Universel »


(UDA : Universal Data Access)

115
APPROCHE MICROSOFT
(Accès Universel)

*Accès UNIVERSEL (UDA : Universal Data Access):


•Application browser
•ADO (ActiveX Data Objects)
•OLE DB (pour accès aux données)
•ODBC : Données SQL (Oracle, …)
•Données non SQL (mail, video,…)
•Mainframe et fichiers (ISAM, VMS,…)

Note : Microsoft offre une interface OLE DB directe dans SQL Server et Exchange
Server

116
Universal Data Access

117
APPROCHE MIDDLEWARE OBJET MICROSOFT

• ADO 2.0 : basé sur (D)COM, remplace interfaces d'accès ODBC de haut niveau

• Approche d'interopérabilité supportant transactions MTS avec API unique pour


développeurs

➢.NET (« Services Web »)

118
APPROCHE Acces Universel de MICROSOFT

* architecture DNA (Distributed interNet Applications) :


intégration PC Window, client-serveur et Internet avec COM+
•COM + Services
(interception/interceptors : mécanisme
d'extensibilité dynamique, liaisons objets-bd…)

119
APPROCHE MIDDLEWARE OBJET MICROSOFT

* depuis SQL SERVER 7.0 Sphinx (Nov.1998)


-nouveau moteur complet " scalable "
(fin série 4.X issue de Sybase)
- traitement parallèle Transact SQL multi processeurs
- intégration moteur OLAP (avec partitions) Plato (rachat Panorama en 1997)
- support JDBC

120
DCOM et COM+ de Microsoft

Objectif : Indépendance vis a vis des LP


+ Composants binaires performants (bas niveau)

COM : centralisé + Windows/PC


DCOM : Réparti + ouverture (NT, UNIX,..) avec
normalisation par Open Group

COM+ et DNA : utilisation XML pour décrire les


contenus des documents (HTML : format) et
services d 'extensibilité de DCOM
(interception…). Biztalk basé sur XML…
Note : XML transforme Internet en une VLDB

121
DCOM et COM+ de Microsoft

Chaque composant contient une interface de base appelée


iunknown avec 3 fonctions (queryinterface, addref, release)

Interface : base interopérabilité, = {méthodes} ; identifiée par


un nom i-x et un identifiant (GUID)

Un objet supporte une ou plusieurs interfaces qui ne peuvent


pas être modifiées.

COM utilise des pointeurs pour la mise en œuvre des interfaces


au niveau binaire

122
DCOM et COM+
(Interfaces)

Rajout méthode « DECOUVERT » IUnknown


dans Interface « A » ?

Interfaces
externes
DEPOT FERMER
A
{DEPOT, RETRAIT, VERIF} RETRAIT

B
VERIF COMPTE
{MODIF, FERMER}

MODIF COMPTE

123
DCOM et COM+
(Interfaces)

IUnknown
Création NOUVELLE INTERFACE « C »

Interfaces
externes
DEPOT FERMER
A
{DEPOT, RETRAIT, VERIF} RETRAIT

B
VERIF COMPTE
{MODIF, FERMER}
C MODIF COMPTE

{DEPOT, RETRAIT, DECOUVERT


VERIF, DECOUVERT} 124
DCOM et COM+ : METHODES
(Inclusion/Délégation)

IUnknown
Inclusion-Containment/Délégation connaît A, B et C
(INTERNE vers EXTERNE)

Interfaces IUnknown
externes Objet externe contrôle la durée
de vie de l’objet interne
A
L’objet externe utilise
l’implémentation C de
l’objet interne
B
comme n’importe quel client
Objet interne
contenu dans
C C l’objet externe

125
DCOM et COM+ : METHODES
(Inclusion/délégation)

IUnknown
connaît A, B et C

Interfaces IUnknown
externes Objet externe
contrôle la durée
de vie de l’objet interne
A

B
Objet interne
contenu dans
C L ’interface C de l’objet
l’objet externe
interne exposé directement
depuis l’objet externe

126
DCOM et COM+: METHODES
(AGREGATION)

Interfaces
externes Objet externe IUnknown
contrôle la durée
A de vie de l’objet interne
Procédure A utilisant
C
B
Objet interne
contenu dans
C
l’objet externe

127
DCOM et COM+ : METHODES
(Exemple : Agrégation/Délégation)
IUnknown

Interfaces
externes Objet externe

Multiplier
Multiplication

Ajouter Agrégation
+ Objet interne
Délégation contenu dans
Soustraire - l’objet externe

128
Exercice : Héritage Par agrégation et délégation ?
entre

➢ EMPLOYE
➢méthodes
➢ SALAIRE1
➢ RETRAITE
➢PILOTE
➢SALAIRE 2 ( = SALAIRE1 + Primes)
➢RETRAITE

129
DCOM et COM+
(Exemple : Réutilisabilité par
Agrégation/Délégation)
IUnknown

Interfaces
externes PILOTE

SALAIRE
+Primes…

Agrégation
SAL
Délégation EMPLOYE
RETRAITE
RETRAITE-

130
APPROCHE MIDDLEWARE OBJET MICROSOFT :
(Propriétés RICE et COM)

R : Pas d 'héritage (Pb dans applications du NC)


Mais …Polymorphisme des interfaces
Mais …Réutilisabilité par
- Inclusion Containment/délégation
- Agrégation

I : GUID de 128 bits

131
APPROCHE MIDDLEWARE OBJET MICROSOFT :
(Propriétés RICE et COM)

C : Classe d'objets avec plusieurs « interfaces »


non modifiables et interopérabilité binaire

E : Composant COM manipulable seulement


via « interfaces »

132
Bibliographie

➢M.Stonebraker, D.Moore " Object-relational DBMS : the


next great wave " Morgan Kaufmann, 1996

➢C.Date, H.Darwen " Foundations for object-relational data bases :


the third manifesto " Addison Wesley, Juin 1998

➢D.Chamberlin " A complete guide to DB2 universal data base ",


Morgan Kaufmann, 1998

➢M.Loomis " Object data bases in practice " Prentice Hall, 1997
133
Bibliographie

➢R.Cattell et al " Object data base standard : ODMG 2.0 "


Morgan Kaufmann, 1997 (ODMG 3.0 en 2000)
➢S. Bodrowski " Oracle 8 architecture " Osborne Mc Graw
Hill, 1998
➢P.Fortier « SQL3.Implementing the SQL Foundation
standard »McGrawHill, 1999

➢S.Miranda « LES BASES DE DONNEES : architectures,


modèles relationnels et objets, SQL3, Dunod, 2002 , …
134
EXTRA SLIDES

135
Middleware objet à couplage FORT
(environnement « homogène »)

➢COM+ (Microsoft)

➢CORBA
➢RMI (Sun)

136
Exemple de service e-commerce

➢ Recherche service sur le WEB ?


➢Ex : Achat CAMERA NUMERIQUE au meilleur prix ?
➢Moteur de recherche ?
➢Place de marché électronique ?
Les « services Web » sont entre les fournisseurs et la place de marché pour une
communication efficace

137
APPROCHE MIDDLEWARE OBJET par couplage faible
(Microsoft, IBM, Sun/Oracle..)

Approches XML et SERVICE WEB (Middleware objet


faible) pour résoudre 2 problèmes de base du e-commerce
(B2B) avec intégration de services dans un univers
hétérogène :
- PB1 : Echange des données →XML
- PB2 : RPC→Ecriture en XML et services WEB
Les services WEB offrent une interface décrivant des
opérations accessibles via une messagerie XML
138
Infostructure Services WEB (Standards)

1) SERVICE PROVIDER : WSDL (Web Services Description


Language), format XML pour décrire l’utilisation du
service

2) SERVICE BROKER : UDDI (Universal Description


Discovery and Integration), Annuaire de référence des
services accessibles

3) SERVICE REQUESTOR : SOAP (Simple Object Access


Protocol) pour accéder aux services choisis
139
Infostructure des services WEB

➢L’offreur de services le décrit via WSDL et le publie dans le kioske


UDDI. Le demandeur de services accède au registraire UDDI, pour
le trouver et le relier via SOAP
SERVICE BROKER

TROUVER
PUBLIER avec UDDI
avec WSDL
E-business

SERVICE
LIER avec SERVICE
PROVIDER
SOAP REQUESTER

140

Vous aimerez peut-être aussi