Professional Documents
Culture Documents
Architecture Client/Serveur
INSAT 2009-2010
Client/Serveur
One Tier (History)
+ Simple
+ Performante
+ Sécurisé
Application Répartie
Application
Middleware
Interface
Définition
• Un système est un ensemble de composants qui interagissent
• Un service est “un comportement défini par contrat, qui peut être implémenté et
fourni par un composant pour être utilisé par un autre composant, sur la base
exclusive du contrat” (*)
Mise en oeuvre
• Un service est accessible via une ou plusieurs interfaces
• Une interface décrit l’interaction entre client et fournisseur du service
– Point de vue opérationnel : définition des opérations et structures de
données qui concourent à la réalisation du service
– Point de vue contractuel : définition du contrat entre client et
fournisseur
Contrat
Conformité
Client Fournisseur
Partie “opérationnelle”
• Interface Definition Language (IDL). Pas de standard, mais s’appuie sur un langage
existant
Partie “contractuelle”
• Plusieurs niveaux de contrats:
– Sur la forme : spécification de types -> conformité syntaxique
– Sur le comportement (1 méthode) : assertions -> conformité
sémantique
– Sur les interactions entre méthodes : synchronisation
– Sur les aspects non fonctionnels (performances, etc.) : contrats de
QoS
Définition
• Un schéma général d’interaction au niveau application
• Mis en oeuvre sous des formes diverses (différents protocoles)
– RPC, Java RMI, Services Web, etc.
Propriétés
• Le client demande l’exécution d’un service ; le serveur réalise le service
• Client et serveur sont (en général, pas nécessairement) localisés sur deux machines
distinctes
• Indépendance interface-réalisation
Réponse Service 2
Serveur …
Client 2 Service n
Client Serveur
Emet des requêtes (demandes de Ensemble de services exécutables
service)
Exécute des requêtes émises par des
Mode d'exécution synchrone clients –
Le client est l'initiateur du dialogue -> exécution des services (exécution
client-serveur séquentielle ou parallèle)
Vu du Client
Vu du serveur
• Gestion des requêtes (priorité)
• Exécution du service (séquentiel, concurrent)
• Mémorisation ou non de l’état du client
Structuration
• fonctions bien identifiées
• séparation interface du service - réalisation
• client et serveur peuvent être modifiés (remplacés) indépendamment
Protection
• client et serveur s’exécutent dans des domaines de protection différents
Gestion des ressources
• le serveur peut être partagé entre plusieurs clients
+ Design Modulaire
+ Minimum de trafic Réseau
+ HMI peut être séparé de la logique métier
+ Pas de duplication de données (état global observable)
+ Gestion simple de la cohérence et de l’intégrité des données
+ Maîtrise globale des traitements
Client 3
Serveur Serveur
IHM traitement données
+ Client léger
+ évolutif