39
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 1/39

Architecture Client Serveur

Embed Size (px)

DESCRIPTION

Architecture Client Serveur

Citation preview

Page 1: Architecture Client Serveur

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

1/27

Page 2: Architecture Client Serveur

Med El assad Année universitaire 2007/2008

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

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

2/27

Page 3: Architecture Client Serveur

Med El assad Année universitaire 2007/2008

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 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.

3/27

Page 4: Architecture Client Serveur

Med El assad Année universitaire 2007/2008

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. Le serveur de données, fournissant au serveur d'application les données

dont il a besoin.

4/27

Page 5: Architecture Client Serveur

Med El assad Année universitaire 2007/2008

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 ;

5/27

Page 6: Architecture Client Serveur

Med El assad Année universitaire 2007/2008

Une sécurité accrue car la sécurité peut être définie indépendamment pour

chaque service, et à chaque niveau ;

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...

6/27

Page 7: Architecture Client Serveur

Med El assad Année universitaire 2007/2008

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 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

7/27

Page 8: Architecture Client Serveur

Med El assad Année universitaire 2007/2008

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.

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.

8/27

Page 9: Architecture Client Serveur

Med El assad Année universitaire 2007/2008

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

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

9/27

Page 10: Architecture Client Serveur

Med El assad Année universitaire 2007/2008

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

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é

10/27

Page 11: Architecture Client Serveur

Med El assad Année universitaire 2007/2008

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

11/27

Page 12: Architecture Client Serveur

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.

12/27

Page 13: Architecture Client Serveur

Med El assad Année universitaire 2007/2008

Sommaire

[masquer]

1 Architectures trois tiers et multi-tiers

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.

13/27

Page 14: Architecture Client Serveur

Med El assad Année universitaire 2007/2008

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]

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.

14/27

Page 15: Architecture Client Serveur

Med El assad Année universitaire 2007/2008

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.

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 :

15/27

Page 16: Architecture Client Serveur

Med El assad Année universitaire 2007/2008

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

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).

16/27

Page 17: Architecture Client Serveur

Med El assad Année universitaire 2007/2008

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 :

PortService ou

Application

21 FTP

23 Telnet

25 SMTP

53 DNS

80 HTTP

110 POP3

17/27

Page 18: Architecture Client Serveur

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

18/27

Page 19: Architecture Client Serveur

Med El assad Année universitaire 2007/2008

Telnet : utilisé surtout pour commander des applications côté

serveur en lignes de commande

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"

19/27

Page 20: Architecture Client Serveur

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)

20/27

Page 21: Architecture Client Serveur

Med El assad Année universitaire 2007/2008

2.3.1 Données propres au système

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

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

21/27

Page 22: Architecture Client Serveur

Med El assad Année universitaire 2007/2008

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, 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 :

22/27

Page 23: Architecture Client Serveur

Med El assad Année universitaire 2007/2008

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) ;

et enfin, meilleure

répartition de la

charge entre

différents serveurs

d'application.

23/27

Page 24: Architecture Client Serveur

Med El assad Année universitaire 2007/2008

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'IHM 1 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.).

24/27

Page 25: Architecture Client Serveur

Med El assad Année universitaire 2007/2008

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 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.

25/27

Page 26: Architecture Client Serveur

Med El assad Année universitaire 2007/2008

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 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

26/27

Page 27: Architecture Client Serveur

Med El assad Année universitaire 2007/2008

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]

Introduction

Le service d’annuaire proposé au sein de la gamme Serveur de Microsoft représente en générale le socle de votre système d’information.

Active Directory, dans sa version 2008, apporte son lot de nouveautés. Etant le cœur de votre architecture, il est important de le maîtriser et d’en connaitre tous les composants.

Le but de ce dossier est donc de présenter l’ensemble des nouveautés apportées au service d’annuaire dans Windows Server 2008. On y retrouvera notamment de nouveaux assistants plus complets, une optimisation du service de réplication, un nouveau concept de contrôleur en lecture seul (RODC) pour les sites non sécurisée ainsi que la possibilité de définir plusieurs stratégies de mot de passe dans un même domaine.

Pour compléter ce tour d’horizon, on se penchera sur l’administration via les GPO, les nouveaux paramètres d'Audit ainsi que la sauvegarde avancée à l'aide des clichés. 

27/27