• Aucun résultat trouvé

Développement d’application client/serveur

N/A
N/A
Protected

Academic year: 2022

Partager "Développement d’application client/serveur"

Copied!
25
0
0

Texte intégral

(1)

Zouhair ELHADARI

www.hadari.jimdo.com

Centre de BTS Dakhla 2ème année BTS DSI

Développement d’application

client/serveur

(2)

Chapitre 3

Interfaces d’accès aux données « middleware »

(3)

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

(4)

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

(5)

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

(6)

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.

(7)

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

(8)

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

(9)

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

(10)

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

(11)

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

(12)

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:

(13)

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

(14)

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

(15)

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

(16)

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.

(17)

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

(18)

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

(19)

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

(20)

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

(21)

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

(22)

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.

(23)

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

(24)

Le Standard ODBC:

(25)

Fin du Chapitre

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

Références

Documents relatifs

– Comment casser la relation forte entre client et serveur, comment rendre le client indépendant du serveur pour l'appel.

PHP langage spécialisé pour les applications web (utilisé en conjonction avec Apache) ; MySQL comme serveur de base de données. 5 Projet : réalisation

Le poste client contient la logique fonctionnelle de base et fait appel au serveur pour effectuer les traitements en utilisant des services extérieurs. Elle

Le module de gestion des données peut être hébergé par un serveur distant (SGBD, serveur web). Le module de gestion de

 Caractériser cette socket en terme de communication : -au moins un numéro de port (associé au service) -éventuellement une adresse IP (interface cible).  Lui permettre de

//On associe un paquet à un buffer vide pour la réception DatagramPacket paquet =new DatagramPacket(buffer,buffer.length());. //On crée un socket pour écouter sur le

Serveur en gestion multi--clients clients en en mode connecté. mode

◮ Réponse : message transmis par un serveur à un client suite à l’exécution d’une opération, contenant le résultat