Middleware de données

publicité
UN serveur et N clients (ou plusieurs
serveurs sans schéma global) :
désignation de la BD
routage des requêtes et des résultats
N serveurs (avec schéma global) et M clients
:
décomposition des requêtes et recomposition des
résultats
transactions réparties (voir middleware
transactionnel)
Client 1
Select *
from UVINT
Client 1
Select *
from UVGET tuples
Client 2
tuples
réseau
Schéma local
SGBD
INT
ETUDIANT INT
UV INT
NOTES INT
Client 2
ETUDIANT GET
UV GET
NOTES GET
réseau
Schéma global
Schéma local
SGBD
ENST
Schéma local
SGBD
ENSTB
Schéma local
SGBD
INT
ETUDIANT INT
UV INT
NOTES INT
!
Middleware propriétaire : par exemple
SQL*NET de Oracle
Middleware ouvert (indépendant d ’un
SGBD) : par exemple ODBC (Open
DataBase Connectivity) de Microsoft
Middleware ouvert et portable : API JDBC
de Java avec des drivers écrits en Java
(type 3 et 4 selon terminologie Sunsoft)
Middleware non transactionnel : HTTP
"
Appli ODBC
%
Appli Oracle
OCI
Sql*net
Sql*net
Oracle
OCI : Oracle Call Interface
API d ’accès au SGBD
(non normalisé)
SQL/CLI normalisé
mais pas supporté
par les SGBD
oracle
'()(
Dblib : API Sybase
Trois API intéressantes pour le middleware :
API ODBC
Pilote Oracle Pilote Sybase
dblib
OCI
Sql*net
netlib
Netlib :
middleware Sybase
Sql*net
" #
JDBC (interface BD),
RMI (invocation objet Java distant),
JTS (transaction)
JDBC utilise un pilote côté client pour dialoguer
avec la partie serveur :
netlib
certains pilotes ont besoin du middleware du SGBD
serveur
certains pilotes intègre un middleware « pur Java »
qui remplace le middleware du SGBD
Sybase
$
&
' % +#
'+
-
Client
Client léger
ouverture grace à CGI, mais inefficacité si
charge importante
protocole standard et géré par organisme
indépendant W3C
protocole connu des pare-feux
difficulté à supporter des transactions
interactives
Serveur
Appli
Java
API JDBC
Oracle
Pilote
JDBC/Oracle
en Java
Déploiement d ’application facile puisque sans
middleware propriétaire sur le client
*
WWW - Architecture étendue
HTTP
client W3
form
W3
page
W3
CGI
serveur W3
système
de fichiers
Pages HTML
statiques
script
CGI
./0
protocole
dédié
appli externe
BD ou
système
de fichiers
Pages HTML
dynamiques
,
Téléchargement