Zouhair ELHADARI
www.hadari.jimdo.com
Centre de BTS Dakhla 2ème année BTS DSI
Développement d’application
client/serveur
Chapitre 3
Interfaces d’accès aux données « middleware »
Middleware(logiciel médiateur):
Client Serveur
L’ensemble des services logiciels permettant
l’interaction et la coordination des actions entre l’application Client et l’application Serveur
(communication inter-processus).
CLIENT SERVEUR
Middleware
ODBC, SQL*NET, ORB, RPC, MOM, ...
réseau
3 2ème année BTS DSI Prof:EL HADARI zouhair
Middleware(logiciel médiateur):
Une triple transparence :
◦ Transparence aux réseaux. Tous les types de réseaux doivent être supportés.
◦ Transparence aux serveurs. Tous le SGBD (avec leur SQL souvent différents) doivent être
accessibles.
◦ Transparence aux langages. Les fonctions appelées doivent être aussi indépendantes que possible des langages.
Application(s )
Serveur(s)
MIDDLEWARE
RESEAU
Pourquoi le Middleware ?
La complexité du dialogue client/serveur est à l'origine du middleware.
Complexité due à la présence :
◦ Des Systèmes hétérogènes
◦ Des Systèmes propriétaires
◦ Du dialogue à distance
2ème année BTS DSI Prof:EL HADARI zouhair 5
Le Middleware : à quoi ça sert ?
Avantages
◦Offre des services de «haut niveau» aux applications
◦Rend portable les applications (avec certaines limites)
◦Prend en charge les protocoles de conversion de caractères et d’établissement de sessions entre clients et serveurs hétérogènes
C’est la «glue» qui rend possible le client- serveur
C’est la boîte à outils pour le développement des applications.
Le middleware : Composition (1)
Processus Client
Processus Serveur
CLIENT réseau
FAP : Format And Protocol
Mise en forme des données transportées en fonction des protocoles réseau
API : Application Program Interface
Interfaces avec les applications clients et applications serveurs
SERVEUR API : Application Program Interface
Interfaces avec les applications clients et applications serveurs
FAP : Format And Protocol
Mise en forme des données transportées en fonction des protocoles réseau
7 2ème année BTS DSI Prof:EL HADARI zouhair
Le middleware : Composition (2)
CLIENT
réseau
SERVEUR
Application client
Application serveur
API API
FAP FAP
Protocole Réseau
Protocole Réseau
Exemple : TCP/IP
Connexion Déconnexion
Émission Réception
Un protocole
IPC IPC
Le middleware : Composition (3)
2ème année BTS DSI Prof:EL HADARI zouhair
Partie haute : API - Application Programming Interface
C'est l'ensemble des fonctions qui permettent au poste client de réclamer un service
Demande de connexion/déconnexion avec le serveur
transfert des requêtes
réception des résultats
Partie basse : FAP - Format and Access Protocol
C'est le protocole d'échange et de format des données
Formate la requête en provenance de l'API puis récupère la trame et l'adresse à l'API
Maintient de la session avec le serveur (synchronisation)
9
Positionnement du middleware dans Le modèle OSI:
Application
1 Application
2 Application
Présentati
Sessionon Session
Présentati on
Application
Transport
Physique Données
Réseau Transport
Physique Données
Réseau
Transfert des données Application
Middlewar e
Services de transport des données
API FAP
Ex:TC P Ex:IP Ex:CSMA/CD
Paire torsadée
Modes de communication:
Il existe deux modes de communication supportés par les
middlewares:
•synchrone / asynchrone : obligation (/ou non) pour le client d'attendre la réponse du serveur après
chaque envoi
• avec connexion / sans connexion (ou avec session): nécessité (/ou non) d'établir une connexion entre le client et le serveur
11 2ème année BTS DSI Prof:EL HADARI zouhair
Les middleware sont généralement basés sur deux approches de la communication interprocessus (IPC) :
les RPC (Remote Procedure Call ou appels de procédure à distance)
les messages (conversations APPC: Application Program to Program Communication ou RDA : Remote Data Access).
Modes de communication:
2ème année BTS DSI Prof:EL HADARI zouhair 13
Le dialogue avec session:
Application
Serveur Réseau
Client
Demande de connexion Requête
Résultats
Synchronisation Requête
Résultats
Synchronisation Déconnexion
Prise en compte de demande et création d'un contexte
Fin du contexte
Exécution des requêtes et gestion de la
synchronisation
Dans les dialogues avec session (ou avec connexion). Les échanges d’informations sont subordonnés à l’ouverture d’une
«session» par le client vers le serveur.
IPC (Middleware) avec connexion :
◦ Protocole APPC de l’architecture réseau SNA d’IBM (Application Programm to
Progamm Application)
◦ Protocole RDA, basé sur SQL défini par l’ISO (Remote Data Access)
15 2ème année BTS DSI Prof:EL HADARI zouhair
Si le serveur accepte la connexion, il crée un contexte propre à chaque application cliente connectée.
Client et serveur s'échangent des requêtes, des réponses et des points de synchronisation.
Le client a la responsabilité de conduire les phases successives de l'échange
Le serveur a la responsabilité de garantir le contexte perçu par le client.
Les ordres SQL "COMMIT" ou "ROLL BACK"
sont des exemples de points de synchronisation.
A la suite d'une requête le :
◦ COMMIT confirmera la transaction,
◦ ROLL BACK l'annulera.
Le serveur mettra réellement à jour la base de données qu'à la suite de ces ordres de
synchronisation (avant cela les transactions s'appliquent dans le "contexte")
17 2ème année BTS DSI Prof:EL HADARI zouhair
Le dialogue sans connexion : les RPC
Application
Serveur Réseau
Client
Appel de la procédure distante
Requête
Prise en compte de la demande
Exécution de la procédure
Réponse Réception du résultat
poursuite de l'exécution
Les dialogues sans connexion avec appels de
procédures distantes (RPC - Remote Procedure Call).
Le processus client invoque une procédure distante située sur le serveur.
La requête contient tous les éléments
nécessaires au serveur (nom de la procédure, paramètres, identité du processus).
Le message en retour contient toute la réponse.
19 2ème année BTS DSI Prof:EL HADARI zouhair
L’offre Middleware:
Les offres Middleware sont variées :
◦ Offres propriétaires,
◦ Offres d'accès universel aux bases,
◦ Offres pour des accès multibases
Les offres propriétaires aux SGBDR :
◦ ORACLE avec Sql*Net
◦ SYBASE avec Db-lib
L’accès universel aux données pour les clients
◦ ODBC de Microsoft : accès standardisé aux principales bases de données du marché (drivers)
◦ IDAPI de Borland et Novell
Les offres multi-clients, multi-serveurs. Elles permettent aux clients d'accéder en toute transparence à plusieurs bases hétérogènes, situées éventuellement sur des serveurs
différents.
21 2ème année BTS DSI Prof:EL HADARI zouhair
Le Standard ODBC:
ODBC signifie Open Database Connectivity. C’est une interface de programmation (API) permettant de
standardiser les échanges d’informations entre une base de données et une application cliente. ODBC permet donc à des applications comme Word,Excel,Access ou n’importe quelle autre application,d’accéder à des données stockées dans n’importe quel type de base. Il est de la
responsabilité du fabricant du serveur de base de données de fournir les drivers nécessaires pour interconnecter son SGBD par l’intermédiaire de l’interface ODBC.
Le Standard ODBC:
Exemple : De Sybase à ODBC
Application API : db-lib (lié au SE -
db-lib pour OS2, pour Windows, etc) FAP : net-lib
(lié au SE et au réseau)
Réseau
Application
FAP : net-lib (lié au SE et au réseau)
Réseau
API : ODBC
DataBase Driver
23 2ème année BTS DSI Prof:EL HADARI zouhair
Le Standard ODBC:
Fin du Chapitre
2ème année BTS DSI Prof:EL HADARI zouhair 25