département informatique de l’institut universitaire …bigbozoid.free.fr/coursiut/acsi et...

8
CLIENT-SERVEUR Architecture client-serveur (client-server architecture) : modèle d’architecture applicative où les programmes sont répartis entre processus clients et serveurs communiquant par des requêtes avec réponses Client (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 en retour Serveur (server) : processus accomplissant une opération sur demande d’un client et lui transmettant la réponse Requête (request) : message transmis par un client à un serveur décrivant l’opération à exécuter Réponse (reply) : message transmis par un serveur à un client suite à l’exécution d’une opération contenant les paramètres de retour de l’opération Composants : 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 maintenance 1 ère génération (début années 80)

Upload: dinhkhue

Post on 16-Sep-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Département Informatique de l’Institut Universitaire …bigbozoid.free.fr/CoursIUT/ACSI et BD/Bases de Donnees... · Web viewDéveloppement en SQL sur le serveur géré par un

CLIENT-SERVEURArchitecture client-serveur (client-server architecture) : modèle d’architecture applicative où les programmes sont répartis entre processus clients et serveurs communiquant par des requêtes avec ré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 en retourServeur (server) : processus accomplissant une opération sur demande d’un client et lui transmettant 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ération contenant 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 serveurStations de travail personnelles (interface graphique, connexion au réseau)Outils de développement d’applications variésLogiciels de transport de requête et de réponsesOutils de conception, de déploiement et de maintenance

1ère génération (début années 80)Développement en SQL sur le serveur géré par un SGBD relationnelDéveloppement des applications en L4G + SQL + interface graphique sur le client

2ème 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

Page 2: Département Informatique de l’Institut Universitaire …bigbozoid.free.fr/CoursIUT/ACSI et BD/Bases de Donnees... · Web viewDéveloppement en SQL sur le serveur géré par un

CLIENT-SERVEUR (SUITE 1/2)

Client-Serveur de présentation (presentation client-server) : un processus exécute uniquement les fonctions 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 avec l’utilisateur, l’autre gérant les données et exécutant le code applicatif et assurant les dialogues simplifiés avec le clientClient-Serveur de données (data client-server) : un programme applicatif contrôlé par une interface de présentation sur une machine cliente accède à des données sur une machine serveur par des requêtes de manipulation de donnéesClient-Serveur de procédures (procedure client-server) : un programme applicatif contrôlé par une interface de présentation sur une machine cliente sous-traite l’exécution de procédures applicatives à une machine serveur (ces procédures encapsulent le plus souvent la base de donné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ésultats

Serveur : stockage, distribution, sécurité des données ; accès transactionnels et décisionnelsSGBDR + procédures stockées

Réseau : transfert des demandes et des résultats ; connectabilité outils client au serveur

Page 3: Département Informatique de l’Institut Universitaire …bigbozoid.free.fr/CoursIUT/ACSI et BD/Bases de Donnees... · Web viewDéveloppement en SQL sur le serveur géré par un

CLIENT-SERVEUR (SUITE 2/2)Médiateur (middleware) : ensemble des services logiciels construits au dessus d’un protocole de transport afin de permettre l’échange des requêtes et des réponses associées entre client et serveur de manière transparente (afin de cacher l’hétérogénéité des composants mis en œuvre ce qui suppose un format d’échange standard pour les différents codages internes)

Procédure de connexion (connection procedure) : opération consistant à ouvrir un chemin depuis un client vers un serveur (après authentification)Procédure de requête (request preparation) : opération consistant à envoyer un requête avec des paramètres non instanciés à un serveur afin qu’il prépare son exécution (compilation et définition du plan d’exécution)Exécution de requête (request execution) : opération consistant à envoyer une demande d’exécution d’une requête précédemment préparée à un serveur, en fournissant les valeurs des paramètresRécupération des résultats (result fetching) : opération consistant à ramener tout ou partie du résultat d’une requête sur le clientProcédure de déconnexion (deconnection procedure) : opération consistant à fermer le chemin ouvert allant du client vers le serveurCache des résultats (result caching) : technique permettant de transférer les résultats par blocs et de 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êtes similairesTransparence 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 à les arranger 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 une procédure distante comme une procédure locale (transparence des messages envoyés et assemblages/désassemblages de paramètres)Dialogue synchrone (dialogue sans file d’attente ; émissions et réceptions sont bloquantes) ou asynchrone (dialogue avec file d’attente ; l’une des émissions ou réceptions n’est pas bloquante)

Page 4: Département Informatique de l’Institut Universitaire …bigbozoid.free.fr/CoursIUT/ACSI et BD/Bases de Donnees... · Web viewDéveloppement en SQL sur le serveur géré par un

SQL 3SQL 1 (1986 1989) : norme de baseSQL 2 (1992)

SQL 2 entré : omissions de SQL 1SQL 2 intermédiaire : schéma, SQL dynamique, domaines, jointure externe, mises à jour en cascadeSQL 2 complet : véritable langage de base de données

SQL 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 SQLProcé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éesObjets 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 immuableQuestion récursive (recursive query) : pour les jointures récursives sur une relationDéclencheur (trigger) : action sur la base de données à exécuter avant ou après l’apparition d’un événement

Page 5: Département Informatique de l’Institut Universitaire …bigbozoid.free.fr/CoursIUT/ACSI et BD/Bases de Donnees... · Web viewDéveloppement en SQL sur le serveur géré par un

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 à la prise de décision dans l’organisationFonctions :

Extraction de données : un moniteur détecte les mises à jour sur les bases légatairesCollecteur : intégration des mises à jour des différentes bases dans l’entrepôtAnalyse de données : prise de décision à l’aide de requêtes et d’une présentation graphique