L'Architecture client-serveur

Le développement s'effectue sur le serveur pour la base de données et sur le
client pour .... Dans des systèmes avancés comme Chorus et Mach, trois appels
au service de ..... Des manquements de SQL 1 sont aussi corrigés, tels par
exemple la ... SQL3, comme la plupart des serveurs relationnels, permet de gérer
des ...

Part of the document

|DI GALLO Frédéric | |
|Intégration des systèmes Client / Serveur |
| |
|Cours du Cycle d'Approfondissement |
|[pic] |
| |[pic] |
| | |
| | |
| | |
| | |
|Cours dispensé par . | |
|CNAM Aix-en-Provence 2001-2002 | |
Objectifs:
> Comprendre l'ensemble des concepts qui sous-tendent les
architectures client-serveur et réparties. Savoir concevoir,
développer, intégrer des architectures de type client-serveur.
Plan du cours:
>
>
Ouvrages conseillés :
>
>
Bibliographie :
>
>
>
introduction au client-serveur I. Origines et Historique 8
1.1) Avant 1980 8
1.2) Les années 80 9
1.3) Les années 90 9
II. CARACTERISTIQUES DE L'APPROCHE C/S 10
2.1) Une répartition hiérarchique des fonctions 10
2.2) Définition 10
2.3) Une grande diversité d'outils 10
2.4) Une approche ouverte 11
III. Pourquoi le C/S ? 12
3.1) Les contraintes de l'entreprise 12
3.2) Mieux maÎtriser le système d'information 12
3.3) Prendre en compte l'évolution technologique 13
3.4) Réduire les coûts ? 14
IV. Les Générations de C/S 15 L'Architecture client-serveur V. INTRODUCTION 19
VI. Techniques de dialogue Client -Serveur 20
2.1) Notions de base 20
2.2) Protocoles de type question-réponse 21
2.3) Assemblage-désassemblage des paramètres 21
2.4) Appel de procédure à distance 22
2.5) Dialogue synchrone et asynchrone 24
VII. Les différents types de Client/Serveur 24
VIII. LE C/S DE DONNEES ET PROCEDURES 26
IX. LES FONCTIONS DES SERVEURS DE DONNEES 28
5.1) Le modèle relationnel 28
5.2) Le langage SQL 30
5.3) SQL: Bilan et conclusion 36
X. LES MEDIATEURS OU MIDDLEWARE 37
6.1) Définition et Objectifs 37
6.2) Fonctions d'un Médiateur 38
6.3) Architecture Type 40
7.3) Les langages de programmation objet 44
7.4) Les langages de 4e génération (L4G) 46
7.5) Les ateliers de génie logiciel (AGL) 47
XI. RESUME ET PERSPECTIVES 48 Le middleware XII. INTRODUCTION 51
XIII. OBJECTIFS ET TYPOLOGIE DES MEDIATEURS 52
2.1) Objectifs 52
2.2) Typologie des médiateurs 53
XIV. Interfaces Applicatives : Le Standard CLI 54
3.1) Place dans les systèmes ouverts 54
3.2) Types de données, contextes et connexions 55
3.3) Envoi des requêtes 56
3.4) Transfert des résultats 56
3.5) Bilan et conclusion 57
XV. Les Protocoles d'échange : le standard RDA 58
XVI. Interfaces et Protocoles: les PRODUITS 59
5.1) ODBC de Microsoft 59
5.2) DAL/DAM de Apple 62
5.4) Les solutions propriétaires 63
XVII. Architectures Distribuées : DCE de l'OSF 64
7.1) La cellule d'administration 65
6.2) Le RPC DCE 65
6.3) Le système de fichiers distribués (DFS) 66
6.4) Bilan de DCE 67
XVIII. Les Architectures d'invocation d'objets 67
7.1) CORBA de l'OMG 67
7.2) OLE 2 de Microsoft 68
XIX. CONCLUSION: vers des médiateurs intelligents 68 techniques sgbd relationnels I. INTRODUCTION 71
II. Architecture type d'un serveur relationnel 72
2.1) Architecture fonctionnelle 72
2.2) Architecture opérationnelle 73
III. L'ANALYSE DES REQUETES 74
IV. LA GESTION DES SCHEMAS 76
V. LE SUPPORT DES VUES EXTERNES 77
5.1) Objectifs 77
5.2) Définition des vues 78
5.3) Interrogation au travers de vues 78
5.4) Mises à jour au travers de vues 79
5.5) Les vues concrètes 79
VI. LA GESTION DE L'INTEGRITE 80
6.1) Objectifs et principes 80
6.2) Définition des contraintes 81
6.3) Vérification des contraintes 81
VII. LE CONTROLE DES DROITS D'ACCES 81
7.1) Objectifs et moyens 81
7.2) Accords et retraits d'autorisations 82
7.3) Groupes, rôles et procédures 82
VIII. L'OPTIMISATION DES REQUETES 83
8.1) Etapes de l'optimisation 83
8.2) Restructuration algébrique 83
8.3) Modèle de coût 85
8.4) Stratégie de recherche 86
IX. LES OPERATEURS RELATIONNELS 87
9.1) Opérateur de sélection 88
9.3) Le calcul des agrégats 92
X. LE SUPPORT DES PROCEDURES, 92
INTRODUCTION
au CLIENT-SERVEUR
introduction au client-serveur I. Origines et Historique 6
1.1) Avant 1980 6
1.2) Les années 80 7
1.3) Les années 90 7
II. CARACTERISTIQUES DE L'APPROCHE C/S 8
2.1) Une répartition hiérarchique des fonctions 8
2.2) Définition 8
2.3) Une grande diversité d'outils 8
2.4) Une approche ouverte 9
III. Pourquoi le C/S ? 10
3.1) Les contraintes de l'entreprise 10
3.2) Mieux maÎtriser le système d'information 10
3.3) Prendre en compte l'évolution technologique 11
3.4) Réduire les coûts ? 12
IV. Les Générations de C/S 13 CLIENT/SERVEUR - CNAM AIX 2001-2002 introduction au client-serveur
Origines et Historique Dans un monde où la course à la productivité conduit les technologies à
évoluer de plus en plus vite, le client-serveur s'est taillé une part de
choix depuis le début des années 1990. En effet, il faut pouvoir disposer
de systèmes d'information évolutifs permettant une coopération fructueuse
entre les différentes entités de l'entreprise. Les systèmes des années 70
et 80 ne répondaient pas à ces exigences. 1.1) Avant 1980 Les architectures étaient centralisées autour de calculateurs centraux
(mainframe) de type IBM ou BULL par exemple. Les terminaux étaient passifs
à interfaces caractères ou pages. Les applications étaient développées
souvent en Cobol, parfois en PL 1 autour de fichiers ou de grandes bases de
données réseaux ou hiérarchiques, telles IDS2 ou DB2. La productivité des
développeurs restait faible. La maintenance des applications était des plus
difficiles. Les utilisateurs restaient prisonniers de systèmes
propriétaires. Aujourd'hui, les applications héritées (Iegacy applications
en anglais) développées avec ces vieilles technologies sont encore souvent
opérationnelles. Il est difficile de les migrer vers des technologies plus
modernes. Beaucoup d'entreprises ou d'administrations pensent cependant au
downsizing , c'est-à-dire à remplacer leur calculateur central par un ou
plusieurs serveurs départementaux interconnectés à des stations de travail
graphiques, type PC par exemple. La figure 1 illustre les architectures
centralisées aujourd'hui candidates au downsizing.
[pic]
Figure 1 -Exemple d'architecture centralisée.
1.2) Les années 80 Les années 80 ont connu le développement du transactionnel et des bases
de données. Les systèmes ont commencé à migrer depuis des systèmes
propriétaires vers des systèmes plus ouverts type Unix. Les bases de
données relationnelles ont vu le jour accompagnées de langages de
développement construits autour des données. SQL s'est imposé comme la
norme d'accès aux données. Les réseaux, notamment les réseaux locaux se
sont développés. D'un autre côté, les micro-ordinateurs se sont imposés
dans l'entreprise et ont apporté des interfaces graphiques conviviales. Le
maintien des mainframes, le développement des systèmes départementaux, la
profusion d'ordinateurs personnels ont rendu les communications difficiles. 1.3) Les années 90 Les réseaux occupent désormais une place centrale dans l'entreprise. Les
vitesses de calcul des micros deviennent impressionnantes. Le graphique est
partout au niveau des interfaces. Le besoin de partage des données est
essentiel aussi bien pour l'accès transactionnel caractérisé par des mises
à jour rapides en temps réel que pour l'accès décisionnel marqué par le
besoin de requêtes complexes sur de gros volumes de données. Il faut
développer vite, par exemple pour ne pas rater un mailing ciblé suite à une
campagne de promotion. La concurrence entre les entreprises est exacerbée;
la flexibilité et la productivité de l'informatique font souvent la
différence.
Toutes ces raisons expliquent le développement autour des réseaux
d'entreprises de serveurs départementaux ouverts offrant des interfaces
standards pour permettre la connectivité des outils micros. C'est aussi
pour faciliter le partage et l'accès simplifié aux données que triomphe les
bases de données relationnelles avec la possibilité de gérer des types de
données étendus (Binary Large OBject BLOB par exemple). Pour am