Académique Documents
Professionnel Documents
Culture Documents
Architecture client-serveur
P a g e 1 | 11
Introduction à l’’architecture Web - BTS NDRC - ©ArnaudHASSE
P a g e 2 | 11
Introduction à l’’architecture Web - BTS NDRC - ©ArnaudHASSE
Dans ce chapitre, nous allons aborder l'architecture client-serveur (client-server architecture),
en quoi elle consiste et quand vous devez l'utiliser. À la fin du chapitre, je vous montrerai un
exemple concret (la société minière IrisGold), puis vous devrez résoudre un cas similaire en
appliquant ce que vous avez appris.
P a g e 3 | 11
Introduction à l’’architecture Web - BTS NDRC - ©ArnaudHASSE
Architect
Comme vous pouvez le voir dans le schéma ci-dessus, une architecture Client-Serveur standard
comporte trois parties :
Le Front-End :
Il s'agit de la partie du logiciel qui interagit avec les utilisateurs, même s'ils se trouvent sur
des plateformes différentes avec des technologies différentes. Dans une architecture
Client-Serveur, les modules front-end sont conçus pour interagir avec tous les appareils
existant sur le marché. Cela comprend les écrans de connexion, les menus, les écrans de
données et les rapports qui fournissent et reçoivent des informations des utilisateurs. Par
exemple, la plupart des outils et frameworks de développement permettent de créer une
version du programme qui fonctionne à la fois pour les PC, les tablettes et les téléphones.
Le front-end est comme le client du restaurant, et le matériel (PC, tablette ou téléphone) est
comme le serveur du restaurant.
P a g e 4 | 11
Introduction à l’’architecture Web - BTS NDRC - ©ArnaudHASSE
Le serveur de base de données (Database Server) :
Il contient les tables, les index et les données gérés par l'application. Les recherches et les
opérations d'insertion/de suppression/de mise à jour sont exécutées ici.
1. L'utilisateur (User) fait une demande via le front-end, par exemple : « Donne-moi toutes
les factures des clients du 1er janvier jusqu’à aujourd'hui, pour les clients qui ont acheté le
produit X ».
2. Le serveur d'application reçoit cette demande et l'envoie à la base de données. Le
serveur de base de données exécute cette requête et envoie la réponse au serveur
d'application, qui renvoie le résultat au client à l'aide du module front-end.
Comme vous pouvez le voir dans notre exemple, l'architecture Client-Serveur sépare le
matériel, le logiciel et la fonctionnalité du système. Par exemple, si une adaptation du
logiciel est nécessaire pour un pays spécifique, autrement dit si un changement de
fonctionnalité est nécessaire, celui-ci peut être adapté dans le système sans avoir à
développer une nouvelle version pour les téléphones, les tablettes ou les ordinateurs
portables.
Puisque cette architecture sépare le matériel, le logiciel et la fonctionnalité du système,
seule la partie front-end doit être adaptée pour communiquer avec différents appareils.
Maintenant que vous savez comment cette architecture fonctionne, voyons comment
l'utiliser !
P a g e 5 | 11
Introduction à l’’architecture Web - BTS NDRC - ©ArnaudHASSE
P a g e 6 | 11
Introduction à l’’architecture Web - BTS NDRC - ©ArnaudHASSE
Appliquons ce que vous avez appris sur l'architecture Client-Serveur et voyons comment celle-ci a
été utilisée dans une véritable entreprise.
1. Ses utilisateurs se trouvent dans des endroits reculés à travers le monde et disposent de
différents types d'appareils (ordinateurs portables, notebooks, téléphones, tablettes).
2. Les appareils des clients doivent être légers : il doit s'agir d'un simple ordinateur portable,
d'une tablette ou d'un téléphone doté de quelques capacités de traitement et de stockage,
et capable de communiquer avec un serveur distant.
C'est à nous de concevoir une architecture qui prendra en charge ces besoins
commerciaux.
Nous avons donc besoin d'un système qui garantisse que tous les appareils puissent
communiquer avec un module front-end, et que ce module communique avec le
système ERP. En outre, les dispositifs doivent être légers et dotés de quelques capacités
de stockage et de traitement. Il suffit donc que les clients puissent se connecter à un
serveur central. Un modèle Client-Serveur est une solution parfaite pour ces deux
situations.
Ensuite, passons en revue la nature du système ERP. Ce type de système devra gérer
les ressources de l'entreprise telles que les liquidités, les matières premières, les
ressources humaines, la capacité de production et le statut des engagements de
l'entreprise tels que les factures, les bons de commande et les salaires. En pratique,
P a g e 7 | 11
Introduction à l’’architecture Web - BTS NDRC - ©ArnaudHASSE
certains modules du système ne seront accessibles qu'à un groupe restreint d'employés
du département des ressources humaines.
Alors comment gérer l'accès des utilisateurs ? Nous pouvons nous assurer qu'il
existe une table dans une base de données centrale qui spécifie les menus du système
auxquels un utilisateur particulier peut accéder.
C'est typique des systèmes ERP : tout le monde ne peut pas tout voir. Une matrice
d'utilisateurs/menus (qui peut voir quoi) est définie lors de la mise en place du système.
Enfin, examinons à nouveau les endroits où le système sera utilisé. La logistique est
un élément clé : la plupart des sites sont éloignés et difficiles d’accès, ce qui signifie
qu'ils auront probablement des problèmes de communication et d'accessibilité. Mais les
données d’ERP avec lesquelles nous travaillons doivent être sécurisées, malgré ces
contraintes.
Donc, pour résumer :
Nous savons que les utilisateurs sont dispersés dans le monde entier et utilisent différents
appareils qui doivent être légers.
Nous savons que les utilisateurs ont des capacités d'infrastructure déficientes et travaillent
dans des endroits éloignés de tout.
Il suffit que les clients puissent se connecter à un serveur central.
Le système ERP installé sur le serveur central doit couvrir toutes les règles de gestion. En
substance, il doit gérer en interne tous les modules pour tous les pays, et répondre aux
demandes des clients en communiquant avec une base de données centrale.
P a g e 8 | 11
Introduction à l’’architecture Web - BTS NDRC - ©ArnaudHASSE
Le Front-End : Il s'agit de l'élément du logiciel qui interagit avec les utilisateurs de l'ERP,
même s'ils se trouvent dans des pays différents.
Le serveur de fichiers : Le serveur ERP demande des fichiers au serveur de fichiers pour
répondre aux demandes des utilisateurs. Exemples : une facture imprimée au format PDF,
un rapport, un fichier de données dont l'utilisateur a besoin. L'installation d'un serveur de
fichiers est une bonne pratique lorsque l'application compte de nombreux utilisateurs qui
lisent, mettent à jour ou écrivent fréquemment des fichiers.
Le serveur de base de données : Ce serveur contient les tables, les index et les données
gérées par le système ERP. Exemples : tableau des clients, tableau des fournisseurs, liste
des factures, tableaux des stocks, identifiants des produits, etc.
Tous les traitements lourds sont effectués au siège d'IrisGold. Les clients sont légers ; c'est
pourquoi on les appelle « clients légers ». Ils ne traitent ni ne stockent de grandes quantités de
données. Ils ne font que communiquer avec le serveur.
L'essence même de l'architecture Client-Serveur est que chaque composant illustré dans le
schéma est situé dans le centre de données général (au siège social d'IrisGold). Tous les
utilisateurs se connectent à ces composants par le biais de leurs appareils.
P a g e 9 | 11
Introduction à l’’architecture Web - BTS NDRC - ©ArnaudHASSE
5. Essayez vous-même !
Maintenant que vous avez découvert une solution, voyons si vous pouvez appliquer ce que vous
avez appris à un autre cas !
Le contexte : Imaginez que vous soyez architecte logiciel dans une grande banque. Votre patron
est John, le directeur des systèmes d'information (DSI). La banque compte 2 400 agences dans le
pays, et plus de 16 000 employés.
Votre mission : On vous demande de développer un système logiciel pour gérer les ressources
humaines de la banque. Ce système comprend des modules tels que :
La paie : le département RH est responsable du paiement correct des salaires de tous les
employés de la banque. Ce module gère les salaires, les primes, les commissions, les
vacances, les congés et le paiement des salaires de tous les employés.Maintenant, c'est à
vous de créer une architecture pour la banque ! Pour commencer, voici
quelques questions que vous pouvez vous poser :
2. Les données de l'ERP doivent être sécurisées, même si les utilisateurs sont
dispersés dans tout le pays. Comment allez-vous répondre à cette exigence ?
P a g e 10 | 11
Introduction à l’’architecture Web - BTS NDRC - ©ArnaudHASSE
Pouvez-vous créer un schéma d'architecture pour ce contexte commercial ?
Une fois que vous aurez rédigé votre version, comparez-la à ma solution.
En résumé
P a g e 11 | 11