Chap 2   b ds client-serveur
Upcoming SlideShare
Loading in...5
×
 

Chap 2 b ds client-serveur

on

  • 426 views

k

k

Statistics

Views

Total Views
426
Views on SlideShare
426
Embed Views
0

Actions

Likes
1
Downloads
13
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft Word

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Chap 2   b ds client-serveur Chap 2 b ds client-serveur Document Transcript

    • CLIENT-SERVEURArchitecture client-serveur (client-server architecture) : modèle d’architecture applicative où lesprogrammes sont répartis entre processus clients et serveurs communiquant par des requêtes avecréponsesClient (client) : processus demandant l’exécution d’une opération à un autre processus (serveur)par l’envoi d’un message contenant son descriptif et attendant la réponse par un message enretourServeur (server) : processus accomplissant une opération sur demande d’un client et luitransmettant la réponseRequête (request) : message transmis par un client à un serveur décrivant l’opération à exécuterRéponse (reply) : message transmis par un serveur à un client suite à l’exécution d’une opérationcontenant les paramètres de retour de l’opérationComposants : Système ouvert (solution non propriétaire basée sur des standards de ISO, ANSI, IEEE, X/Open, OMG, OSF) SGBD relationnel + SQL sur le serveur Stations de travail personnelles (interface graphique, connexion au réseau) Outils de développement d’applications variés Logiciels de transport de requête et de réponses Outils de conception, de déploiement et de maintenance1ère génération (début années 80) Développement en SQL sur le serveur géré par un SGBD relationnel Développement des applications en L4G + SQL + interface graphique sur le client ème2 génération (milieu années 90) Traitements applicatifs au sein du serveur (procédures stockées) Approche orientée objet (interface graphique, modélisation des données) Déploiement de l’applicatif facilité (partitionnement automatique du code de l’applicatif entre client et serveur) par la gestion d’un référentiel des objets de l’application au sein du serveur
    • CLIENT-SERVEUR (SUITE 1/2)Client-Serveur de présentation (presentation client-server) : un processus exécute uniquement lesfonctions de dialogue avec l’utilisateur, l’autre gérant les données et exécutant le code applicatifRhabillage (revamping) : un processus exécute les fonctions de dialogue sophistiquées avecl’utilisateur, l’autre gérant les données et exécutant le code applicatif et assurant les dialoguessimplifiés avec le clientClient-Serveur de données (data client-server) : un programme applicatif contrôlé par uneinterface de présentation sur une machine cliente accède à des données sur une machine serveurpar des requêtes de manipulation de donnéesClient-Serveur de procédures (procedure client-server) : un programme applicatif contrôlé parune interface de présentation sur une machine cliente sous-traite l’exécution de procéduresapplicatives à une machine serveur (ces procédures encapsulent le plus souvent la base dedonnées)Client-Serveur de données et de procédures :Clients : possèdent du code de l’application non directement lié aux données dialogues interactifs avec l’utilisateur, traitements spécialisés des messages, affichage des résultatsServeur : stockage, distribution, sécurité des données ; accès transactionnels et décisionnels SGBDR + procédures stockéesRéseau : transfert des demandes et des résultats ; connectabilité outils client au serveur
    • CLIENT-SERVEUR (SUITE 2/2)Médiateur (middleware) : ensemble des services logiciels construits au dessus d’un protocole detransport afin de permettre l’échange des requêtes et des réponses associées entre client etserveur de manière transparente (afin de cacher l’hétérogénéité des composants mis en œuvre cequi suppose un format d’échange standard pour les différents codages internes)Procédure de connexion (connection procedure) : opération consistant à ouvrir un chemin depuisun client vers un serveur (après authentification)Procédure de requête (request preparation) : opération consistant à envoyer un requête avec desparamètres non instanciés à un serveur afin qu’il prépare son exécution (compilation et définitiondu plan d’exécution)Exécution de requête (request execution) : opération consistant à envoyer une demanded’exécution d’une requête précédemment préparée à un serveur, en fournissant les valeurs desparamètresRécupération des résultats (result fetching) : opération consistant à ramener tout ou partie durésultat d’une requête sur le clientProcédure de déconnexion (deconnection procedure) : opération consistant à fermer le cheminouvert allant du client vers le serveurCache des résultats (result caching) : technique permettant de transférer les résultats par blocs etde les conserver sur le client et/ou le serveur afin de les réutiliser pour répondre à des requêtesCache des requêtes (request caching) : technique permettant de conserver des requêtes compilées(avec leurs plans d’exécution) sur le serveur afin de les réutiliser pour répondre à des requêtessimilairesTransparence aux réseaux (établissement d’une session)Transparence aux serveurs (malgré dialectes différents)Transparence aux langages (par les fonctions)Assemblage (marshalling) : procédé consistant à prendre une collection de paramètres et à lesarranger et à les coder en format externe pour constituer un message à émettreDésassemblage (unmarshalling) : procédé consistant à prendre un message en format externe et àreconstituer la collection des paramètres qu’il représente en format interneAppel de procédure à distance (remote procedure call) : technique permettant d’appeler uneprocédure distante comme une procédure locale (transparence des messages envoyés etassemblages/désassemblages de paramètres)Dialogue synchrone (dialogue sans file d’attente ; émissions et réceptions sont bloquantes) ouasynchrone (dialogue avec file d’attente ; l’une des émissions ou réceptions n’est pas bloquante)
    • SQL 3SQL 1 (1986  1989) : norme de baseSQL 2 (1992) SQL 2 entré : omissions de SQL 1 SQL 2 intermédiaire : schéma, SQL dynamique, domaines, jointure externe, mises à jour en cascade SQL 2 complet : véritable langage de base de donnéesSQL 3 (1997-98) Interface client (client interface) : ensemble de fonctions permettant d’envoyer des requêtes et de récupérer les résultats depuis un processus client vers un serveur SQL Procédures stockées (stored procedure) : procédure dont la définition est stockée dans la base de données, exécutée par le serveur, permettant de calculer des paramètres de sortie à partir de paramètres en entrée et du contenu de la base de données Objets SQL (SQL object) : groupe de données structuré, manipulé par des opérations spécifiées lors de la définition du type (attributs et opérations, privé ou public, sous-type hérité d’un ou plusieurs sur-types, attributs multi-valués, etc.) de l’objet et identifié par un identifiant immuable Question récursive (recursive query) : pour les jointures récursives sur une relation Déclencheur (trigger) : action sur la base de données à exécuter avant ou après l’apparition d’un événement
    • ENTREPÔT DE DONNÉESEntrepôt de données (data warehouse) ::= serveur de données gérant des bases avec historiques,organisées par sujet spécifique, consolidées à partir de bases applicatives hétérogènes, aidant à laprise de décision dans l’organisationFonctions : Extraction de données : un moniteur détecte les mises à jour sur les bases légataires Collecteur : intégration des mises à jour des différentes bases dans l’entrepôt Analyse de données : prise de décision à l’aide de requêtes et d’une présentation graphique