Vous êtes sur la page 1sur 26

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
Les 33 Générations du
Générations du Client -Serveur
Client-Serveur

√ 1ere Génération : Tendances…


“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
11èère
re Génération
Génération

♦ C/S de présentation

Clients
Déport du Dialogue : Interface Interface

√ La logique de l’interface
graphique est déportée
sur le poste client Réseau

√ ex : Terminal X

♦ Rhabillage (Revamping) Interface

Répartion du Dialogue :

Serveurs
Application Application
√ ré-habillage graphique
d’applications existantes
√ terminaux à “ergonomie BD SGBD BD SGBD
limitée”
C/S de
√ ex : MINITEL Rhabillage
présentation
Client-Serveur : Typologie 3 Rémy Courdier
Evolution des archi. informationnelles
Ordinateur
Ordinateurhôte
hôteavec
avec
système Réseaux IBM
IBM3090
3090
systèmepropriétaire
propriétaire MVS
partagés à MVS
IBM
IBM3090
3090/ /MVS
MVS CICS
CICS
DPS8 commutation de DPS8
DPS8
DPS8 / GCOS8 etTDS,...
/ GCOS8 et TDS,...
paquets (X25) GCOS8
GCOS8
SGBD
SGBDpropriétaire
propriétaire TDS
TDS
DB2
Unix
Unix SNA
DB2(IBM),
(IBM),RDB
RDB(DEC),...
(DEC),... SGBD-R DSA
(relationnels)
indépendants des Vax
Réseau VaxVMS
VMS
Réseaupropriétaire,
propriétaire, constructeurs
liaison spécialisée
liaison spécialisée X25
X25
SNA(IBM),
SNA(IBM),DSA(Bull),...
DSA(Bull),... Emergence
de la micro VT100
VT100
Vax
VaxVMS
VMS
DKU
DKU7107
7107
T1
T1 T2
T2
Micro
Micro Micro
Micro Terminaux passifs
Terminaux passifs
VT100 (DEC), DKU 7017 (Bull)
vers le traitement coopératif...
Client-Serveur : Typologie 4 Rémy Courdier
Le traitement Coop ératif
Coopératif
22èème
me Génération
Génération

♦ C/S de procédures

Clients
Interface Interface
√ L’application Cliente
sous-traite l’exécution
de proc. à un serveur Application Application
√ Répartition partielle 1 tiers 1 tiers
RDA
de l’application entre
client et serveur Réseau : LAN, WAN...

♦ C/S de données 2 tiers


RPC/RDA

√ Déport de l’application
Serveurs
Application
complète sur le poste
client : accès à des
C/S de BD SGBD
données distantes procédures
2 tiers
√ Possibilité d’accès
explicite à plusieurs 3 tiers C/S de
BD SGBD
serveurs distants données

Client-Serveur : Typologie 5 Rémy Courdier


Le traitement Coop ératif multi
Coopératif -niveaux
multi-niveaux
évolution
évolution de
de la
la 22ème
ème Génération
Génération

♦ Dans l’architecture

Clients
coopérative chaque Interface Interface

serveur effectue un
Application Application
service spécialisé.
1 tiers 1 tiers

♦ Un serveur peux donc Réseau : LAN, WAN...


invoqué un service
d’un autre serveur
Niveau 2
Serveurs
Application
Application
♦ L’architecture 3 tiers Application
Niveau x Application
et potentiellement une
architecture N-tiers à N Architecture
N Niveaux BD tiers
SGBD Multi-niveaux

Client-Serveur : Typologie 6 Rémy Courdier


Le traitement et les donn ées rrépartis
données épartis
33èème
me Génération
Génération
Serveur
♦ fin de la dissymétrie
client-serveur Interface

√ établissement de liens
Application
serveurs-serveurs Serveur
√ répartition SGBD
Interface BD
transparente des

Réseau
données sur plusieurs Application
sites
√ Chaque site fonctionne SGBD
Serveur
BD
de manière autonome Interface

♦ Limites...
Application
√ La mise en œuvre
d’architecture Système
performante de ce type Réparti
BD SGBD

n’est pas encore une


Client-Serveurr:é alité industrielle
Typologie 7 Rémy Courdier
Gérer la complexit
Gérer complexitéé de la rrépartition...
épartition...

♦ Décomposition d’une requête en sous-


requêtes mono- ou multi-sites
♦ Principe d’optimisation de requêtes multi-
sites
♦ 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
Le deuxi ème âge
deuxième âge du
du C/S
C/S””
♦ Le retour du C/S
de présentation Browser Browser Browser

Clients
WEB WEB WEB
♦ Utilisation de
HTTP
standards
simples Réseau Internet
WWW
♦ Le client fait un
travail
HTML Serveur HTML Serveur HTML Serveur
d’interprétation XML XML XML
WEB WEB WEB
de fichiers et de
Serveurs

gestion de Serveur
communication d’applications
avec le serveur
♦ 1 connexion par BD SGBD BD SGBD
objet contenu
dans la page 1-tiers 2-tiers 3-tiers

Client-Serveur : Typologie 9 Rémy Courdier


L ’Internet : vers le C/S rréparti
L’Internet éparti

Web Clients
Browser Browser Browser
WEB WEB WEB

♦ Intégration de Réseau Internet


solutions de Protocole Internet Inter ORB
type Web Serveurs

Client/Serveu
HTML Serveur Modèle Serveur
r Universel XML www Business d’objets
Web avec des Logique
Objects
distribués
architectures applicativ (ORB)
à Objets e
répartis
Serveurs

Moniteurs transactionnel
DBMS

BD SGBD Logiciel de groupeware, ...

Architecture 3-tiers
Client-Serveur : Typologie 10 Rémy Courdier
Systémes C/S rrépartis
Systémes épartis et le Web
Evolution
Evolution de
de la
la technologie
technologie Web
Web

Web Web Web


Hypertexte Interactif Objet

•ActiveX
•CORBA
•Java Beans
•Applets Java •Java RMI
•Servlets Java
•XML
•JDBC Java
•XSL/XSLT
•JNI/JavaSpace
•Formulaires
•CGI •J2EE
•Page HTML •SOAP
•Liens hypertexte •Dot Net
•Mobile Agents
1994 2002

Client-Serveur : Typologie 11 Rémy Courdier


Les
Les tendances …vers le
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 dans ce type d’pplication
Rémy. Courdier
Architecture C/S de ll’Internet
’Internet & MVC

Web Clients
♦ Le contrôleur Browser Browser
Browser
navigationnel WEB WEB WEB
intercepte les
requêtes HTTP
Client Réseau Internet
WWW
♦ Traduit les
Point d’entrée unique
Web Serveurs
requêtes en
actions à redirection
Contrôleur
Vue
réaliser navigationnel
♦ Délègue les Serveur Contrôleur
www Modèle d’actions
actions à des Business
Objects
Business
opérations
Serveurs

(web Moniteurs transactionnel


DBMS

indépendants) BD SGBD Logiciel de groupeware, ...


♦ Aide à la
sélection de la Architecture 3-tiers
prochaine
Client-Serveur vue
: Typologie 13 Rémy Courdier
Tendances
Tendances…… Les agents sur Internet
♦ 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
Caractéristiques ée des agents
avancée
?
♦ La capacité d’apprendre
√ 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.

♦ La capacité sociale
√ 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é
référence au doc. suivant : LES AGENTS INTELLIGENTS SUR INTERNET, IRESTE, Sté
Stéphane Anglerot,
Anglerot, Guillaume Bonnet, Guy Regnault

Client-Serveur : Typologie 15 Rémy Courdier


Architecture d ’agents - exemple 1
d’agents
♦ Ontologie :
√ Une ontologie peut être considérée
comme l'univers de discours d'un
domaine donné.

♦ KQML :
√ 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
Cette figure fait ré
Agent qui
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
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
Client-Serveur : Typologie 17 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 :
√ Puissance de calcul utilisable &Espace de stockage considé
considérables libé
libérés.
√ Limites : les problè
problè mes de parallé
parallé lisation des traitements ainsi que les taux de tranferts :
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.
♦ Utilisation :
√ 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
seti@home aide à la recherche d’é
d’éventuels
ventuels d’
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
Règles ’Internet
√ 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
Règles ’or
d’or

Questions ?

Client-Serveur : Typologie 26 Rémy Courdier

Vous aimerez peut-être aussi