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 ,