Architecure N-Tiers et MVC

  • Upload
    dirlat

  • View
    230

  • Download
    0

Embed Size (px)

Citation preview

  • 7/23/2019 Architecure N-Tiers et MVC

    1/27

    Architectures logiqueset

    modles de conception

  • 7/23/2019 Architecure N-Tiers et MVC

    2/27

    2/27

    Architectures logiques etmodles de conception

    Gnralits

    Architecture n tiers

    Modle MVC

  • 7/23/2019 Architecure N-Tiers et MVC

    3/27

    3/27

    Gnralits

    En rgle gnrale, une application est dcoupe en 3couches d'abstraction :

    a couche prsentation !"#M$

    Gre les interactions utilisateur%machine

    a couche traitements !couche mtier$ :

    ocau& :

    contrles e((ectus au ni)eau du dialogue a)ec l'"#M

    Globau& :

    'application elle*m+me

    a couche donnes :

    Gre le stocage et l'accs au& donnes

  • 7/23/2019 Architecure N-Tiers et MVC

    4/27

    4/27

    Gnralits

    Chaque couche ne communique qu'a)ec lacouche qui lui est ad-acente.

    /rsentation

    0raitement

    1onnes

  • 7/23/2019 Architecure N-Tiers et MVC

    5/27

    5/27

    Gnralits

    Ces 3 couches peu)ent +tre imbriques ou rparties dedi((rentes manires entre plusieurs machinesph2siques!ni)eau&$ ou logiques.

    ui)ant les contraintes, nous aurons plus ou moins deni)eau&.

    4n parle d'architecture n*tiers

    5emarque: ni)eau couche !tier la2er$

  • 7/23/2019 Architecure N-Tiers et MVC

    6/27

    6/27

    Architecture logique etmodles de conception

    Gnralits

    Architecture n tiers

    Modle MVC

  • 7/23/2019 Architecure N-Tiers et MVC

    7/27

    7/27

    Architecture n tiers

    6n tier !tage en (ran7ais$ reprsente l'aspectph2sique de l'architecture

    "l s'agit d'un modle logique d'architecture

    applicati)e qui )ise 8 modliser une applicationcomme un empilement de trois couches.

  • 7/23/2019 Architecure N-Tiers et MVC

    8/27

    8/27

    Architecture n tiers

    Architecture 9 tier%3 la2ers !9 tage % 3couches$

    es 3 couches se trou)ent sur la m+me

    machine.

    /rsentation

    0raitement

    1onnes

  • 7/23/2019 Architecure N-Tiers et MVC

    9/27

    9/27

    Architecture n tiers

    Architecture tiers%3 la2ers

    1eu& couches se trou)ent sur la m+memachine et la troisime est sur une

    machine distante./rsentation

    0raitement

    1onnes

    Client

    er)eur

  • 7/23/2019 Architecure N-Tiers et MVC

    10/27

    10/27

    Architecture n tiers

    Architecture 3 tiers%3 la2ers

    es 3 couches se trou)ent sur 3 machinesdistinctes.

    Client

    er)eur de traitement

    !e&: #00/$

    er)eur de ;11!e&: 4racle$

    /rsentation 0raitement 1onnes

  • 7/23/2019 Architecure N-Tiers et MVC

    11/27

    11/27

    Architecture n tiers

    Architecture n tier%3 la2ers

    es 3 couches se trou)ent sur n machinesdistinctes.

    /rsentation 0raitement 1onnes

    Client

    er)eur detraitement

    er)eurde ;11

    er)eursapplicati(s

    5partition de

    la charge

  • 7/23/2019 Architecure N-Tiers et MVC

    12/27

    12/27

    Architecture logique etmodles de conception

    Gnralits

    Architecture n tiers

    Modle MVC

    / t ti

  • 7/23/2019 Architecure N-Tiers et MVC

    13/27

    13/27

    Modle MVC

    i le modle en 3 couches!prsentation,traitement, donnes$ permet destructurer et de modulariser les applications, lescontraintes de communication entre couches

    peu)ent s'a)rer problmatiques. i des donnes sont mises 8 -our dans une base

    de donnes, la couche prsentation ne pourramontrer ce changement que si l'utilisateur

    inter)ient au ni)eau de la couche prsentation,qui inter)iendra sur la couche de traitement, etc.

    /rsentation

    0raitement

    1onnes

  • 7/23/2019 Architecure N-Tiers et MVC

    14/27

    14/27

    Modle MVC

    Model-View-Controller

    Modle-Vue-Contrleur

    Architecture et une mthode de conceptionqui organise l'inter(ace homme*machine!"#M$ d'une application logicielle.

    Cette mthode a t mise au point en

    9

  • 7/23/2019 Architecure N-Tiers et MVC

    15/27

    15/27

    Modle MVC

    /rincipe:

    "soler la donne de sa reprsentation

    1istinguer la consultation de la modi(ication

  • 7/23/2019 Architecure N-Tiers et MVC

    16/27

    16/27

    Modle MVC

    es interactions a)ec les donnes possdent troiscomposantes :

    'accs au& donnes

    6ne reprsentation 8 l'a((ichage e traitement des )nements pour s2nchroniser la

    )ue et les donnes

    Vue

    Contrleur

    Modle

  • 7/23/2019 Architecure N-Tiers et MVC

    17/27

    17/27

    Modle MVC

    e modle n'est plus en couche, mais entriangle

  • 7/23/2019 Architecure N-Tiers et MVC

    18/27

    18/27

    Modle MVC

    e modle

    Offre des mthodes pour mettre jour lesdonnes .

    Reprsentation des donnes manipules. Contient les donnes du programme sous

    une forme comprhensible par la ou lesvues.

  • 7/23/2019 Architecure N-Tiers et MVC

    19/27

    19/27

    Modle MVC

    e modle

    Il peut avoir plusieurs vues et plusieurscontrleurs.

    Il peut tre utilis sur ordre du contrleur. Il signale ses vues tous les changements de

    contenu en leur envoyant un vnement uileur spcifie de se mettre jour.

  • 7/23/2019 Architecure N-Tiers et MVC

    20/27

    20/27

    Modle MVC

    a )ue

    Correspond l!interface avec lauellel!utilisateur interagit.

    "rsente les rsultats renvoys par le mod#le. $lle n!effectue aucun traitement

    Re%oit toutes les actions de l!utilisateur &clicde souris' slection d!une entre' boutons' etc(

    et renvoie ces diffrents vnements aucontrleur.

  • 7/23/2019 Architecure N-Tiers et MVC

    21/27

    21/27

    Modle MVC

    a )ue

    $lle se met jour d#s u!elle re%oit un ordrede notification )

    du contrleur.du mod#le.

    *uand la notification vient du mod#le' elleva consulter le mod#le pour se rafficher de

    mani#re correcte.

  • 7/23/2019 Architecure N-Tiers et MVC

    22/27

    22/27

    Modle MVC

    e contrleur

    Il prend en charge la gestion des vnementsde synchronisation pour mettre jour la vueou le mod#le et les synchroniser.

    Il n!effectue aucun traitement' ne modifieaucune donne' mais analyse la reute duclient et se contente d!appeler le mod#leaduat et de renvoyer la vue correspondant la demande.

    Il re%oit tous les vnements de l!utilisateuret enclenche les actions effectuer.

  • 7/23/2019 Architecure N-Tiers et MVC

    23/27

    23/27

    Modle MVC

    e contrleur

    Re%oit les vnements de l!interfaceutilisateur et les traduits )

    $n changeant la vue s!ils agissent surle ct visuel &clic dans l!ascenseur dela fentre' ...(.

    $n demandant un changement au

    mod#le s!ils agissent sur le contenu&demande de +oom sur un graphiue'modification le diagramme en b,tonsen agissant dans la vue' ...(.

  • 7/23/2019 Architecure N-Tiers et MVC

    24/27

    24/27

    Modle MVC

    E&emple de (rame>ors?utilisant ce modle

    C4C4A !ob-ecti)e*C$

    truts, >ing, @0 !AVA$

    B0 !C$ Dend, 2m(on2 !/#/$

    ?:couche d'abstraction logiciel o((rant di)erses (onctionnalits et ser)ices.

  • 7/23/2019 Architecure N-Tiers et MVC

    25/27

    25/27

    Modle MVC

    MVC est trs pratique :

    paration "#M % traitement

    /eut se r)ler lourd 8 mettre en place.

    Multitude de contrleurs 8 implmenter. Chaque rame>or introduit des

    )ariantes.

  • 7/23/2019 Architecure N-Tiers et MVC

    26/27

    26/27

    Modle MVC

    MVC

    M+me modle de conception, mais unseul contrleur qui se charge de redirigerla requ+te )ers le bon traitement!Action$.

    Dend utilise ce principe

    6n contrleur.

    /lusieurs actions. 6ne )ue !par d(aut$par action.

  • 7/23/2019 Architecure N-Tiers et MVC

    27/27

    27/27

    Conclusion

    /rsentation

    0raitement

    1onnes

    Aspect logiciel

    Modle en couche

    MVC

    Aspect ph2sique

    Architecture n tiers