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