IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement Web en Java Discussion :

Maven et Spring, architecture n-tiers bonnes pratiques


Sujet :

Développement Web en Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 24
    Par défaut Maven et Spring, architecture n-tiers bonnes pratiques
    Bonjour, dans le cadre de mon stage de formation je dois réaliser une application j2ee (même si j'avais déjà fait du java pendant une précédente formation je ne connaissais pas du tout j2ee) bien structurée.

    Je suis parti un petit peu dans tous les sens au début mais maintenant ça se dessine de mieux en mieux mais j'aurais quand même des questions de débutants mais aux quelles j'ai du mal à trouver les réponses :

    Mon appli sera donc en couche (ihm, dal, model, manager et peut être service mais rien de sûr pour ce dernier) mais je ne suis pas sûr de moi quand à la façon de structurer chacune des couches et étant complètement novice en J2ee (et notamment en déployement) je ne sais pas si mes souhaits sont réalisables et comment justement les réaliser. J'étais parti sur ça :

    Un projet maven "parent" qui contient tous les modules,
    Un module EAR (double emploi avec le parent ? Je sais pas trop encore)
    Un module WAR qui serait la couche ihm avec maven sans archetype mais avec le framework spring (donc mvc avec les annotations pour maper les requests au bon controller)
    Un module jar pour la couche persistance. Je ne sais pas vraiment comment la structurer, elle aurait toutes les méthodes d'accès aux données (via JPA et hibernate) ainsi que les fichiers de config pour l'accès aux données
    Un module jar pour la couche model.
    Et pour finir un module jar pour la couche manager qui sera en quelque sorte l'interface entre l'ihm et l'accès à la base de données.

    Voilà donc déjà désolé si je dis des grosses conneries et si c'est le cas n'hésitez pas à m'éclairer la lanterne .

    J'aimerai savoir si je pars dans le mur et si ce que je m'apprête à faire est "relativement" facilement réalisable dans un premier temps.

    Ensuite j'aimerais savoir quelles sont les bonnes pratiques au niveau des couches (et des archetypes maven de chaque couche) ainsi que (et surtout) au niveau de l'arborescence dans chacune des couches.

    J'ai eu beau chercher, j'ai vraiment peiné à trouver des arborescence clair et efficace par couche sachant que sous eclipse, je tiens à ce que chaque couche telle que je les ai délimitées soit un projet séparé des autres mais faisant partie du tout pour le déploiement. Si ce n'est pas une bonne méthode n'hésitez pas à me le dire je suis ouvert à tout, je veux juste un truc professionnel, bien carré, souple et facile à maintenir

  2. #2
    Membre confirmé Avatar de skulled
    Inscrit en
    Décembre 2006
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 120
    Par défaut
    Bonjour,

    Je te rassures tu es sur le bon chemin. Tout dépend de l'importance de ton projet, si c'est un projet qui risque de durer sur le temps avec des évolutions alors en effet l'architecture que tu proposes est bonne.

    Par contre si tu veux un peu plus simplifer la chose :
    Un EAR qui comprendrait :
    un JAR pour la couche persistence (dao), model, service
    un War pour la partie MVC : controller, jsp, css, js.

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 24
    Par défaut
    Hello ! Merci, très content de ta réponse et effectivement le projet sera amené à beaucoup évolué (beaucoup trop pour mon stage d'ailleurs )

    Par contre je suis dans le doute quand même au niveau des couches et du déploiement :

    En fait avec maven j'ai eu l'impression qu'on pouvait éclater ses couches et avoir ses différents jar et war dans le même projet (un build sur un package précis pour en faire un jar par exemple)

    Du coup je suis revenu sur ma volonté de faire des projets séparées en éclatant juste en package mes différentes couches. J'ai finalement qu'un projet maven avec spring, tapestry et hibernate+jpa (qui sent très très fort le tutoriel de ce site ... qui est d'ailleurs responsable de mon revirement concernant les projets) et qui contient toutes mes couches alors que finalement ces couches doivent être indépendantes les unes des autres ... enfin façon de parler, dans la mesure ou le controller de la couche ihm utilise les méthodes de la couche service qui elles utilisent les méthodes de la dao qui elle attaque la base, et toutes utilisent le model donc il y a bien une dépendance mais unidirectionnelle et injective. Le Jar qui concerne la DAO par exemple devra pouvoir être utiliser par un autre et plus par le premier sans avoir à modifier le code (le principe même d'une bibliothèque de classe en fait... ).

    Est ce que je me trompe du coup pour le déploiement par package ? Et aussi, est ce que ça ne va pas poser problème aux niveaux des dependancies inutiles pour certaines couches? (ça serait con que mon jar dao intègre des librairies que seule l'ihm utilisait etc...) .

    Voilà, merci encore

Discussions similaires

  1. Réponses: 5
    Dernier message: 08/06/2009, 23h21
  2. [N-Tier] Architecture 3 tier(spring , ibatis)
    Par blach dans le forum Autres
    Réponses: 1
    Dernier message: 14/02/2009, 00h39
  3. [MySQL] Architecture d'un site multilingue - Bonnes pratiques ?
    Par xtd[web] dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 22/03/2007, 17h13
  4. Réponses: 5
    Dernier message: 12/09/2006, 18h06
  5. [Architecture] n tiers (Spring Hibernate)
    Par tatemilio2 dans le forum Hibernate
    Réponses: 3
    Dernier message: 13/06/2006, 10h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo