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

Servlets/JSP Java Discussion :

conseil sur le découpage d'une application JEE


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2011
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 26
    Par défaut conseil sur le découpage d'une application JEE
    bonjour à tous

    j'aurais besoin d'avis d'expert sur le découpage d'une application et notamment sur les servlets

    je ne sais pas trop quand créer une nouvelle servlet : une par jsp, une par fonctionnalité, une seule pour toute l'application.
    D'une manière générale je suis confronté à des doutes sur la meilleure façon de structurer mon code et d'organiser mes classes

    J'ai également vu des appli JEE qui allait plus loin que le concept MVC et qui était organisé autour du concept de service/métier/dao (la servlet servant uniquement à récupérer les paramètres et appeler le service correspondant qui lui utilise les bons dao et créer les objets métiers retournés a la servlet )

    que pensez vous de ce type d'organisation?

    j'ai du mal en fait a décider comment organiser mon application

    J'espere que certains d'entres vous pourront m'aider

  2. #2
    Membre chevronné Avatar de ruscov
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mars 2007
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mars 2007
    Messages : 347
    Par défaut
    Je vais te donner la découpe d'une application J2EE classique. Après il y en aura toujours pour dire que tel ou tel est mieux, blablabla... Ce que je te donne ici c'est le découpage que tu rencontreras de manière classique un peu partout.

    JSP <--> Servlet <---> Service <----> Dao <---> Base de données

    Ta servlet est la couche qui va préparer la vue ou intercepter les requêtes de la vue. Il n'y a pas de règles en soit sur la fragmentation mais il est d'usage qu'une servlet puisse intercepter et renvoyer plusieurs requêtes qui tournent autour d'un module de ton application. Typiquement le CRUD (Create-Read-Update-Delete).

    Ta couche service est l'endroit où tu vas écrire ton business. Elle doit être complètement indépendante de ta vue! Si jamais tu as des calculs à faire, c'est ici que ca se passe.

    Ta couche Dao est la partie qui gère l'accès à la base de données. C'set ici que tu fais tes requêtes et tout ce qui touche à l'accès base de données. Pas de business ici!!

    Voilà les bases d'une appli web Java

  3. #3
    Membre averti
    Inscrit en
    Février 2011
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 26
    Par défaut
    Merci pour ta réponse
    ta règle pour les servlets (une servlet pour un module) est surement le meilleur compromis

    Par contre dans ton découpage il n' y a pas de couche métier? (les objets de l'application)
    entre le service et le Dao?

  4. #4
    Membre chevronné Avatar de ruscov
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mars 2007
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mars 2007
    Messages : 347
    Par défaut
    pardon, j'ai oublié, tu dois avoir un package model qui contient tous tes POJO(qui ne sont finalement qu'une représentation des tables de ta DB).

    Ces entités seront transportées de couche en couche via les retour de tes méthodes. Exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    class MyService
     
    private MyPojoDao myPojoDao;
     
    public MyPojo findById(Long id){
       return myPojoDao.findById(id);
    }
    Cette méthode sera appellée par ton servlet. Et au niveau du Dao, tu fais ta requêtes SQL et tu remplis ton POJO que tu renvoie au retour de méthode.

    Ici j'ai pris volontairement un cas basique. Tu verras dans la pratique que ce genre de cas peut se traiter avec des génériques afin d'éviter de réécrire le même code pour chaque POJO.

  5. #5
    Membre averti
    Inscrit en
    Février 2011
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 26
    Par défaut
    Merci beaucoup
    c'est déjà plus clair
    après il faut se lancer dans la pratique pour que ça devienne plus concret

  6. #6
    Membre chevronné Avatar de ruscov
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mars 2007
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mars 2007
    Messages : 347
    Par défaut
    Tout dépend de la technologie que tu vas utiliser.

    Moi je suis partisan du couplage Spring MVC (ou Struts 2) / Spring / Hibernate.

    Si tu cherche dans Google des tutos avec ces frameworks, tu verras plein d'exemple complet qui implémente le découpage que je t'ai décris.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 19/12/2014, 07h57
  2. Utilisation du mot de passe de session Windows sur une application JEE
    Par Taigong62 dans le forum Développement Web en Java
    Réponses: 8
    Dernier message: 07/01/2014, 19h33
  3. [Selenium] Tests sur une application JEE
    Par geforce dans le forum Tests et Performance
    Réponses: 1
    Dernier message: 04/07/2011, 09h51
  4. [MVC] Erreur lors intégration Spring MVC sur une application JEE
    Par khaigo dans le forum Spring Web
    Réponses: 0
    Dernier message: 26/06/2011, 18h04
  5. cliquer sur un bouton d'une application extérieure
    Par looc 6699 dans le forum API, COM et SDKs
    Réponses: 7
    Dernier message: 12/12/2005, 17h46

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