24
Initiation Architecture et Couches Architectures et couches Objectifs:  Découvrir les architectures logicielles  Comprendre le rôle des couches Ressources :  Support de cours.  4 Projets C# donnant un exemple d’architecture 2 Tiers, 3 Tiers, 4 Tiers, dans des applications de type Web (sites), Client Serveur. Durée :  7 heures Réalisations  1 Quel est le type d’architecture de chacun des projets ?  2 Pour les projets « Consultation Produits CS » et « Consultation Produit Web » citer les classes composant chaque couche logicielle. BIP Afpa Béziers jpv v1 Créé le 21/10/2007 le 17/11/2008 Page 1/24

Architecture DOTNET Couches - Excellent.pdf

Embed Size (px)

Citation preview

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