Dialogue avec la base de données

Documents pareils
Le modèle client-serveur

Cours Base de données relationnelles. M. Boughanem, IUP STRI

Structure fonctionnelle d un SGBD

La problématique de la Préservation des Bases de Données. Olivier ROUCHON CINES Groupe PIN Jeudi 7 Octobre

Mercredi 15 Janvier 2014

ISC Système d Information Architecture et Administration d un SGBD Compléments SQL

UE 8 Systèmes d information de gestion Le programme

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Bases de données Outils de gestion

Introduction aux Bases de Données Relationnelles Conclusion - 1

Conseils et astuces pour un déploiement réussi de la solution VMware Mirage

Urbanisme du Système d Information et EAI

Le "tout fichier" Le besoin de centraliser les traitements des fichiers. Maitriser les bases de données. Historique

Bases de Données relationnelles et leurs systèmes de Gestion

C-JDBC. Emmanuel Cecchet INRIA, Projet Sardes.

SQL MAP. Etude d un logiciel SQL Injection

PostgreSQL. Formations. Calendrier... 14

IT203 : Systèmes de gestion de bases de données. A. Zemmari zemmari@labri.fr

AngularJS pour une application d'entreprise

Votre Réseau est-il prêt?

Initiation aux bases de données (SGBD) Walter RUDAMETKIN

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

Java DataBaseConnectivity

PostgreSQL. Formations. Catalogue Calendrier... 8

Bases de données avancées Introduction

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

Bases de Données. Stella MARC-ZWECKER. Maître de conférences Dpt. Informatique - UdS

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010

Le langage SQL Rappels

Directives d installation

Java et les bases de données

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles

NFP111 Systèmes et Applications Réparties

Faculté des sciences de gestion et sciences économiques BASE DE DONNEES

Architectures Client-Serveur

Nouvelles Plateformes Technologiques

Introduction aux bases de données

Rappel sur les bases de données

Urbanisation des SI. Des composants technologiques disponibles. Urbanisation des Systèmes d'information Henry Boccon Gibod 1

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

PostgreSQL. Formations. SQL avancé Calendrier... 18

Présentation du module Base de données spatio-temporelles

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

Présentation du PL/SQL

Introduction aux Bases de Données

1.2 - Définition Web 2.0 ( wikipedia )

Réplication E-maj Foreign Data Wrapper PostGIS PostgreSQL-f

CESI Bases de données

CORBA. (Common Request Broker Architecture)

Module BD et sites WEB

Tutoriel XBNE Connexion à un environnement XBMC distant

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour

Systèmes d informations nouvelles générations. Répartition, Parallèlisation, hétérogénéité dans les SGBD. Exemple d application d un futur proche

COMPRENDRE LES DIFFERENTS TYPES DE CONNEXION LORS DE LA

INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE

Microsoft Dynamics AX. Solutions flexibles avec la technologie Microsoft Dynamics AX Application Object Server

Gestion des documents associés

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Chapitre 10. Architectures des systèmes de gestion de bases de données

W I-FI SECURISE ARUBA. Performances/support de bornes radio

Cours Bases de données

DEMARREZ RAPIDEMENT VOTRE EVALUATION

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

PHP 4 PARTIE : BASE DE DONNEES

Business Intelligence simple et efficace avec Excel et PowerPivot

Annuaires LDAP et méta-annuaires

Intégration de systèmes client - serveur Des approches client-serveur à l urbanisation Quelques transparents introductifs

Implémentation des SGBD

Compte Rendu d intégration d application

Configuration de plusieurs serveurs en Load Balancing

Soutien technique en informatique

Le cadre des Web Services Partie 1 : Introduction

WEA Un Gérant d'objets Persistants pour des environnements distribués

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

Notes de cours : bases de données distribuées et repliquées

Comment booster vos applications SAP Hana avec SQLSCRIPT

Business Intelligence avec Excel, Power BI et Office 365

Notion de base de données

1. INTRODUCTION 2. IDENTIFICATION 2.1. DESCRIPTIF DE LA PLATE-FORME MATERIELLE.

EXIN Cloud Computing Foundation

Architecture Orientée Service, JSON et API REST

Manuel d'installation de GESLAB Client Lourd

Bases de données et sites WEB

Information utiles. webpage : Google+ : digiusto/

La solution pour gérer vos connaissances techniques et scientifiques

FileMaker 13. Guide ODBC et JDBC

1 Introduction et installation

Urbanisation des Systèmes d'information

Les Architectures Orientées Services (SOA)

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence

Administration de systèmes

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Architectures d'intégration de données

Les bases de données

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

Transcription:

633-2.2 Dialogue avec la base de données 1. Architecture client serveur Cedric.Baudet@he-arc.ch Slide 1

Références Filière Bachelor of Science en informatique de gestion Domaine Technologies informatiques Module 633 Architectures distribuées Unité d enseignement 633-2.1 Applications réseaux et services applicatifs 633-2.2 Dialogue avec la base de données Slide 2

Objectifs Objectifs du module comprendre et mettre en œuvre les services applicatifs fondamentaux; développer, déployer et configurer des composants métiers sur un serveur d applications. Objectifs de l unité d enseignement «Dialogue avec la base de données» comprendre les différences entre l'architecture "serveur de fichiers" et "client/serveur"; maîtriser le principe du dialogue à sessions; comprendre la notion de concurrence; savoir manipuler des données à l'aide d'un langage hôte. Slide 3

Découpage de l unité d enseignement 1. Architecture client/serveur 2. Transactions et verrous 3. Manipulation des données avec un langage hôte Slide 4

Bases de données et réseaux Par définition, les données sont uniques et centralisées. En général les applications clientes sont distribuées sur plusieurs machines. Le transfert des données se fait par l intermédiaire d un réseau. Client 1 Client 7 Client 2 Client 6 Client 3 Base de données Client 5 Client 4 Slide 5

Principe d'une requête sur une base de données Slide 6

Principe d'une requête sur une base de données Slide 7

Client léger vs client lourd On parle de client léger selon Pierre-Yves Cloux: si aucune donnée stockée sur le client; si tout (applicatifs + données) est téléchargé depuis le réseau; si le client est standardisé et n aura donc pas besoin d être modifié avant un délai raisonnable. Sinon c est un client lourd! Slide 8

Les deux architectures possibles Le SGBD est accueilli par la machine contenant le programme Cette architecture est couramment nommée serveur de fichiers. Le SGBD est accueilli par la machine contenant les données. Cette architecture est couramment nommée serveur de données ou client serveur. Il s agit de l architecture la plus utilisée en entreprise. Slide 9

Serveur de fichiers Serveur de données Serveur de fichiers Serveur de données Client Application SGBDR Serveur DATA Client Application Serveur SGBDR DATA Slide 10

Emplacement des modules fonctionnels Pour le modèle Serveur de fichiers Application SGBD OS + LAN Application SGBD OS + LAN Gestionaire LAN + OS Fichiers Pour le modèle Serveur de données (client serveur) Application IPC OS + LAN Application IPC OS + LAN Gestionaire LAN + OS IPC SGBD + DATA Slide 11

Emplacement du réseau en client serveur (serveur de données) Slide 12

Emplacement du réseau avec un serveur de fichiers Slide 13

Le modèle client serveur Ce type d architecture est apparu au milieu des années 80 lorsque les entreprises ont adhéré aux PC. loi de Grosh A puisse égale, n petites machines coûtent moins cher qu une grosse; augmentation de la productivité des développeurs à l aide de L4G; augmentation des coûts (parc machine, maintenance ) Ce modèle architectural fonctionne comme la relation client serveur dans la restauration Démonstration 2 élèves le prof Les autres notent les dialogues Slide 14

Définition du modèle client serveur Est conforme au modèle client - serveur, une application qui fait appel à des services distants au travers d un échange de messages (les requêtes) plutôt que par un échange de fichiers. «L idée» du modèle est de transporter sur le réseau que ce qui est nécessaire en faisant dialoguer les machines. Slide 15

Conséquence sur l'architecture réseau L'architecture client serveur, conduit à bâtir des architectures «spécialisées» où les membres d un même réseau sont soit clients, soit serveurs. (au moins à un instant t) Slide 16

Les composants physiques L'architecture Client serveur repose sur trois composants : client; serveur; réseaux. Atrophier l'un de ses composants, pénalise tout le système. Slide 17

Les composants logiciels Sur chaque machine, on retrouve les 3 composants logiciels: application; Middleware (médiateur en français); protocole. application middleware protocole application middleware protocole client serveur Slide 18

Les middlewares Selon Pierre-Yves Cloux (2002, p. 37), «Pour lier efficacement les différentes composantes d une application client-serveur, il est parfois nécessaire d avoir recours à des logiciels spécifiques: les middlewares.» Il existes différents types de middlewares: middleware d accès aux données; ORB - Object Request Broker; moniteurs transactionnels; MOM Message Oriented Middleware Dans le cadre de ce cours, nous nous intéressons aux middlewares d accès aux données. Un médiateur d accès aux données permet de faire communiquer les applications avec les bases de données (ou différentes sources de données) Slide 19

Les composants du middleware Application Middleware Protocole Application API Application Programme Interface FAP Format And Protocol Protocole La couche API et la couche FAP forment le middleware. Chaque couche "connaît" ses deux voisines. Slide 20

Paramétrage du middleware Paramétrage général sqlnet.ora domaine, méthode de nommage, cryptage, traçage. Paramétrage du client tnsnames.ora liste des serveurs accessibles, instances accessibles. Paramétrage du serveur listener.ora Liste des bases de données du serveur, type de dispatcher. Selon vous, où se situent ces fichiers?!? 5 minutes pour trouver puis restitution en classe. Slide 21

Choix de l architecture Il n y a pas une bonne et une mauvaise architecture. Certaines applications peuvent nécessiter une architecture client serveur, d autres n en ont pas forcément besoin. Les concepteurs/développeurs doivent connaître les différences de ces deux modèles et adapter les programmes en conséquence!!! Slide 22

Serveur de fichier Cette architecture est principalement dédiée aux applications monoposte mais sont en règle général capable de travailler en mode multi-utilisateurs. Une caractéristique intéressante est une maintenance très simple du SGBD. Cette architecture est très efficace avec un petit volume de données et une forte bande passante. Exemple MS-Access et SQLite. Slide 23

Client serveur Cette architecture est principalement conçue pour travailler en mode multi utilisateurs. Elle est particulièrement efficace sur des bases de données de grande taille ou l on va extraire des petits jeux de données. Le transfert de données se fait par échange de messages basés sur SQL. Exemple Oracle, SQL Server et PostgreSQL. Slide 24

Programmation avec les bases de données Dans une application informatique, il existe deux versions des objets métiers: une représentation dans la mémoire de l application; une représentation, persistante dans la base de données. Le programme client doit donc charger une copie de l objet métier dans la mémoire à partir de l objet persistant de la base de données. Dans une version multi-utilisateurs, celle-ci doit alors verrouiller l objet persistant afin d éviter qui soit utilisé par un autre client. Slide 25

Accès aux données par une méthode navigationnelle On part du principe que les objets persistants sont stockés dans des containeurs ordonnées dont on connaît l emplacement. Pour charger en mémoire une collection d objets, on écrit un algorithme basé sur une itération contrôlée de chargement d objets uniques. Cette méthode est héritée de l accès aux données par fichiers (ISAM, BFILE, ). Elle n utilise que très peu les capacités du SGBD et a pour principale conséquence l exécution d autant de requêtes SQL qu il y a d objets à charger. Slide 26

Accès aux données par une méthode ensembliste On part cette fois du principe qu on va charger une collection minimale d objets qui ont des propriétés communes et identifiées. Une fois les propriétés exprimées en langage SQL, elle sera soumise au SGBD pour alimenter la collection d objets. Cette méthode utilise toutes les capacités du SGBD. Slide 27

L inconvénient du client serveur? La méthode navigationnelle n est pas adaptée avec l utilisation d un serveur SQL puisqu elle n utilise pas les capacités du SGBD mais elle peut rester efficace si on utilise une architecture serveur de fichiers. A l inverse si on utilise cette même méthode avec une architecture client serveur, les temps de réponses seront catastrophiques, malgré l utilisation d un serveur très puissant. Ce n est pas un défaut du modèle client serveur! C est le programmeur qui a un défaut!!! Slide 28

Les règles d or!! Ecrire correctement la requête pour déléguer le maximum de tâches au SGBD. Laisser dans la base de données tout ce que vous n avez pas besoin. Verrouiller si c est nécessaire et déverrouiller dès que possible. Penser à ce qu il va se passer sur le réseau? Slide 29

Exemple d enchainement efficace Query Form List Form View Form texte texte texte V texte texte texte texte texte texte texte texte SELECT att1, att2,att3 FROM table1 WHERE condition; SELECT att1,att2,att3,att4,att5,att6 FROM table1 WHERE identifiant = ; Slide 30

31

Bibliographie CLOUX, Pierre-Yves et al. Technologies et architectures Internet. Paris : Dunod, 2002 Slide 32

Questions? Slide 33

Eléments clés des étudiants Il faut déléguer au maximum au SGBD! En client/serveur, on ne charge que ce que l on a besoin. Toujours imaginer ce qui se passe sur le réseau. Masteriser les transactions entre BD et logiciel qui les utilisent. Slide 34

Travaux pratiques Série 1 Sur Cyberlearn Besoin de votre compte de BD SOUK. Slide 35