Dveloppement dapplication clientserveur Zouhair ELHADARI www hadari jimdo

  • Slides: 25
Download presentation
Développement d’application client/serveur Zouhair ELHADARI www. hadari. jimdo. com Centre de BTS Dakhla 2ème

Développement d’application client/serveur Zouhair ELHADARI www. hadari. jimdo. com Centre de BTS Dakhla 2ème année BTS DSI

Chapitre 3 Interfaces d’accès aux données « middleware » 2ème année BTS DSI Prof:

Chapitre 3 Interfaces d’accès aux données « middleware » 2ème année BTS DSI Prof: EL HADARI zouhair 2

Middleware(logiciel médiateur): CLIENT réseau SERVEUR Middleware Client ODBC, SQL*NET, ORB, RPC, MOM, . .

Middleware(logiciel médiateur): CLIENT réseau SERVEUR Middleware Client ODBC, SQL*NET, ORB, RPC, MOM, . . . 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). 2ème année BTS DSI Prof: EL HADARI zouhair 3

Middleware(logiciel médiateur): Application(s) Serveur(s) MIDDLEWARE RESEAU � Une triple transparence : ◦ Transparence aux

Middleware(logiciel médiateur): Application(s) Serveur(s) MIDDLEWARE RESEAU � 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. 2ème année BTS DSI Prof: EL HADARI zouhair 4

Pourquoi le Middleware ? La complexité du dialogue client/serveur est à l'origine du middleware.

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

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. 2ème année BTS DSI Prof: EL HADARI zouhair 6

Le middleware : Composition (1) API : Application Program Interfaces avec les applications clients

Le middleware : Composition (1) API : Application Program Interfaces avec les applications clients et applications serveurs CLIENT Processus Client réseau SERVEUR Processus Serveur FAP : Format And Protocol Mise en forme des données transportées en fonction des protocoles réseau 2ème année BTS DSI Prof: EL HADARI zouhair 7

Le middleware : Composition (2) CLIENT Application client I P C API FAP SERVEUR

Le middleware : Composition (2) CLIENT Application client I P C API FAP SERVEUR Connexion Déconnexion Émission Réception Un protocole Protocole Réseau Application serveur I P C API FAP Protocole Réseau réseau Exemple : TCP/IP 2ème année BTS DSI Prof: EL HADARI zouhair 8

Le middleware : Composition (3) Partie haute : API - Application Programming Interface C'est

Le middleware : Composition (3) 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) 2ème année BTS DSI Prof: EL HADARI zouhair 9

Positionnement du middleware dans Le modèle OSI: Application Middleware Application 1 Application 2 Application

Positionnement du middleware dans Le modèle OSI: Application Middleware Application 1 Application 2 Application API Application Présentation FAP Présentation Session Services de transport des données Session Transport Ex: TCP Transport Réseau Ex: IP Réseau Données Ex: CSMA/CD Données Physique Paire torsadée Physique Transfert des données 2ème année BTS DSI Prof: EL HADARI zouhair 10

Modes de communication: Il existe deux modes de communication supportés par les middlewares: •

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 2ème année BTS DSI Prof: EL HADARI zouhair 11

Modes de communication: Les middleware sont généralement basés sur deux approches de la communication

Modes de communication: 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). 2ème année BTS DSI Prof: EL HADARI zouhair 12

2ème année BTS DSI Prof: EL HADARI zouhair 13

2ème année BTS DSI Prof: EL HADARI zouhair 13

Le dialogue avec session: Client Réseau Application Demande de connexion Serveur Prise en compte

Le dialogue avec session: Client Réseau Application Demande de connexion Serveur Prise en compte de demande et création d'un contexte Requête Résultats Synchronisation Requête Exécution des requêtes et gestion de la synchronisation Résultats Synchronisation Déconnexion Fin du contexte 2ème année BTS DSI Prof: EL HADARI zouhair 14

�Dans les dialogues avec session (ou avec connexion). Les échanges d’informations sont subordonnés à

�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) 2ème année BTS DSI Prof: EL HADARI zouhair 15

� Si le serveur accepte la connexion, il crée un contexte propre à chaque

� 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. 2ème année BTS DSI Prof: EL HADARI zouhair 16

� Les ordres SQL "COMMIT" ou "ROLL BACK" sont des exemples de points de

� 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") 2ème année BTS DSI Prof: EL HADARI zouhair 17

Le dialogue sans connexion : les RPC Client Application Réseau Serveur Requête Prise en

Le dialogue sans connexion : les RPC Client Application Réseau Serveur Requête Prise en compte de la demande Appel de la procédure distante Réponse Réception du résultat poursuite de l'exécution Exécution de la procédure 2ème année BTS DSI Prof: EL HADARI zouhair 18

Les dialogues sans connexion avec appels de procédures distantes (RPC - Remote Procedure Call).

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. 2ème année BTS DSI Prof: EL HADARI zouhair 19

L’offre Middleware: Les offres Middleware sont variées : ◦ Offres propriétaires, ◦ Offres d'accès

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 2ème année BTS DSI Prof: EL HADARI zouhair 20

� L’accès universel aux données pour les clients ◦ ODBC de Microsoft : accès

� 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. 2ème année BTS DSI Prof: EL HADARI zouhair 21

Le Standard ODBC: ODBC signifie Open Database Connectivity. C’est une interface de programmation (API)

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. 2ème année BTS DSI Prof: EL HADARI zouhair 22

Le Standard ODBC: Exemple : De Sybase à ODBC Application API : db-lib (lié

Le Standard ODBC: Exemple : De Sybase à ODBC Application API : db-lib (lié au SE db-lib pour OS 2, pour Windows, etc) Application API : ODBC Data. Base Driver FAP : net-lib (lié au SE et au réseau) Réseau 2ème année BTS DSI Prof: EL HADARI zouhair 23

Le Standard ODBC: 2ème année BTS DSI Prof: EL HADARI zouhair 24

Le Standard ODBC: 2ème année BTS DSI Prof: EL HADARI zouhair 24

Fin du Chapitre 2ème année BTS DSI Prof: EL HADARI zouhair 25

Fin du Chapitre 2ème année BTS DSI Prof: EL HADARI zouhair 25