Vous êtes sur la page 1sur 22

Med El assad Année universitaire 2007/2008

ARCHITECTURE D'UN SYSTEME


CLIENT/SERVEUR

I. Présentation de l'architecture d'un système client/serveur

De nombreuses applications fonctionnent selon un environnement client/serveur, cela signifie


que des machines clientes (des machines faisant partie du réseau) contactent un serveur, une
machine généralement très puissante en terme de capacités d'entrée-sortie, qui leur fournit des
services. Ces services sont des programmes fournissant des données telles que l'heure, des
fichiers, une connexion, etc.

Les services sont exploités par des programmes, appelés programmes clients, s'exécutant sur
les machines clientes. On parle ainsi de client (client FTP, client de messagerie, etc.) lorsque
l'on désigne un programme tournant sur une machine cliente, capable de traiter des
informations qu'il récupère auprès d'un serveur (dans le cas du client FTP il s'agit de fichiers,
tandis que pour le client de messagerie il s'agit de courrier électronique).

II. Les avantages de l'architecture client/serveur

Le modèle client/serveur est particulièrement recommandé pour des réseaux nécessitant un


grand niveau de fiabilité, ses principaux atouts sont :

• des ressources centralisées : étant donné que le serveur est au centre du réseau, il
peut gérer des ressources communes à tous les utilisateurs, comme par exemple une
base de données centralisée, afin d'éviter les problèmes de redondance et de
contradiction

• une meilleure sécurité : car le nombre de points d'entrée permettant l'accès aux
données est moins important

• une administration au niveau serveur : les clients ayant peu d'importance dans ce
modèle, ils ont moins besoin d'être administrés

• un réseau évolutif : grâce à cette architecture il est possible de supprimer ou


rajouter des clients sans perturber le fonctionnement du réseau et sans modification
majeure

1/9
Med El assad Année universitaire 2007/2008

III. Les inconvénients du modèle client/serveur

L'architecture client/serveur a tout de même quelques lacunes parmi lesquelles :

• un coût élevé dû à la technicité du serveur

• un maillon faible : le serveur est le seul maillon faible du réseau client/serveur,


étant donné que tout le réseau est architecturé autour de lui ! Heureusement, le
serveur a une grande tolérance aux pannes (notamment grâce au système RAID)

IV. Le fonctionnement d'un système client/serveur

Un système client/serveur fonctionne selon le schéma suivant :

• Le client émet une requête vers le serveur grâce à son adresse IP et le port, qui
désigne un service particulier du serveur

• Le serveur reçoit la demande et répond à l'aide de l'adresse de la machine cliente et


son port

V. L’architecture mainframe

Les premiers réseaux informatiques étaient architecturés autour d'un ordinateur central, appelé
« mainframe ».

Le mainframe représente ainsi un ordinateur central de grande puissance chargé de gérer les
sessions utilisateurs des différents terminaux qui lui étaient reliés. Grâce à cette architecture, il
est ainsi possible de consolider, c'est-à-dire de gérer de manière centralisée, l'ensemble des
applications métiers de l'entreprise.

Cependant, dans le modèle mainframe, la performance du système tout entier repose sur les
capacités de traitement de l'ordinateur central, c'est la raison pour laquelle ce modèle est

2/9
Med El assad Année universitaire 2007/2008

parfois qualifié d'« informatique lourde ». Par ailleurs, dans un environnement mainframe, les
terminaux du réseau ne peuvent voir que le serveur central.
cmd

VI. Présentation de l'architecture à 2 niveaux

L'architecture à deux niveaux (aussi appelée architecture 2-tier, tier signifiant rangée en
anglais) caractérise les systèmes clients/serveurs pour lesquels le client demande une
ressource et le serveur la lui fournit directement, en utilisant ses propres ressources. Cela
signifie que le serveur ne fait pas appel à une autre application afin de fournir une partie du
service.

VII. Présentation de l'architecture à 3 niveaux

Dans l'architecture à 3 niveaux (appelée architecture 3-tier), il existe un niveau intermédiaire,


c'est-à-dire que l'on a généralement une architecture partagée entre :

1. Un client, c'est-à-dire l'ordinateur demandeur de ressources, équipée d'une interface


utilisateur (généralement un navigateur web) chargée de la présentation ;

2. Le serveur d'application (appelé également middleware), chargé de fournir la


ressource mais faisant appel à un autre serveur

3/9
Med El assad Année universitaire 2007/2008

3. Le serveur de données, fournissant au serveur d'application les données dont il a


besoin.

Etant donné l'emploi massif du terme d'architecture à 3 niveaux, celui-ci peut parfois désigner
aussi les architectures suivantes :

• Partage d'application entre client, serveur intermédiaire, et serveur d'entreprise ;

• Partage d'application entre client, serveur d'application, et serveur de base de


données d'entreprise.

VIII. Comparaison des deux types d'architecture

L'architecture à deux niveaux est donc une architecture client/serveur dans laquelle le serveur
est polyvalent, c'est-à-dire qu'il est capable de fournir directement l'ensemble des ressources
demandées par le client.

Dans l'architecture à trois niveaux par contre, les applications au niveau serveur sont
délocalisées, c'est-à-dire que chaque serveur est spécialisé dans une tâche (serveur
web/serveur de base de données par exemple). L'architecture à trois niveaux permet :

• Une plus grande flexibilité/souplesse ;

• Une sécurité accrue car la sécurité peut être définie indépendamment pour chaque
service, et à chaque niveau ;

4/9
Med El assad Année universitaire 2007/2008

• De meilleures performances, étant donné le partage des tâches entre les différents
serveurs.

IX. L'architecture multiniveaux

Dans l'architecture à 3 niveaux, chaque serveur (niveaux 2 et 3) effectue une tâche (un
service) spécialisée. Un serveur peut donc utiliser les services d'un ou plusieurs autres
serveurs afin de fournir son propre service. Par conséquent, l'architecture à trois niveaux est
potentiellement une architecture à N niveaux...

X. Client lourd

Le terme « client lourd » (en anglais « fat client » ou « heavy client »), par opposition au
client léger, désigne une application cliente graphique exécutée sur le système d'exploitation
de l'utilisateur. Un client lourd possède généralement des capacités de traitement évoluées et

5/9
Med El assad Année universitaire 2007/2008

peut posséder une interface graphique sophistiquée. Néanmoins, ceci demande un effort de
développement et tend à mêler la logique de présentation (l'interface graphique) avec la
logique applicative (les traitements).

Ce type d'application étant généralement installé sur le système d'exploitation de l'utilisateur,


une nouvelle version doit être installée afin de la faire évoluer. Pour y remédier, les éditeurs
d'applications lourdes les dotent généralement d'une fonctionnalité exécutée au lancement de
l'application, permettant de vérifier sur un serveur distant si une version plus récente est
disponible et le cas échéant propose à l'utilisateur de la télécharger et de l'installer.

XI. Client léger

Le terme « client léger » (parfois « client pauvre », en anglais « thin client »), par opposition
au client lourd, désigne une application accessible via une interface web (en HTML)
consultable à l'aide d'un navigateur web, où la totalité de la logique métier est traitée du côté
du serveur. Pour ces raisons, le navigateur est parfois appelé client universel.

L'origine du terme lui-même provient de la pauvreté du langage HTML, qui ne permet de


faire des interfaces relativement pauvres en interactivité, si ce n'est pas le biais du langage
javascript.

Le fait que l'essentiel des traitements soit réalisé du côté du serveur et que l'interface
graphique est envoyée au navigateur à chaque requête permet une grande souplesse de mise à
jour. En contrepartie, l'application doit s'affranchir des différences d'interprétation du code
HTML par les différents navigateurs et l'ergonomie de l'application possède un champ réduit.

XII. Client riche

Un « client riche » est un compromis entre le client léger et le client lourd. L'objectif du
client riche est donc de proposer une interface graphique, décrite avec une grammaire de
description basée sur la syntaxe XML, permettant d'obtenir des fonctionnalités similaires à
celles d'un client lourd (glisser déposer, onglets, multi fenêtrage, menus déroulants).

Les clients riches permettent ainsi de gérer l'essentiel des traitements du côté du serveur. Les
données sont ensuite transmises dans un format d'échange standard utilisant la syntaxe XML
(SOAP, XML-RPC), puis interprétées par le client riche.

6/9
Med El assad Année universitaire 2007/2008

Les principaux standards permettant de définir une application riche sont les suivants :

• XAML (eXtensible Application Markup Language), prononcez « zammel », un


standard XML proposé par Microsoft, utilisé notamment dans les applications
utilisant le framework .NET ;

• XUL, prononcez « zoul », un standard XML proposé par la fondation Mozilla,


utilisé par exemple dans le client de messagerie Mozilla Thunderbird ou dans le
navigateur Mozilla Firefox ;

• Flex, un standard XML proposé par la société Macromedia.

XIII. Présentation de l'architecture d'égal à égal

Dans une architecture d'égal à égal (en anglais peer to peer), contrairement à une architecture
de réseau de type client/serveur, il n'y a pas de serveur dédié. Ainsi chaque ordinateur dans un
tel réseau est un peu serveur et un peu client. Cela signifie que chacun des ordinateurs du
réseau est libre de partager ses ressources. Un ordinateur relié à une imprimante pourra donc
éventuellement la partager afin que tous les autres ordinateurs puissent y accéder via le
réseau.

XIV. Inconvénients des réseaux d'égal à égal

Les réseaux d'égal à égal ont énormément d'inconvénients :

• ce système n'est pas du tout centralisé, ce qui le rend très difficile à administrer

• la sécurité est très peu présente

• aucun maillon du système n'est fiable

7/9
Med El assad Année universitaire 2007/2008

Ainsi, les réseaux d'égal à égal ne sont valables que pour un petit nombre d'ordinateurs
(généralement une dizaine), et pour des applications ne nécessitant pas une grande sécurité (il
est donc déconseillé pour un réseau professionnel avec des données sensibles).

XV. Avantages de l'architecture d'égal à égal

L'architecture d'égal à égal a tout de même quelques avantages parmi lesquels :

• un coût réduit (les coûts engendrés par un tel réseau sont le matériel, les câbles et la
maintenance)

• une simplicité à toute épreuve!

XVI. Mise en oeuvre d'un réseau peer to peer

Les réseaux poste à poste ne nécessitent pas les mêmes niveaux de performance et de sécurité
que les logiciels réseaux pour serveurs dédiés. On peut donc utiliser Windows NT
Workstation, Windows pour Workgroups ou Windows 95 car tous ces systèmes d’exploitation
intègrent toutes les fonctionnalités du réseau poste à poste.

La mise en oeuvre d'une telle architecture réseau repose sur des solutions standards :

• Placer les ordinateurs sur le bureau des utilisateurs

• Chaque utilisateur est son propre administrateur et planifie lui-même sa sécurité

• Pour les connexions, on utilise un système de câblage simple et apparent

Il s'agit généralement d'une solution satisfaisante pour des environnements ayant les
caractéristiques suivantes :

• Moins de 10 utilisateurs

• Tous les utilisateurs sont situés dans une même zone géographique

• La sécurité n’est pas un problème crucial

• Ni l’entreprise ni le réseau ne sont susceptibles d’évoluer de manière significative


dans un proche avenir

8/9
Med El assad Année universitaire 2007/2008

XVII. Administration d'un réseau poste à poste

Le réseau poste à poste répond aux besoins d’une petite entreprise mais peut s’avérer
inadéquat dans certains environnements. Voici les questions à résoudre avant de choisir le
type de réseau : On désigne par le terme "Administration" :

1. Gestion des utilisateurs et de la sécurité

2. Mise à disposition des ressources

3. Maintenance des applications et des données

4. Installation et mise à niveau des logiciels utilisateurs

Dans un réseau poste à poste typique, il n’y a pas d’administrateur. Chaque utilisateur
administre son propre poste. D'autre part tous les utilisateurs peuvent partager leurs ressources
comme ils le souhaitent (données dans des répertoires partagés, imprimantes, cartes fax etc.)

XVIII. Notions de sécurité

La politique de sécurité minimale consiste à mettre un mot de passe à une ressource. Les
utilisateurs d’un réseau poste à poste définissent leur propre sécurité et comme tous les
partages peuvent exister sur tous les ordinateurs, il est difficile de mettre en oeuvre un
contrôle centralisé. Ceci pose également un problème de sécurité globale du réseau car
certains utilisateurs ne sécurisent pas du tout leurs ressources.

Ressource : http://www.commentcamarche.net/cs/peer.php3

9/9
Med El assad Année universitaire 2007/2008

Client-serveur

Un article de Wikipédia, l'encyclopédie libre.

Aller à : Navigation, Rechercher

L'architecture client/serveur désigne un mode de communication entre plusieurs ordinateurs


d'un réseau qui distingue un ou plusieurs postes clients du serveur : chaque logiciel client peut
envoyer des requêtes à un serveur. Un serveur peut être spécialisé en serveur d'applications,
de fichiers, de terminaux, ou encore de messagerie électronique.

Caractéristiques d'un serveur :

• il est passif (ou maître) ;

• il est à l'écoute, prêt à répondre aux requêtes envoyées par des clients ;

• dès qu'une requête lui parvient, il la traite et envoie une réponse.

Caractéristiques d'un client :

• il est actif (ou esclave) ;

• il envoie des requêtes au serveur ;

• il attend et reçoit les réponses du serveur.

Le client et le serveur doivent bien sûr utiliser le même protocole de communication. Un


serveur est généralement capable de servir plusieurs clients simultanément.

Un autre type d'architecture réseau est le poste à poste (ou peer-to-peer en anglais), dans
lequel chaque ordinateur ou logiciel est à la fois client et serveur.

Sommaire

[masquer]

• 1 Architectures trois tiers et multi-tiers

10/
9
Med El assad Année universitaire 2007/2008

• 2 Avantages par rapport aux architectures distribuées

• 3 Inconvénients

• 4 Exemples

• 5 Voir aussi

Architectures trois tiers et multi-tiers [modifier]

Les termes « trois tiers » et « multi-tiers » sont abusivement traduits de l'anglais three tier et
multi-tier ou n-tier.

L'architecture client/serveur possède deux types d'ordinateurs sur un réseau : les clients et les
serveurs, elle possède donc deux niveaux et s'appelle two-tier en anglais. Les architectures
multi-tiers (ou distribuées) scindent le serveur en plusieurs entités (par exemple, un serveur
d'application qui lui-même est le client d'un serveur de base de données).

Avantages par rapport aux architectures distribuées [modifier]

• Toutes les données sont centralisées sur un seul serveur, ce qui simplifie les contrôles
de sécurité et la mise à jour des données et des logiciels ;

• les technologies supportant l'architecture client/serveur sont plus matures que les
autres.

Inconvénients [modifier]

• Si trop de clients veulent communiquer avec le serveur au même moment, ce dernier


risque de ne pas supporter la charge (alors que les réseaux P2P marchent mieux en
ajoutant de nouveau participants) ;

• si le serveur n'est plus disponible, plus aucun des clients ne marche (le réseau P2P
continue à marcher, même si plusieurs participants quittent le réseau).

Exemples [modifier]

11/9
Med El assad Année universitaire 2007/2008

• La consultation de pages sur un site web fonctionne sur une architecture client/serveur.
Un internaute connecté au réseau via son ordinateur et un navigateur web est le client,
le serveur est constitué par le ou les ordinateurs contenant les applications qui
délivrent les pages demandées. Dans ce cas, c'est le protocole de communication
HTTP qui est utilisé.

• Les courriels sont envoyés et reçus par des clients et gérés par un serveur de
messagerie. Les protocoles utilisés sont le SMTP, et le POP ou l'IMAP.

• La gestion d'une base de données centralisée sur un serveur peut se faire à partir de
plusieurs postes clients qui permettent de visualiser et saisir des données.

• Le système X Window fonctionne sur une architecture client/serveur. En général le


client tourne sur la même machine que le serveur mais peut être aussi bien lancé sur
un autre ordinateur faisant partie du réseau.

• Un Client léger est un ordinateur léger ou ancien s'appuyant sur un serveur central qui
héberge et exécute toutes les applications. Exemples : le projet LTSP ; la technologie
NX.

L'architecture client serveur s'appuie sur un poste central, le serveur, qui envoit des données
aux machines clientes.

Des programmes qui accèdent au serveur sont appelés programmes clients (client FTP, client
mail).

Avantages de cette architecture :

• Unicité de l'information : pour un site web dynamique par exemple (comme


vulgarisation-informatique.com), certains articles du site sont stockés dans une
base de données sur le serveur. De cette manière, les informations restent
identiques. Chaque utilisateur accède aux mêmes informations.

12/
9
Med El assad Année universitaire 2007/2008

• Meilleure sécurité : Lors de la connexion un PC client ne voit que le serveur,


et non les autres PC clients. De même, les serveurs sont en général très
sécurisés contre les attaques de pirates.

• Meilleure fiabilité : En cas de panne, seul le serveur fait l'objet d'une


réparation, et non le PC client.

• Facilité d'évolution : Une architecture client/serveur est évolutive car il est


très facile de rajouter ou d'enlever des clients, et même des serveurs.

Inconvénients de cette architecture :

• Un coût d'exploitation élevé (bande passante, câbles, ordinateurs


surpuissants)

Fonctionnement d'un réseau client /serveur :

Une architecture client/serveur :

• Le client pour recevoir des informations du serveur lui émet une requête
passant par un port du PC (exemple : port 25 pour les mails, port 80 pour le
web et 21 pour le FTP).
Le serveur lui envoit ensuite les informations grâce à l'adresse IP de la machine
cliente.

Articles en rapport :

• L'architecture d'un réseau Peer to Peer

• Qu'est ce qu'un protocole ?

• Adresse IP

• Notion de ports

13/
9
Med El assad Année universitaire 2007/2008

Notion de port :

Lors d'une communication en réseau, les différents ordinateurs s'échangent des informations
qui sont généralement destinées à plusieurs applications (le client mail et le navigateur
internet par exemple).

Seulement ces informations transitent par la même passerelle. Il faut donc savoir pour quelle
application telle information est destinée. On attribue donc des ports pour chaque application.

Un port est comme une porte en schématisant. Les informations sont multiplexées (comme
dans les voitures récentes) et passent par la passerelle. A leur arrivée (vers le serveur) ou à
leur réception (vers votre machine) elles sont démultiplexées et chaque information distincte
passe par le port qui lui est associé. Les informations sont ensuite traitées par l'application
correspondante.

Un port est codé sur 16 bits, il y a donc 65536 ports.

L'adresse IP plus le port (exemple : 127.0.0.1:80) est appelée socket.

Les ports ce sont vus attribuer une assignation par défaut pour aider à la configuration des
réseaux. Voici les principaux ports et le protocole les utilisant :

Port Service ou Application

21 FTP

23 Telnet

25 SMTP

53 DNS

80 HTTP

110 POP3

14/
9
Med El assad Année universitaire 2007/2008

119 NNTP

Les ports 0 à 1023 sont les ports reconnus ou réservés et sont assignés par l'IANA (Internet
Assigned Numbers Authority).

Les ports 1024 à 49151 sont appelés ports enregistrés et les ports 49152 à 65535 sont les ports
dynamiques (ou privés).

Notion de protocoles :

Un protocole est une série d'étapes à suivre pour permettre une communication harmonieuse
entre plusieurs ordinateurs.

Internet est un ensemble de protocoles regroupés sous le terme "TCP-IP" (Transmission


Control Protocol/Internet Protocol). Voici une liste non exhaustive des différents protocoles
qui peuvent êtres utilisés :

• HTTP : (Hyper Texte Transfert Protocol) : c'est celui que l'on utilise pour
consulter les pages web.

• FTP : (File Transfert Protocol) : C'est un protocole utilisé pour transférer des
fichiers.

• SMTP : (Simple Mail Transfert Protocol) : c'est le protocole utilisé pour


envoyer des mails.

• POP : C'est le protocole utilisé pour recevoir des mails

• Telnet : utilisé surtout pour commander des applications côté serveur en lignes
de commande

15/
9
Med El assad Année universitaire 2007/2008

• IP (internet Protocol) : L'adresse IP vous attribue une adresse lors de votre


connexion à un serveur.

Les protocoles sont classés en deux catégories :

• Les protocoles où les machines s'envoient des acusés de réception (pour


permettre une gestion des erreurs). Ce sont les protocoles "orientés connexion"

• Les autres protocoles qui n'avertissent pas la machine qui va recevoir les
données sont les protocoles "non orientés connexion"

16/
9
Med El assad Année universitaire 2007/2008

Architecture trois tiers


Un article de Wikipédia, l'encyclopédie libre.

Aller à : Navigation, Rechercher

L'architecture trois tiers (« 3-Tier » en anglais) ou architecture à trois niveaux est


l'application du modèle plus général qu'est le multi-tiers. L'architecture logique du système est
divisée en trois niveaux ou couches :

• couche présentation

• couche métier

• couche accès aux


données

C'est une extension du modèle client/serveur.

Sommaire

[masquer]

• 1 Définition et concepts

• 2 Les trois couches

o 2.1 Couche Présentation (premier niveau)

o 2.2 Couche Métier / Business (second niveau)

o 2.3 Couche Accès aux données (troisième


niveau)

 2.3.1 Données propres au système

 2.3.2 Données gérées par un autre

17/
9
Med El assad Année universitaire 2007/2008

système

• 3 Voir aussi

• 4 Notes et références

Définition et concepts [modifier]

L'architecture 3-tier (de l'anglais tier signifiant étage ou niveau) est un modèle logique
d'architecture applicative qui vise à séparer très nettement trois couches logicielles au sein
d'une même application ou système, à modéliser et présenter cette application comme un
empilement de trois couches, étages, niveaux ou strates dont le rôle est clairement défini :

• la présentation des
données : correspondant
à l'affichage, la restitution
sur le poste de travail, le
dialogue avec
l'utilisateur ;

• le traitement métier des


données : correspondant
à la mise en œuvre de
l'ensemble des règles de
gestion et de la logique
applicative ;

• et enfin l' accès aux


données persistantes
(persistence en anglais) :
correspondant aux
données qui sont
destinées à être
conservées sur la durée,

18/
9
Med El assad Année universitaire 2007/2008

voire de manière
définitive.

Dans cette approche, les couches communiquent entre elles au travers d'un « modèle
d'échange », et chacune d'entre elles propose un ensemble de services rendus. Les services
d'une couche sont mis à disposition de la couche supérieure. On s'interdit par conséquent
qu'une couche invoque les services d'une couche plus basse que la couche immédiatement
inférieure ou plus haute que la couche immédiatement supérieure (chaque niveau ne
communique qu'avec ses voisins immédiats).

Le rôle de chacune des couches et leur interface de communication étant bien définis, les
fonctionnalités de chacune d'entre elles peuvent évoluer sans induire de changement dans les
autres couches. Cependant, une nouvelle fonctionnalité de l'application peut avoir des
répercussions dans plusieurs d'entre elles. Il est donc essentiel de définir un modèle d'échange
assez souple, pour permettre une maintenance aisée de l'application.

Ce modèle d'architecture 3-tier a pour objectif de répondre aux préoccupations suivantes :

• allégement du poste de
travail client (notamment
vis-à-vis des architectures
classiques client-serveur
de données –- typiques
des applications dans un
contexte Oracle/Unix) ;

• prise en compte de
l'hétérogénéité des plates-
formes (serveurs, clients,
langages, etc.) ;

• introduction de clients
dits « légers » (plus liée
aux technologies
Intranet/HTML qu'au 3-
tier proprement dit) ;

19/
9
Med El assad Année universitaire 2007/2008

• et enfin, meilleure
répartition de la charge
entre différents serveurs
d'application.

Précédemment, dans les architectures client-serveur classiques, les couches présentation et


traitement étaient trop souvent imbriquées. Ce qui posait des problèmes à chaque fois que l'on
voulait modifier l'IHM1 du système.

L'activation à distance (entre la station et le serveur d'application) des objets et de leurs


méthodes (on parle d'invocation) peut se faire au travers d'un ORB (avec le protocole IIOP ou
au moyen des technologies COM/DCOM de Microsoft ou encore avec RMI en technologie
J2EE). Cette architecture ouverte permet également de répartir les objets sur différents
serveurs d'application (soit pour prendre en compte un existant hétérogène, soit pour
optimiser la charge).

Il s'agit d'une architecture logique qui se répartit ensuite selon une architecture technique sur
différentes machines physiques, bien souvent au nombre de 3, 4 ou plus. Une répartition de la
charge doit dans ce cas être mise en place.

Les trois couches [modifier]

Couche Présentation (premier niveau) [modifier]

Elle correspond à la partie de l'application visible et interactive avec les utilisateurs. On parle
d'Interface Homme Machine. En informatique, elle peut être réalisée par une application
graphique ou textuelle. Elle peut aussi être représentée en HTML pour être exploitée par un
navigateur web ou en WML pour être utilisée par un téléphone portable.

On conçoit facilement que cette interface peut prendre de multiples facettes sans changer la
finalité de l'application. Dans le cas d'un système de distributeurs de billets, l'automate peut
être différent d'une banque à l'autre, mais les fonctionnalités offertes sont similaires et les
services identiques (fournir des billets, donner un extrait de compte, etc.).

Toujours dans le secteur bancaire, une même fonctionnalité métier (par exemple, la
commande d'un nouveau chéquier) pourra prendre différentes formes de présentation selon

20/
9
Med El assad Année universitaire 2007/2008

qu'elle se déroule sur Internet, sur un distributeur automatique de billets ou sur l'écran d'un
chargé de clientèle en agence.

La couche présentation relaie les requêtes de l'utilisateur à destination de la couche métier, et


en retour lui présente les informations renvoyées par les traitements de cette couche. Il s'agit
donc ici d'un assemblage de services métiers et applicatifs offerts par la couche inférieure.

Il est recommandé ici de mettre en œuvre le design pattern Modèle-Vue-Contrôleur (MVC)


(ex : Apache Struts).

Couche Métier / Business (second niveau) [modifier]

Elle correspond à la partie fonctionnelle de l'application, celle qui implémente la « logique »,


et qui décrit les opérations que l'application opère sur les données en fonction des requêtes des
utilisateurs, effectuées au travers de la couche présentation.

Les différentes règles de gestion et de contrôle du système sont mises en œuvre dans cette
couche.

La couche métier offre des services applicatifs et métier2 à la couche présentation. Pour
fournir ces services, elle s'appuie, le cas échéant, sur les données du système, accessibles au
travers des services de la couche inférieure. En retour, elle renvoie à la couche présentation
les résultats qu'elle a calculés.

Couche Accès aux données (troisième niveau) [modifier]

Elle consiste en la partie gérant l'accès aux gisements de données du système. Ces données
peuvent être propres au système, ou gérées par un autre système. La couche métier n'a pas à
s'adapter à ces deux cas, ils sont transparents pour elle, et elle accède aux données de manière
uniforme (couplage faible).

Données propres au système [modifier]

Ces données sont pérennes, car destinées à durer dans le temps, de manière plus ou moins
longue, voire définitive.

Les données peuvent être stockées indifféremment dans de simples fichiers texte, ou
eXtensible Markup Language (XML), ou encore dans une base de données. Quel que soit le

21/
9
Med El assad Année universitaire 2007/2008

support de stockage choisi, l'accès aux données doit être le même. Cette abstraction améliore
la maintenance du système.

Les services sont mis à disposition de la couche métier. Les données renvoyées sont issues
du/des gisements de données du système.

Pour une implémentation « native », le motif de conception (en anglais design pattern) à
implémenter dans cette couche est le Data Access Object (DAO). Ce dernier consiste à
représenter les données du système sous la forme d'un modèle objet. Par exemple un objet
pourrait représenter un contact ou un rendez-vous.

La représentation du modèle de données objet en base de données (appelée persistance) peut


s'effectuer à l'aide d'outils tels que Hibernate.

Données gérées par un autre système [modifier]

Les données peuvent aussi être gérées de manière externe. Elles ne sont pas stockées par le
système considéré, il s'appuie sur la capacité d'un autre système à fournir ces informations.

Par exemple, une application de pilotage de l'entreprise peut ne pas sauvegarder des données
comptables de haut niveau dont elle a besoin, mais les demander à une application de
comptabilité. Celle-ci est indépendante et pré-existante, et on ne se préoccupe pas de savoir
comment elle les obtient ou si elle les sauvegarde, on utilise simplement sa capacité à fournir
des données à jour.

Voir aussi [modifier]

22/
9