Client / Serveur
Transcription
Client / Serveur
Client / Serveur Rémy Courdier Générations et Typologie d’architecture C/S Client-Serveur : Typologie 1 Rémy Courdier Troisi ème partie : Troisième Les énérations du -Serveur Les 33 G Générations du Client Client-Serveur Tendances… √ 1ere Génération : “Le traitement frontal” √ 2ème Generation : “Le traitement Coopératif” √ 3ème Génération : “Le traitement réparti et les données Réparties” √ L ’Internet MVC √ L’internet : vers le √ Les agents mobiles Client/Serveur universel √ Le Grid Computing √ Tendances Client-Serveur : Typologie 2 Rémy Courdier Le traitement frontal re Génération 11èère Génération C/S de présentation Clients ♦ Déport du Dialogue : √ La logique de l’interface graphique est déportée sur le poste client √ ex : Terminal X Interface Réseau Rhabillage (Revamping) Répartion du Dialogue : √ ré-habillage graphique d’applications existantes √ terminaux à “ergonomie limitée” √ ex : MINITEL Client-Serveur : Typologie Interface Serveurs ♦ Interface Application BD SGBD C/S de présentation 3 Application BD SGBD Rhabillage Rémy Courdier Evolution des archi. informationnelles Ordinateur Ordinateurhôte hôteavec avec système systèmepropriétaire propriétaire IBM IBM3090 3090/ /MVS MVS DPS8 / GCOS8 et DPS8 / GCOS8 etTDS,... TDS,... SGBD SGBDpropriétaire propriétaire DB2 DB2(IBM), (IBM),RDB RDB(DEC),... (DEC),... Réseau Réseaupropriétaire, propriétaire, liaison spécialisée liaison spécialisée SNA(IBM), SNA(IBM),DSA(Bull),... DSA(Bull),... IBM IBM3090 3090 MVS MVS CICS CICS Réseaux partagés à commutation de paquets (X25) Unix Unix SGBD-R SNA (relationnels) indépendants des constructeurs T1 T2 T1 T2 Terminaux passifs VT100 (DEC), DKU 7017 (Bull) X25 X25 Vax VaxVMS VMS Micro Micro DSA Vax VaxVMS VMS Emergence de la micro DPS8 DPS8 GCOS8 GCOS8 TDS TDS Micro Micro VT100 VT100 DKU DKU7107 7107 Terminaux passifs vers le traitement coopératif... Client-Serveur : Typologie 4 Rémy Courdier Le traitement Coop ératif Coopératif C/S de procédures √ L’application Cliente sous-traite l’exécution de proc. à un serveur √ Répartition partielle de l’application entre client et serveur ♦ 1 tiers complète sur le poste client : accès à des données distantes √ Possibilité d’accès explicite à plusieurs serveurs distants Client-Serveur : Typologie Interface Application 1 tiers RDA Réseau : LAN, WAN... C/S de données √ Déport de l’application Interface Application 2 tiers Serveurs ♦ Clients me Génération 22èème Génération RPC/RDA Application C/S de procédures BD 5 3 tiers SGBD BD SGBD 2 tiers C/S de données Rémy Courdier Le traitement Coop ératif multi -niveaux Coopératif multi-niveaux ♦ Dans l’architecture coopérative chaque serveur effectue un service spécialisé. Clients ème Génération évolution évolution de de la la 22ème Génération Interface Application Interface Application 1 tiers ♦ Un serveur peux donc invoqué un service d’un autre serveur L’architecture 3 tiers et potentiellement une architecture N-tiers à N Niveaux Client-Serveur : Typologie Réseau : LAN, WAN... Niveau 2 Serveurs ♦ 1 tiers Niveau x BD 6 N tiers SGBD Application Application Application Application Architecture Multi-niveaux Rémy Courdier Le traitement et les donn ées rrépartis épartis données me Génération 33èème Génération ♦ Serveur fin de la dissymétrie client-serveur Interface √ établissement de liens serveurs-serveurs √ répartition transparente des données sur plusieurs sites √ Chaque site fonctionne de manière autonome ♦ Application Serveur BD SGBD Réseau Application SGBD BD Interface Serveur Interface Limites... Application √ La mise en œuvre d’architecture performante de ce type n’est pas encore une Client-Serveurr:é Typologie alité industrielle Système Réparti 7 BD SGBD Rémy Courdier G érer la complexit é de la rrépartition... épartition... Gérer complexité ♦ ♦ ♦ Décomposition d’une requête en sousrequêtes mono- ou multi-sites Principe d’optimisation de requêtes multisites Existence d’un dictionnaire global : √ localisation des données √ transparence pour l’émetteur de requêtes ♦ Utilisation automatique de traducteurs pour l’accès aux SGBD hétérogènes Client-Serveur : Typologie 8 Rémy Courdier L ’internet : vers le C/S universel L’internet ♦ ♦ ♦ Le retour du C/S de présentation Utilisation de standards simples Le client fait un travail d’interprétation de fichiers et de gestion de communication avec le serveur 1 connexion par objet contenu dans la page Client-Serveur : Typologie Browser WEB Browser WEB Browser WEB HTTP Réseau Internet WWW Serveurs ♦ Clients ““Le Le deuxi ème âge ” deuxième âge du du C/S C/S” HTML XML Serveur WEB HTML XML Serveur WEB HTML XML Serveur WEB Serveur d’applications BD 1-tiers SGBD 2-tiers 9 BD SGBD 3-tiers Rémy Courdier Client-Serveur : Typologie Browser WEB Browser WEB Browser WEB Réseau Internet Protocole Internet Inter ORB Web Serveurs Intégration de solutions de type Client/Serveu r Universel Web avec des architectures à Objets répartis DBMS Serveurs ♦ Web Clients L ’Internet : vers le C/S rréparti éparti L’Internet HTML XML BD Serveur www Logique applicativ e SGBD Modèle Business Objects Serveur d’objets distribués (ORB) Moniteurs transactionnel Logiciel de groupeware, ... Architecture 3-tiers 10 Rémy Courdier Syst émes C/S rrépartis épartis et le Web Systémes Evolution Evolution de de la la technologie technologie Web Web Web Hypertexte •Applets Java •Servlets Java •JDBC Java •Formulaires •CGI •ActiveX •CORBA •Java Beans •Java RMI •XML •XSL/XSLT •JNI/JavaSpace •J2EE •SOAP •Dot Net •Mobile Agents •Page HTML •Liens hypertexte 1994 Client-Serveur : Typologie Web Objet Web Interactif 2002 11 Rémy Courdier Les …vers le Les tendances tendances…vers le C/S C/S Internet Internet Ma îtrisé Maîtrisé ♦ ♦ Mise en oeuvre du Modèle MVC dans les architectures Client/serveur de l’Internet Le modèle MVC : Modèle-Vue-Contrôleur √ Modèle/Model Représente le domaine d’application, donnée & logique opératoire √ Vue/View Représente l’ensemble des éléments de présentation externes √ Contrôleur/Controller Module responsable des règles de navigation et d’enchainement des actions utilisateurs Design Pattern Issu du génie logiciel objet, notamment de Smalltalk L’intérêt : vers une méthodologie de conception permettant la Client-Serveur modularit : Typologie é et la réutilisation 12 Rémy. Courdier dans ce type d’pplication Browser WEB Browser WEB Browser WEB Web Serveurs Réseau Internet WWW DBMS Serveurs Le contrôleur navigationnel intercepte les requêtes HTTP Client ♦ Traduit les requêtes en actions à réaliser ♦ Délègue les actions à des Business opérations (web indépendants) ♦ Aide à la sélection de la prochaine vue Client-Serveur : Typologie ♦ Web Clients Architecture C/S de ll’Internet ’Internet & MVC Point d’entrée unique Vue Serveur www BD redirection Modèle Business Objects SGBD Contrôleur navigationnel Contrôleur d’actions Moniteurs transactionnel Logiciel de groupeware, ... Architecture 3-tiers 13 Rémy Courdier Tendances … Les agents sur Internet Tendances… ♦ Qu’est ce qu’un agent ? √ √ Domaine très récent. -> pas de définition universelle. Si on se réfère à la définition du dictionnaire : du latin : « agens » : celui qui agit. « Un Agent est une personne chargée des affaires et des intérêts d’un individu, d’un groupe ou d’un pays, pour le compte desquels elle agit » ♦ ♦ la définition donnée par Caglayan et Harrison [CAG] : Agent logiciel : entité informatique qui réalise de manière autonome des tâches pour un utilisateur. Un Agent est orientée « tâche », il déploie une activité (suite de fonctionnalités offertes par son environnement) dans le but de faire quelque chose et sera caractérisée par √ √ √ ♦ un certain degré d’autonomie, d’interactivité, de réactivité. Agent mobile √ Le processus Agent se déplace d’un serveur à un autre, sur le réseau. Le code de l’objet est transporté et ses données, aussi. Ensuite, il continue son exécution sur la nouvelle machine. √ Exemple : Un Agent de sauvegarde peut se déplacer sur plusieurs serveurs dans le but de faire des restaurations de fichiers. [CAG] – Alper Caglayan et Colin Harrisson - Les Agents - Editions InterEditions 1997 Client-Serveur : Typologie 14 Rémy Courdier ♦ Caract éristiques avanc ée des agents Caractéristiques avancée ? La capacité d’apprendre ♦ La capacité sociale √ Un Agent aura la capacité d’apprendre si il sait acquérir de la connaissance, de l’information ou des habitudes. √ Exemple : Un Agent grâce à sa capacité de réactivité, doit se déclencher à une certaine heure. Mais l’utilisateur l’arrête dans sa tache (qui pourrait être une sauvegarde) car il ralentit le travail de l’utilisateur. L’Agent va apprendre à différer son exécution pour éviter de gêner l’utilisateur. Les Agents interagissent avec les autre Agents (et éventuellement des êtres humains) grâce à des langages de communication entre Agents. Cette capacité est à la base pour la coopération entre les Agents. √ Exemple : Notre Agent de sauvegarde rencontre un autre Agent de sauvegarde sur un réseau. Ces deux Agents peuvent se mettre d’accord pour se partager le travail afin que la tâche soit achevée plus vite. √ ♦ Haut degré d’autonomie et Pro-activité √ L’Agent fonctionne sans intervention directe humaine ou autre et a une forme de contrôle sur ses actions et sur leur état interne. √ Des agents sont dits « pro-actif » si ils n’agissent pas seulement en réponse à leur environnement, mais ils sont capables d’avoir un comportement guidé par un but, en ayant la possibilité de prendre l’initiative. √ Exemple : Un Agent réseau peut décider, de lui-même, pendant un temps où il est non actif, de faire des statistiques sur les routeurs pour améliorer son activité future. Cette page fait ré Stéphane Anglerot, Anglerot, Guillaume Bonnet, Guy Regnault référence au doc. suivant : LES AGENTS INTELLIGENTS SUR INTERNET, IRESTE, Sté Client-Serveur : Typologie 15 Rémy Courdier Architecture d ’agents - exemple 1 d’agents ♦ Ontologie : √ ♦ KQML : √ √ √ ♦ Une ontologie peut être considérée comme l'univers de discours d'un domaine donné. Knowlede Query and Manipulation Langage Definit un ensemble de performatifs, verbes dérivés des actes du langage naturel www.csee.umbc.edu/kqml/ Les agents de l’exemple : √ √ √ √ √ Agent courtier : c'est un Agent qui permet de faire de courtage d'information au sein d'un système. Il permet de trouver les Agents selon leurs services ou capacités. Agent exécution : c'est un Agent qui supervise l'exécution de certaines tâches complexes. Cet Agent décompose ces tâches en sous-tâches. Agent ressource : c'est un Agent qui contrôle une ou plusieurs sources de données. Ces sources peuvent être internes ou externes. Agent ontologie : c'est un Agent qui s'occupe des différentes ontologies du système. Agent utilisateur : c'est un Agent qui Cette figure fait ré référence au doc. suivant : LES AGENTS INTELLIGENTS SUR INTERNET, IRESTE, IRESTE, Sté Stéphane Anglerot, Anglerot, Guillaume Bonnet, Guy Regnault prend en charge les tâches de l'usager. Client-Serveur : Typologie 16 Rémy Courdier Architecture d ’agents mobiles d’agents exemple 2 Client-Serveur : Typologie 17 1. A se connecte à partir de l’ordinateur de sa maison. Il accè accède à ses donné données personnelles (sur le site I) et reç reçoit les informations personnalisé personnalisées du Proxy I. Il démarre une recherche à travers le net, sur un ensemble de sites. Un Agent se dé déplacera sur tous les sites choisis, l’ l’un aprè après l’ l’autre, et fera la recherche sur les bases de donné données hé hébergé bergées sur le site. 1. A se connecte à partir de son téléphone portable. Il veut consulter son courrier électronique qui est sur le site I. La communication, de mauvaise qualité qualité, est interrompue plusieurs fois pendant le transfert. 1. A se connecte à partir de l’ordinateur de sa chambre d’hôtel. Il veut de nouveau consulter sa messagerie et retrouver un fichier dans ses donné données personnelles (sur le site I). Il en profite pour consulter les informations, personnalisé personnalisées, envoyé envoyées par Proxy I. Ensuite, il ré récupè cupère le résultat de la recherche effectué effectuée par ses Agents mobiles. Cette page fait référence au doc. suivant : LES AGENTS INTELLIGENTS SUR INTERNET, IRESTE, Stéphane Anglerot, Guillaume Bonnet, Guy Rémy Regnault Courdier Le Grid Computing : D éfinition Définition ♦ But et Principe √ √ √ Uitilisé Uitilisér les ressources inexploté inexplotées des sytè sytèmes informatiques. Une grille est un ensemble d'ordinateurs dé dépourvu de serveur central capable de regrouper ses ressources inemployé inemployées - puissance de calcul et stockage - pour les redistribuer à un ou plusieurs bé bénéficiaires. Tout ressemble beaucoup à un systè système d'exploitation : chaque machine relié reliée à la grille prend en charge la tâche dont l'ensemble du systè système a besoin". ♦ Avantage et Limites : ♦ Utilisation : √ √ √ Puissance de calcul utilisable &Espace de stockage considé considérables libé libérés. Limites : les problè è mes de parallé é lisation des traitements ainsi que les taux de tranferts : probl parall cette techno n’ n’est mal adpaté adpatée aux applications qui ont besoin d'é d'échanges de donné données trè très rapides entre processeurs. Les grilles sont donc surtout utilisé utilisées par des centres de recherche privé privés ou publics qui ont besoin d'une puissance de calcul immense. √ √ ♦ Exemple programme seti@home ventuels d’ seti@home aide à la recherche d’é d’éventuels d’extraterrestre Le Decrypton en France qui a permis de dé décrypter le Proté Protéome Utilisation professionnelle : "Google utilise une ferme de serveurs relié reliés entre eux pour gé gérer le volume des connexions qu'il reç reçoit. La grille - ou plutôt l'ancêtre de grille - ainsi constitué constitué forme un seul cluster géant". Niveau de maturité √ √ la technologie n'est pas encore tout à fait mû mûre la ré référence technologique en la matiè matière pour la partie technique est l'infrastructure de la grille : Globus - qui est en open source". www.globus.com Client-Serveur : Typologie 18 Rémy Courdier Le Grid Computing : Normalisation ♦ Organisme de normalisation : √ le Global Grid Forum - NDLR: organisme qui est au Grid Computing ce que le W3C est au Web) √ P2P Working Group √ Ces deux organisme ont fusionnés en 2002 ♦ Types : √ Grilles d’information : partage d’informations √ Grilles de stockage : multiplication des possibilités de stockage √ Grilles de calcul : multiplication des « flops » ♦ Positionnement : √ Cluster Computing :10-100 systèmes interconnectés √ Grid Computing : Dans les milliers de systèmes interconnectés √ P2P : Des millions de systèmes Les contraintes les services et les niveaux de sécurités ne sont pas les mêmes Client-Serveur : Typologie 19 Rémy Courdier Le Grid Computing : Protocol Les couches de l’architecture de grille et ces relations par rapport aux architecture de protocole Internet. Il y a un mapping ente ces deux architecture puisque chacune d’entre elle part du réseau physique pour arriver aux applications. Architecture définie dans Globus, et utilisée dans le NASA’s Information Power Grid, l’European Data Grid, le Particle Data Grid, … Client-Serveur : Typologie 20 Rémy Courdier Client / Serveur G énérations et Générations et Typologie Typologie de de C/S C/S Questions ? Client-Serveur : Typologie 21 Rémy Courdier R ègles du Client/ Serveur Règles √ Les 8 règles d’or du C/S premières générations √ Les 7 régles d’or du C/S internet Client-Serveur : Typologie 22 Rémy Courdier Et de 4... √ Autonomie locale de traitement et accessibilité transparente maximale aux données communes les données du serveurs sont partagées et contrôlées de manière transparente pour le client √ Assurance du fonctionnement continu du client et du serveur en cas de rajout de sites serveurs ou de SGBD en cas de changement de version des logiciels √ Indépendance vis-à-vis de la localisation des serveurs utilisation de middleware assurant l’interaction avec les serveurs disants √ Indépendance vis-à-vis de la gestion des transactions utilisation Client-Serveur : Typologie de protocoles de ) 23 transaction fiables (terminaison... Rémy Courdier ...pour arriver à 8 √ Indépendance vis-à-vis de la gestion de l’intégrité des données les applicatifs clients ne doivent pas intégrer la gestion de l’intégrité qui est assurée par le serveur pour ts les clients √ Indépendance vis à vis de l’application cliente, du réseau et du serveur de base de données les 3 niveaux : client (Matériel, OS, GUI) , réseau, serveur SQL doivent pouvoir être modifiés sans impacter les autres √ Architecture ouverte et coopérative fidélité aux standards depuis l’API jusqu’au SGBD √ Gestion centralisée de la coordination de l’architecture globale allègement des applicatifs clients et simplification du système Client-Serveur : Typologie 24 Rémy Courdier R ègles du C/S de ll’Internet ’Internet Règles √ Le client se contente de gérer l’aspect, le comportement de l’interface utilisateur et les contrôles de saisies (C/S de présentation) √ L’essentiel des traitements surtout les accès et mises à jour de données sont réalisés à partir d’un serveur √ Les application sont simples et fonctionnent sur l’auto-apprentissage : aide en ligne, pas de manuel √ Internet et Intranet sont traités sur le même plan avec un niveau de performance raisonnablement équivalent Client-Serveur : Typologie 25 Rémy Courdier Client / Serveur R ègles d ’or Règles d’or Questions ? Client-Serveur : Typologie 26 Rémy Courdier