-
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#, Java, 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 Javascript, Ajax. Les procdures des
gestionnaires dvnements des objets graphiques et fonctions ou
procdures de mise en page
programms en C#, Java, 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
Java, 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 Java
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 J2EE. Dans ce canal viendront circuler les objets demands.
Il faut souligner que dans ce cadre les plateformes .Net et J2EE
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
ADO16
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 Javascript. 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 .NetWindows 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.0TCP/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 DNSNavigateur
Serveur WINS Base Wins
Sites
HTTP 1.1 / 1.0TCP/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.