You are on page 1of 24

Initiation Architecture et Couches

Architectures et couches



Objectifs:
Dcouvrir les architectures logicielles
Comprendre le rle des couches


Ressources :
Support de cours.
4 Projets C#donnant un exemple darchitecture 2 Tiers, 3 Tiers, 4 Tiers, dans des applications de type Web (sites),
Client Serveur.

Dure :
7 heures

Ralisations
1 Quel est le type darchitecture de chacun des projets ?
2 Pour les projets Consultation Produits CS et Consultation Produit Web citer les classes composant chaque couche
logicielle.

BIP Afpa Bziers jpv v1 Cr le 21/10/2007 le 17/11/2008 Page 1/24


Initiation Architecture et Couches
Introduction

Tout programme faisant partie dune application est compose de diffrents composants jouant un rle prcis.

Ces composants sont les objets (issus de classe) qui permettent le fonctionnement dun programme, ce sont des formulaires, des objets
graphiques le composant, des objets permettant laccs aux donnes, des objets dfinis par lactivit de lentreprise (Client, Commande, Produit
etc ..).


Ces composants peuvent tre regroups selon leur rle :

Prsentation,
Services (logique applicative, cas dutilisation),
Mtier,
Accs aux donnes ou DAL (Data Access Layer)
Base de donnes.



Ces groupes vont tre appels couches.




BIP Afpa Bziers jpv v1 Cr le 21/10/2007 le 17/11/2008 Page 2/24


Initiation Architecture et Couches
Couche Prsentation :

Les objets de prsentation (Formulaires, composants graphiques) ont pour rle dtre en interaction avec lutilisateur, affichage des donnes,
saisie des donnes avec leur contrle, rpondent aux souhaits de lutilisateur dans la navigation de linterface homme machine.

Les objets de prsentation ont besoin de donnes, mais fournissent galement des donnes.

Dans une application de type Windows ce sont les composants (classes) :

Graphiques : Formulaires, Boutons, Combobox, Listes, Grid, Cases cocher
GroupeBox, Menu etc.
Les procdures des gestionnaires dvnements des objets graphiques et fonctions ou procdures de mise en page
programms en C#, J ava, ou VB.Net.

Dans un site Web (ou application web) ce sont les composants (classes) :

Graphiques : Formulaires, Boutons, Combobox, Listes, Grid, Cases cocher
GroupeBox, Menu etc.
Page XHTML, fonctions J avascript, Ajax.
Les procdures des gestionnaires dvnements des objets graphiques et fonctions ou procdures de mise en page
programms en C#, J ava, ou VB.Net.


Les objets de prsentation fourniront et demanderont des donnes aux objets de la couche Services.

Les classes permettant dinstancier ces objets sont riches en attributs graphiques et vnements.
BIP Afpa Bziers jpv v1 Cr le 21/10/2007 le 17/11/2008 Page 3/24


Initiation Architecture et Couches
Couche Services :

Ce sont les objets contrleurs qui ont pour but de satisfaire les demandes des objets de la couche prsentation, en allant chercher les objets Mtier
ncessaires qui possdent les attributs et les mthodes correspondants aux donnes ncessaires aux classes de prsentation. Les contrleurs
connaissent les objets Mtier ncessaires.

Ces objets contrleurs sont instancis par les classes contrleurs qui possdent la logique de manipulation des objets Mtier de chaque
programme (fonctionnalit ou cas dutilisation).

Exemple :

Dans un formulaire (prsentation) les nom, prnom et adresse dun client doivent tre affichs connaissant son code client.
Les code client, nom, prnom et adresse sont les attributs dun objet client (Classe Client Mtier).
Le formulaire va demander au contrleur de rechercher lobjet client en fournissant le code client.
Le contrleur (services) va crer un objet client et demander lobjet client de charger tous ses attributs connaissant son code client.
Le contrleur (services) retournera vers le formulaire lobjet client.
Si aucun objet ne correspond ce code client le contrleur (services) renverra une exception au formulaire (prsentation).

Lobjet client (Mtier) est indpendant de son utilisation.

Dans un autre programme utilisant les mmes objets clients (Mtier), le fait que lobjet existe, donc possde des attributs, peut tre
considr comme une exception (erreur) et le fait qui ny ait pas dobjet correspondant le cas normal. Cas bien connu de cration dun
client qui soppose sa consultation, modification ou suppression.


Le contrleur (couche services) permet de dsynchroniser la prsentation de la manipulation des objets Mtier. Ainsi il est possible de changer de
prsentation sans remettre en cause la logique du programme, puisque cest le contrleur qui manipule les objets Mtier.

Les contrleurs sont des classes qui sont codes en J ava, C#, ou mme VB.Net.

Ces classes sont pauvres en attributs (de donnes).
BIP Afpa Bziers jpv v1 Cr le 21/10/2007 le 17/11/2008 Page 4/24


Initiation Architecture et Couches
Couche Mtier :

Cette couche est compose dobjets qui contiennent les donnes fondamentales de lentreprise sous forme dattributs. Ces objets sont instancis
partir des classes dites Mtier (Client, Produit, Facture, Commande etc ).

Les objets sont sollicits par les contrleurs qui fournissent ou demandent les donnes des donnes.


Les objets existent uniquement en mmoire ainsi lorsquun programme prend fin les objets disparaissent de la mmoire. Cest la raison pour
laquelle il faut sauvegarder les valeurs des attributs dans une base de donnes (relationnel ou objets) pour pouvoir les retrouver.


Pour tre indpendant des techniques de recherche et denregistrement dans la base de donnes, les objets Mtier sollicitent la couche Persistance
(DAL) pour se sauvegarder et se restaurer. Ainsi en changeant de mode denregistrement et de recherche les classes instanciant ces objets ne sont
pas modifies : changement de base de donnes.

BIP Afpa Bziers jpv v1 Cr le 21/10/2007 le 17/11/2008 Page 5/24


Initiation Architecture et Couches
Couche Accs aux donnes :

Les objets de la couche accs aux donnes ont pour but dutiliser les objets techniques du framework qui vont permettre denregistrer, de
modifier de supprimer les objets Mtier (plus prcisment les valeurs dattributs des objets) dans la base de donnes.

Les objets de la couche accs aux donnes vont grer les transactions lors de lenregistrement dobjets composs (exemple Facture avec ses
Lignes Factures correspondant des Produits, et la Facture correspondant un Client).

Les objets Mtier demandent aux objets de la couche accs aux donnes de les sauvegarder ou de les restaurer (remplis moi ou sauvegardes moi).

Les objets techniques du framework manipuls par les objets de la couche Accs aux donnes sont les objets ADO (Connexion, Command,
Adaptateur etc ) dans le framework .Net.

Ainsi la couche Accs aux donnes rend indpendant les objets Mtier de leur type de persistance, il est possible de changer de base de
donnes sans tout casser.

BIP Afpa Bziers jpv v1 Cr le 21/10/2007 le 17/11/2008 Page 6/24


Initiation Architecture et Couches
Couche Base de donnes :

Le rle des objets de cette couche est dassurer la persistance des donnes, c'est--dire la mmorisation et la recherche des donnes, mais
galement de la scurit et lintgrit des donnes.


Les types de persistance sont varis :
Bases de donnes relationnelles (SqlServer, Oracle),
Bases de donnes objets (DB4O),
Fichiers XML.

La persistance peut tre centralise ou rpartie.
Lensemble des donnes du Systme dinformations peut avoir plusieurs types de persistance.

Pour les bases de donnes relationnelles les objets sont les bases, les tables, les colonnes, les index, les vues, mais galement les procdures
stockes, les triggers, fonctions.

Cest le SGBD qui excute les procdures stockes, ainsi que les triggers et fonctions.

Les objets Accs aux donnes dclencheront les requtes et procdures stockes ncessaires.
BIP Afpa Bziers jpv v1 Cr le 21/10/2007 le 17/11/2008 Page 7/24


Initiation Architecture et Couches
Echanges en les diffrentes couches



Services changs entre couches.


Prsentation Services Mtier Accs aux
donnes
Base de
donnes
Appel Procdure
stocke ou requte
Table
rsultante,
objet*, valeurs
ou Exception
Objet restaurer
ou sauvegarder
Exception
Objet(s), valeur
ou Exception
Demande dobjet(s) ou de
valeur,
Demande denregistrement.
Objet(s), valeur
ou Exception
Demande dobjet(s)t ou
de valeur, validation















* dans le cas dune base de donnes objets.

BIP Afpa Bziers jpv v1 Cr le 21/10/2007 le 17/11/2008 Page 8/24


Initiation Architecture et Couches
Couches et Architecture

Les objets de chaque couche peuvent tre regroups pour former un processus excutable, qui peut tre un programme.

Selon le regroupement effectu plusieurs processus sexcuteront lors de lexcution dun programme.

Si deux processus sexcutent conjointement, une architecture deux tiers est dfinie (trois processus trois tiers etc ..).
Les processus peuvent sexcuter sur des machines diffrentes ou pas.

Lors du dveloppement dun programme, dune application, il est frquent que les diffrents processus sexcutent sur la mme machine.

Exemple voir le tableau suivant.
BIP Afpa Bziers jpv v1 Cr le 21/10/2007 le 17/11/2008 Page 9/24


Initiation Architecture et Couches

Couches

Prsentation Services Mtier Accs aux donnes Base de donnes

Architectures
Application
Winform


Winforms Contrleur Objets mtier Persistance Tables + PS


2 tiers Programme C# et VB.Net dit Client Serveur de donnes


3 tiers
Programme C# et VB.Net dit Client

Programme sur le Serveur d'objets Net Remoting
Serveur de donnes

Application
Webform


HTML JS ASP.Net
Contrleur Objets mtier Persistance Tables + PS


3 tiers Navigateur Site Web contenant les pages asp et les classes, Serveur de donnes
s'excutant sur le Serveur Web
4 tiers
Navigateur
Site Web contenant les pages asp et
contrleur(s)
Webservice Serveur de donnes

4 tiers
intranet Navigateur
Site Web contenant les pages asp et
contrleur(s)

Programme sur le Serveur d'objets Net Remoting
Serveur de donnes

BIP Afpa Bziers jpv v1 Cr le 21/10/2007 le 17/11/2008 Page 10/24


Initiation Architecture et Couches
Architecture 2 tiers


Un programme de votre application Winform doit afficher des donnes sur un formulaire, partir de critres saisies dans le formulaire.
Celui-ci en rponse doit afficher le rsultat dans le formulaire, le rsultat ncessite laccs une base de donnes pour rcuprer les donnes dans
des tables figurant dans la base. Pour rcuprer les donnes il est ncessaire dexcuter une requte sur le serveur de donnes qui est catalogue
sous forme de procdure stocke paramtre.

Pour insrer, modifier voire supprimer des donnes partir du formulaire, dautres procdures stockes doivent tre excutes.

Dans ce cas votre application se compose de deux lments :

Le premier est lensemble du code ralis en C#, VB.Net, ou J ava qui va tre excut sur la machine cliente,
Le second est lensemble des procdures stockes ralises en SQL et/ou Langage reconnu par le SGBD (SQLServer 2005) et excut par
celui-ci.


Votre application se dcoupe donc en deux niveaux, le premier excut directement sous Windows XP et le second excut par le moteur du
SGBD ; deux niveaux donc deux tiers, deux processus.

Dans le cas o les deux niveaux sexcutent sur la mme machine votre application reste deux tiers car deux excutions distinctes ont bien lieu
(ce qui est un cas frquent sur une plateforme de dveloppement).

Voici ci-aprs un exemple de scnario.
BIP Afpa Bziers jpv v1 Cr le 21/10/2007 le 17/11/2008 Page 11/24


Initiation Architecture et Couches


CLIENT SERVEUR DE DONNEES

Windows Xp, Vista
Framework .Net
Windows Server 2003 R2
Base de
Donnes
Programme applicatif
Winform
ADO
SGBD : Excution des
procdures stockes
9
Tables
et PS

1 Demande douverture de la connexion avec authentification ou SqlException
2 Connexion ouverte ou SqlException
3 Demande dexcution de la procdure stocke avec ses paramtres
4 Recherche de la procdure et vrification des droits sur la base par le SGBD.
5 Excution de la procdure par le SGBD ou SqlException
6 Rsultat de la requte slection ou et/ou code retour (code retour seul dans le cas de maj)
7 Demande de fermeture de connexion
8 Connexion ferme.
9 Mise en page affichage.
Fournisseur daccs
TCP / IP TCP / IP
Rseau
1,3,7
2,6,8
4
4, 5
BIP Afpa Bziers jpv v1 Cr le 21/10/2007 le 17/11/2008 Page 12/24


Initiation Architecture et Couches
Architecture 3 tiers

Un programme de votre application Winform doit afficher des donnes sur un formulaire, partir de critres saisis dans le formulaire.
Celui-ci en rponse doit afficher le rsultat dans le formulaire, le rsultat ncessite des objets Mtier contenant les attributs et mthodes
ncessaires pour fournir ce rsultat.

Votre serveur dobjets permet de dlivrer les objets ncessaires ou bien un accs ces objets. Le serveur dobjets que vous avez dvelopp
contient donc tous les classes Mtier et votre application Winform demande au serveur les objets ncessaires. Le serveur fournit un accs aux
objets correspondant la demande de votre programme. Cest le serveur dobjets qui dtient les objets, il les instancie, les restaure, les
sauvegarde.

Votre programme Winform sexcute sur la machine cliente sous Windows Xp. Votre service (ensemble des objets Mtier lcoute dune
demande) sexcute sur une autre machine appel Serveur dobjets Mtier . Plusieurs instances du mme programme Winform peuvent
sexcuter concurremment pour demander des objets au mme service unique. Un autre programme diffrent de votre application peut demander
galement des objets au Serveur dobjets. En fait le serveur dobjets peut disposer de plusieurs services lcoute des demandes des programmes
clients.

Le serveur dobjets livre toujours des objets complets (tous les attributs sont valus). Le serveur dobjets doit restaurer les objets demands si
ceux-ci ne sont pas prsents (ou attributs vides ou encore rafraichir). Pour cette opration le serveur dobjets doit demander lexcution dune
requte (Procdure stocke) au SGBD sur serveur de donnes pour recharger les attributs des objets. Le serveur dobjets est alors le client pour le
serveur de donnes.

Le serveur dobjets est dmarr en tant que service dans la machine daccueil.

BIP Afpa Bziers jpv v1 Cr le 21/10/2007 le 17/11/2008 Page 13/24


Initiation Architecture et Couches
Principe de base pour les objets distribus :

Trois processus vont travailler simultanment lors de lexcution de lapplicatif : le processus Client, le processus Serveur dobjets, le processus
SGBD. Lchange entre le processus Serveur dobjets et le processus SGBD est le mme que pour les applications 2 Tiers.
Par contre il faut tablir une communication entre le processus Client et le Serveur dobjets, il faut un canal de communication entre les deux
processus, cest l quintervient le Net Remoting ou RMI (Remote Method Invocation) dans le monde J 2EE. Dans ce canal viendront circuler
les objets demands.
Il faut souligner que dans ce cadre les plateformes .Net et J 2EE peuvent cohabiter (Net Remoting et RMI).
Le Net Remoting va offrir les fonctionnalits ncessaires pour exposer

Processus Client Processus Serveur dObjets (Service)

Canal de communication
Objet
Mtier
Objet
Mtier
distribuer
Objet
Proxy
Objet













Les protocoles permettant la communication peuvent tre TCP ou HTTP, les objets sont srialiss en binaire par un BinaryFormatter ou en XML
par un SoapFormatter pour circuler dans le tuyau. Deux possibilits encore, lobjet lui-mme peut tre srialis ou sa rfrence. Pour se faire les
objets doivent tre empaquetables , c'est--dire marshalisables .

BIP Afpa Bziers jpv v1 Cr le 21/10/2007 le 17/11/2008 Page 14/24


Initiation Architecture et Couches

Le serveur dobjets possde les objets Mtier ncessaires au fonctionnement de lapplication cliente. Lensemble des mthodes ncessaires pour
acqurir ces objets pour le client va constituer un service pour le serveur dobjets. La communication entre le client et le serveur va seffectuer
par un canal TCP, pour cela il faut ladresse IP du Serveur dobjets et un port TCP. Les messages changs entre le client et le serveur sont
srialiss en binaire (flux binaires : BinaryFormatter). Le serveur dobjets doit tre dmarr pour se mettre lcoute sur le canal des demandes
de service provenant des clients pour les distribuer. Chaque client va maintenant appeler le service sur ce canal pour obtenir les rsultats(les
objets).

Ct serveur, un canal TCP (Nport) va tre associ au processus serveur en entre et en sortie, lobjet distant distribuer est expos pour
activation sur ce canal en lui donnant un nom de service.
Lobjet prsent peut tre en Singleton, ce qui signifie lobjet sera unique pour tous les clients, ou en SingleCall une nouvelle image de lobjet
sera fourni chaque appel dun client. Les objets peuvent tre transmis par valeur ou par rfrence.

Lorsque le client sollicite le service, un objet distant est cr et celui-ci dtiendra les mthodes permettant daccder aux objets ncessaires pour
le client, lesquels objets verront leurs attributs rechargs partir de la base de donnes ou dun fichier.

Le serveur dobjets sollicite alors le serveur de donnes pour lancer les requtes ncessaires pour charger les valeurs des attributs des diffrents
objets (dpendant de lobjet distant).

Voici un exemple de scnario :



BIP Afpa Bziers jpv v1 Cr le 21/10/2007 le 17/11/2008 Page 15/24


Initiation Architecture et Couches
Ici lobjet distant est en mode singleton(il y en aura quun seul exemplaire).


CLIENT SERVEUR DOBJETS METIER SERVEUR DE DONNEES


Windows Xp, Vista
Framework .Net
Programme applicatif
Winform. Interfaces.
Objet Proxy
TCP / IP
Windows Xp, Vista ou
Windows Server 2003 R2
Framework .net
Windows Server 2003 R2
Base de
Donnes
Tables
et PS
Serveur dobjets
Mtier. Interfaces
10,11
1,3,6
SGBD : Excution des
procdures stockes
DLL Mtier
Fournisseur daccs
ADO
16
Rseau
TCP / IP
TCP / IP
10
4,15 8,12,14
2,5
7,9,13
BIP Afpa Bziers jpv v1 Cr le 21/10/2007 le 17/11/2008 Page 16/24


Initiation Architecture et Couches
1 Dmarrage du serveur dobjets le service est lcoute sur les nip et n de port dfinis (dmarrage du premier processus de traitement).
2 Dmarrage du client (dmarrage du deuxime processus de traitement), appel du service tournant sur le serveur dobjets.
3 Cration de lobjet distant correspondant au service expos.
4 Renvoi de la rfrence de lobjet distant au client.
5 Invocation dune mthode renvoyant le ou les objets ncessaires au client par lintermdiaire de lobjet distant.
6 Demande de chargement de lobjet ou des objets
7 Demande douverture de la connexion avec authentification ou SqlException
8 Connexion ouverte ou SqlException
9 Demande dexcution de la procdure stocke avec ses paramtres
10 Recherche de la procdure et vrification des droits sur la base par le SGBD.
11 Excution de la procdure par le SGBD ou SqlException
12 Rsultat de la requte slection ou et/ou code retour (code retour seul dans le cas de maj)
13 Demande de fermeture de connexion
14 Connexion ferme.
15 Objets(sauf si rfrence).
16 Mise en page Affichage.


Trois processus sexcutent le processus client (Le programme C#), le serveur dobjets qui grent les objets Mtier et le serveur de donnes qui
alimentent et enregistrent les objets.
Les trois processus pourraient fonctionner sur une mme machine, lapplication serait toujours trois tiers, cest souvent ce quil se passe lorsque
le dveloppeur effectue des tests de son application avec un EDI.

BIP Afpa Bziers jpv v1 Cr le 21/10/2007 le 17/11/2008 Page 17/24


Initiation Architecture et Couches
Architecture 3 Tiers Web

Les applications Intranet ou Internet sont composes de pages html et de pages serveur (ie page ASPX). Lensemble de ces pages constitue un
site. Le serveur Web gre les sites ainsi que son paramtrage : chaque site est reconnu par un nom par le serveur Web ( ie www.kikinou.fr), ce
qui permet de le distinguer des autres (entte), la page de dmarrage est galement dfinie, laccs anonyme et authentifi, et les droits sont
indiqus.

A un serveur Web peut tre affect plusieurs adresses IP.
Dans ce cas une adresse IP pourrait tre affecte chaque site mais cela serait couteux et trs limit.
Pour une adresse IP donn est peut tre attribu 65536 ports en thorie, certains sont rservs et de plus ne sont pas connus des serveurs DNS,
donc ce nest pas non plus la solution pour faire correspondre un site. En revanche un nombre illimit denttes peut tre affect une adresse IP
(ie www.kikinou.fr ).

Le client se rsume une machine muni dun navigateur (IE, FireFox etc) interprtant les balises HTML et les fonctions J avascript. Le serveur de
donnes fournit les donnes ncessaires aux pages serveur pour fabriquer les pages clientes munies des donnes recueillies, par le mme procd
daccs aux donnes (deux tiers). Le serveur DNS est un serveur de noms permettant de retrouver ladresse IP du serveur Web hbergeant le site
recherch. Exemple pour le nom de domaine kikinou.fr pour chaque hte (ie www) de ce domaine correspond ladresse IP du serveur web.
Ainsi un mme nom de domaine peuvent tre affects plusieurs htes correspondant des adresses IP diffrentes quelquefois.

Le serveur DNS dispose dune base de donnes de noms mettant en correspondance des adresses IP (Un hte une adresse IP de serveur Web),
organise par nom de domaine.
Le serveur Wins permet de rsoudre les noms Netbios pour des machines dot dun systme non Windows se trouvant dans un mme rseau pour
que les machines communiquent entre elles.
Les serveurs DNS peuvent tre installs sur des machines serveur diffrentes.

Dans le paramtrage IP le la machine cliente est indiqu ladresse IP du serveur DNS, il peut y en avoir plusieurs dans ce cas chacun va tre
sollicit dans lordre de citation.

Dans lInternet les serveurs DNS sont lis dautres serveurs DNS pour rsoudre la requte qui un nom fait correspondre ladresse IP du
serveur Web hbergeant le site.
Le site est donc compos de pages HTML, de pages Serveur Aspx, Classes Contrleur, Classes Mtier, Classe Accs aux donnes (DAL).
BIP Afpa Bziers jpv v1 Cr le 21/10/2007 le 17/11/2008 Page 18/24


Initiation Architecture et Couches


CLIENT
SERVEUR WEB - DNS SERVEUR DE DONNEES
Windows 2003 R2 Server
Framework .Net
Windows XP Pro
Windows 2003 R2
Base de
Donnes
Navigateur
Serveur DNS
(Serveur WINS)
SqlServer 2005
(Excution
Procdures Stockes)
Serveur IIS Http(Web) Ftp
(Excution Page ASP)
Sites
Base
DNS
Rseau
Base
Wins
1,11 3
Tables
et PS
HTTP 1.1 / 1.0
TCP/IP TCP/IP
HTTP 1.1 / 1.0
TCP/IP
4
15, 17,18 17,
6,8,13, 22
15,19,21
1, (5),(7),(9),10, 23
2,12 14,16,20
BIP Afpa Bziers jpv v1 Cr le 21/10/2007 le 17/11/2008 Page 19/24


Initiation Architecture et Couches
1 Lutilisateur a saisi lurl : www.kikinou.fr pour accder au site voulu.
2 La requte de recherche de nom est envoye au serveur DNS (Quel est ladresse IP du serveur Web qui correspond cette url ?).
3 Transcription du nom trouv par ladresse IP du serveur hbergeant le site recherch. (Rsolution DNS).
4 Redirection vers le serveur Web de la demande douverture du site avec une entte www.kikinou.fr .
5 Erreur 404 si le serveur Web nest pas trouv.
6 Recherche sur le serveur Web du site possdant lentte www.kikinou.fr
7 Erreur 404 le site nest pas trouv.
8 Examen des autorisations daccs et droits.
9 Accs refus (Erreur 401 ou 403 par exemple).
10 Envoi de la page de dmarrage (par exemple xhtml)
11 Interprtation de la page par le navigateur et affichage.
12 Demande dune autre page du site avec des donnes (page serveur).
13 excution de la page serveur (Aspx)
14 Demande douverture de la connexion avec authentification ou SqlException
15 Connexion ouverte ou SqlException
16 Demande dexcution de la procdure stocke avec ses paramtres
17 Recherche de la procdure et vrification des droits sur la base par le SGBD.
18 Excution de la procdure par le SGBD ou SqlException
19 Rsultat de la requte slection ou et/ou code retour (code retour seul dans le cas de maj)
20 Demande de fermeture de connexion
21 Connexion ferme ou mise en veille (mode connect ou dconnect).
22 Cration de la page de rponse xhtml.
23 Envoi de la page au navigateur.

Dans ce scnario il faut bien comprendre quun simple clic sur un bouton dune page affiche par le navigateur provoque la demande dune
excution sur le serveur web pour renvoyer une autre page qui peut paraitre la mme aux yeux de lutilisateur avec quelques donnes en plus.

Trois processus sexcutent : le navigateur sur la machine cliente, le serveur Web IIS (Internet Information Service) qui gre les sites et excute
les pages serveur et le serveur de donnes qui gre la base de donnes et excute les procdures stockes.

Larchitecture 3 tiers Intranet bnficie dune facilit de dploiement accrue, pas de logiciel client installer.

BIP Afpa Bziers jpv v1 Cr le 21/10/2007 le 17/11/2008 Page 20/24


Initiation Architecture et Couches
Architecture 4 Tiers Web

Cette architecture va tre une architecture composite qui allie une application intranet et un serveur dobjets Mtier.
Les objets Mtier ne seront donc pas chargs et enregistrs partir de la page serveur. A partir de la page Web Serveur les objets Mtier seront
obtenus grce un objet distant (proxy).comme dans le scnario darchitecture 3 tiers non web.
BIP Afpa Bziers jpv v1 Cr le 21/10/2007 le 17/11/2008 Page 21/24


Initiation Architecture et Couches
BIP Afpa Bziers jpv v1 Cr le 21/10/2007 le 17/11/2008 Page 22/24


SERVEUR WEB - DNS
S S
CLIENT
Base
DNS
SERVEUR DOBJETS METIER SERVEUR DE DONNEES
Rseau
Windows Server 2003 R2
SGBD : Excution des
procdures stockes
TCP / IP
Windows Xp, Vista ou
Windows Server 2003 R2
Framework .net
Serveur dobjets
Mtier. Interfaces
DLL Mtier
Fournisseur daccs
ADO
TCP / IP
Base de
Donnes
Tables
et PS
Serveur IIS Http(Web) Ftp
(Excution Page ASP) Objet
Proxy
Windows 2003 R2 Server
Windows XP Pro
Framework .Net
Serveur DNS
Navigateur
Serveur WINS
Base
Wins
Sites
HTTP 1.1 / 1.0
TCP/IP
HTTP 1.1 / 1.0
TCP/IP
Initiation Architecture et Couches
1 Dmarrage du serveur dobjets le service est lcoute sur les nip et n de port dfinis.
2 Lutilisateur a saisi lurl : www.kikinou.fr pour accder au site voulu.
3 La requte de recherche de nom est envoye au serveur DNS (Quel est ladresse IP du serveur Web qui correspond cette url ?).
4 Transcription du nom trouv par ladresse IP du serveur hbergeant le site recherch. (Rsolution DNS).
5 Redirection vers le serveur Web de la demande douverture du site avec une entte www.kikinou.fr .
6 Erreur 404 si le serveur Web nest pas trouv.
7 Recherche sur le serveur Web du site possdant lentte www.kikinou.fr
8 Erreur 404 le site nest pas trouv.
9 Examen des autorisations daccs et droits.
10 Accs refus (Erreur 401 ou 403 par exemple).
11 Envoi de la page de dmarrage (par exemple xhtml)
12 Interprtation de la page par le navigateur et affichage.
13 Demande dune autre page du site avec des donnes (page serveur).
14 excution de la page serveur (Aspx)
15 Dmarrage du client, appel du service tournant sur le serveur dobjets.
16 Cration de lobjet distant correspondant au service expos.
17 Renvoi de la rfrence de lobjet distant au client.
18 Invocation dune mthode renvoyant le ou les objets ncessaires au client par lintermdiaire de lobjet distant.
19 Demande de chargement de lobjet ou des objets
20 Demande douverture de la connexion avec authentification ou SqlException
21 Connexion ouverte ou SqlException
22 Demande dexcution de la procdure stocke avec ses paramtres
23 Recherche de la procdure et vrification des droits sur la base par le SGBD.
24 Excution de la procdure par le SGBD ou SqlException
25 Rsultat de la requte slection ou et/ou code retour (code retour seul dans le cas de maj)
26 Demande de fermeture de connexion
27 Connexion ferme.
28 Objets(sauf si rfrence).
29 Cration de la page de rponse xhtml.
30 Envoi de la page au navigateur.


BIP Afpa Bziers jpv v1 Cr le 21/10/2007 le 17/11/2008 Page 23/24


Initiation Architecture et Couches
BIP Afpa Bziers jpv v1 Cr le 21/10/2007 le 17/11/2008 Page 24/24


Dans ce scnario quatre processus sexcutent : le navigateur sur la machine cliente, le serveur web qui gre et excute les pages serveur, le
serveur dobjets qui grent les objets Mtier et le serveur de donnes qui alimente et enregistre les attributs des objets Mtier en excutant des
procdures stockes sur la base de donnes.



A titre dexercice veuillez porter sur les flches du schma prcdent les n de messages.