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

Java EE Discussion :

Correspondance avec Base de Données [EJB]


Sujet :

Java EE

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 142
    Points : 61
    Points
    61
    Par défaut Correspondance avec Base de Données
    bonjour,

    j'ai une petite question concernant les diagrammes de classes.
    Je suis en train de modéliser en UML une base de données qui à donc un diagramme de classe. Cette BDD contiendra les infos de mon système.

    Et j'ai un système que je veux développer en JAVA qui a aussi un diagramme de classe.

    J'ai construit le diagramme de classe du système de façon identique au diagramme de classe de ma BDD. sauf que mon diagramme de classe du sytème contient des méthodes en plus.

    Je voudrais savoir si mon raisonnement est le bon?

    Quelqu'un pourrait-il me donner son avis?

    Merci

  2. #2
    Membre averti
    Inscrit en
    Août 2005
    Messages
    352
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 352
    Points : 427
    Points
    427
    Par défaut
    Si tu veux un modèle objet avec des EJB prépare toi à avoir de grosses désillusions.
    Tu souhaites vraiment utiliser des EJB ? Tu as des contraintes les imposant ? Tu veux faire ta correspondance avec des EJB Entity ? (évite ca de suite)
    Si tu as une correspondance entre tes modèles objet et relationnels et que tu souhaites tirer profiter d'un vrai Domain Model, tourne toi vers des solutions ORM du type Toplink, Hibernate, ou JDO.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 142
    Points : 61
    Points
    61
    Par défaut
    Ah bon? pourquoi éviter les EJB?
    Qu'est ce qui ne va pas avec eux?

    En fait je développe un site web avec JSP, java et je voudrais séparer mes classes métiers de la présentation, donc les EJB me paraissaient être la bonne solution.

    et donc lorsque j'ai modéliser mon système et ma BDD je me suis apperçue que j'avais sensiblement les mêmes diagrammes.
    d'ou ma question de plus haut, ai-je fais un bon raisonnement?

    merci

  4. #4
    Membre averti
    Inscrit en
    Août 2005
    Messages
    352
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 352
    Points : 427
    Points
    427
    Par défaut
    Notamment parceque les EJB se sont révélés être de vrai catastrophes en pratique :
    - développement pénible
    - testabilité
    - cycle de développement long
    - performances (parceque souvent mal utilisés)

    Les EJB Entity sont pires que tout. Ils ne peuvent pas être utilisés pour décrire de VRAI Domain Model. Pas d'héritage, performances horribles en BMP sur les relations (problème n+1) et langage de requete limité pour CMP,... Tu trouveras plein de débats à ce sujet sur le net.

    Si tu t'es contenté de lire la doc de Sun, effectivement, tu peux faire la confusion entre EJB et J2EE. Ce n'est heureusement pas vrai.
    J2EE != EJB

    Si tu souhaites vraiment utiliser les EJB, contente toi de travailler avec des EJB Session stateless et des Message Driven Bean.
    Si tu veux faire la correspondance entre des objets (Domain Model) et ta base de données, la solution a un nom : ORM. Les outils pour cette solution sont Toplink, Hibernate ou JDO. Les EJB Entity ne sont pas une véritable solution ORM. Si tu ne penses pas te lancer dans cette solution ORM, tu peux toujours faire la correpondance en utilisant JDBC.
    Quelque soit ton choix, définit une interface de DAO indépendante de la techno et écrit une implémentation qui utilisera la techno de ton choix.

    PS : mes commentaires se font sur les versions des EJB allant jusqu'à 2.x

  5. #5
    ego
    ego est déconnecté
    Rédacteur

    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    1 883
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Hauts de Seine (Île de France)

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

    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 883
    Points : 3 510
    Points
    3 510
    Billets dans le blog
    2
    Par défaut
    En résumé :
    - conserve tes classes Java "toutes simples" = des POJO (Plain Old Java Objects)
    - utilise un framework comme Hibernate
    - regardes le framework SPRING
    - N'utilises les EJB que pour faire des Services distribués (EJB Session)

  6. #6
    Membre averti
    Inscrit en
    Août 2005
    Messages
    352
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 352
    Points : 427
    Points
    427
    Par défaut
    Je suis d'accord avec ego.
    Quoique, Spring permet aussi la distribution d'objet avec différentes technos (RMI, JAX-RPC, ...).
    Spring est fourni avec un certains nombre d'exemples qui te montreront que J2EE sans EJB c'est possible (et préférable).
    Tu peux également télécharger les exemples du dernier livre (Professional Java Development with the Spring Framework) sur le sujet sur le site de Wrox.

  7. #7
    ndp
    ndp est déconnecté
    Membre actif Avatar de ndp
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 227
    Points : 255
    Points
    255
    Par défaut
    salut,

    Citation Envoyé par Lady_jade
    J'ai construit le diagramme de classe du système de façon identique au diagramme de classe de ma BDD. sauf que mon diagramme de classe du sytème contient des méthodes en plus.
    tu veux modeliser deux choses differentes: ton systeme d'un cote, et le schema de ta base de l'autre. Tu retrouvera surement des points communs (nom de table et nom de classe), mais je le repete, tu modelises deux choses differentes. Le mapping entre "objet" et "relation", n'est pas evident, et je rejoins les autres, sur leurs conseils.

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

Discussions similaires

  1. Application delphi avec base de données multi-utilisateur
    Par richard038 dans le forum Bases de données
    Réponses: 2
    Dernier message: 04/11/2005, 09h11
  2. optimisation requetes avec base de données
    Par flogreg dans le forum Décisions SGBD
    Réponses: 9
    Dernier message: 05/07/2005, 14h54
  3. InstallShield avec base de données
    Par duga dans le forum C++Builder
    Réponses: 8
    Dernier message: 18/03/2005, 15h44
  4. CD ROm avec base de données
    Par marcoco dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 10/02/2005, 14h16
  5. requête SQL avec paramètre en vb avec base de donnée SQL srv
    Par dialydany dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 01/02/2005, 10h33

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