Client Serveur [PDF]

  • 0 0 0
  • Gefällt Ihnen dieses papier und der download? Sie können Ihre eigene PDF-Datei in wenigen Minuten kostenlos online veröffentlichen! Anmelden
Datei wird geladen, bitte warten...
Zitiervorschau

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 platesformes (serveurs, clients, langages, etc.) ;



introduction de clients dits « légers » (plus liée aux technologies Intranet/HTML qu'au 3tier 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