Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
5213 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Conception d'EJB

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

Conception d'EJB

n°222151
_Mac_
Posté le 01-10-2002 à 09:55:29  profilanswer
 

Question d'un newbie en la subtile matière que sont les EJB.
 
J'ai fait un modèle de données relationnel pour représenter un arbre quelconque. Maintenant, j'aimerais faire des EJB pour gérer cet arbre (création de noeuds, suppression de noeuds, parcours, etc.). J'hésite entre faire un EJB entité qui représente mon arbre en entier et qui possède toutes les mèthodes qui m'intéressent (parcours, création de noeuds, etc.) ou faire plusieurs EJB entités représentant des noeuds et des chemins et qui seraient gérés par un EJB session.
 
Quelle est votre opinion là-dessus ?
 
Il faut savoir par ailleurs que l'arbre en question est le même pour tout le monde, il n'y aura que 2 ou 3 utilisateurs autorisés à le maintenir (je dis ça par rapport à une éventuelle problématique de cache).

mood
Publicité
Posté le 01-10-2002 à 09:55:29  profilanswer
 

n°222167
darklord
You're welcome
Posté le 01-10-2002 à 11:06:13  profilanswer
 

bin normallement tu dois faire ca en Objet avant tout. Donc si tu as un arbre composé de noeud, tu peux faire une EJB noeud et utiliser l'OO pour construire ton arbre (par spécialisation et composition).
 
Pour ton session bean, ca n'a rien à voir. Tout dépend des fonctionnaités que tu fournis à tes users. Tu peux faire un session façade mais ca dépend si tu as une notion de session ou non.


---------------
Just because you feel good does not make you right
n°222180
_Mac_
Posté le 01-10-2002 à 11:24:14  profilanswer
 

C'est quoi "l'OO" ? Mon idée, c'était effectivement construire des objets simples du style "noeud", "chemin", etc. et les fédérer (i.e. gérer leur instanciation) dans un EJB entité appelé "Arbre". Est-ce valable ?
 
Sinon, ma question c'était aussi pour savoir si qq'1 voyait l'intérêt d'un EJB session, car a priori, je ne vois pas l'intérêt d'en avoir un : je ne pense pas qu'il y ait de session, sauf peut-être pour les utilisateurs qui vont gérer l'arbre (pour les autres utilisateurs, il n'y aura que la "lecture" de l'arbre dans son état actuel).

n°222181
_guigui_
Posté le 01-10-2002 à 11:24:56  profilanswer
 

chuis d'accord avec DarkLord, quel intéret d'utiliser des Entity Beans si tu as concu un modèle de données relationnel et non objet? :??:  
l'utilité des Entity Beans, c'est justement de te libérer de la conception relationnelle (surtout avec les CMP).
 
sinon si tu veux vraiment utiliser des Entity Beans, il est fortement conseillé d'appliquer le design pattern Session Facade, pour éliminer les gros problèmes de performances liés à l'utilisation des Entity Beans (surtout 1.1), sauf si ton modèle objet est trés simple (genre moins de 5 classes et pas trop de relations)
 :jap:

n°222184
benou
Posté le 01-10-2002 à 11:26:14  profilanswer
 

OO = Orienté Objet
 
l'intérêt d'avoir un EJB Session ?  ben pouvoir gérer cet objet en session quoi ... soit tu en as besoin, soit c'est pas le cas ...

n°222185
darklord
You're welcome
Posté le 01-10-2002 à 11:26:48  profilanswer
 

:jap:


---------------
Just because you feel good does not make you right
n°222186
benou
Posté le 01-10-2002 à 11:26:53  profilanswer
 

_guigui_ a écrit a écrit :

 
sinon si tu veux vraiment utiliser des Entity Beans, il est fortement conseillé d'appliquer le design pattern Session Facade, pour éliminer les gros problèmes de performances liés à l'utilisation des Entity Beans (surtout 1.1), sauf si ton modèle objet est trés simple (genre moins de 5 classes et pas trop de relations)
 :jap:  




 
quel rapport avec les perfs ?

n°222187
darklord
You're welcome
Posté le 01-10-2002 à 11:27:11  profilanswer
 

benou a écrit a écrit :

 
 
quel rapport avec les perfs ?




 
les EJB en CMP c'est mega lourd !


---------------
Just because you feel good does not make you right
n°222189
benou
Posté le 01-10-2002 à 11:27:35  profilanswer
 

en quoi une facade va régler le problème ?

n°222195
_Mac_
Posté le 01-10-2002 à 11:33:47  profilanswer
 

Désolé de vous interrompre, mais là, ça va un peu trop loin par rapport à ce que je connais des EJB.
 
Pour moi, un des buts des EJB entité est de "mapper" un modèle relationnel sur une conception objet. Dans mon modèle, j'ai une table centrale qui s'appelle "noeuds" et qui boucle sur elle-même pour représenter la notion de parent. A côté de ça, j'ai une autre table ("fils" ) qui me permet de représenter la notion de fils ; ça doit me servir à parcourir l'arbre dans le sens descendant.
 
Vous êtes d'accord avec ça, ou pas ?

mood
Publicité
Posté le 01-10-2002 à 11:33:47  profilanswer
 

n°222196
_guigui_
Posté le 01-10-2002 à 11:33:56  profilanswer
 

alors les pbs de perf (je parle pas du développement bien chiant)des Entity Beans:
on a un modèle distribué, c'est à dire que pour appeler une méthode de ton Entity Bean, ca passe par RMI, donc tu as des appels de JVM à JVM, voir à travers le réseau
bon tu me diras c'est pareil avec les Session Beans...
oui MAIS dans tes Entity Beans on a ce qu'on appelle une "granularité fine", tu as des getters et des setters sur les attributs de l'objet métier, alors que tu n'as que des méthodes dans le session bean...
autrement dit, avec l'entity bean, à chaque fois que tu veux récupérer un attribut, BLAM :gun: appels RMI de partout d'où baisse énorme des perfs! :sweat:  
alors qu'avec un session bean devant, tu fais getEntityBean, et hop tu récupère tout d'un coup :sol:  
 
bon c'est ce que j'ai compris du facade pattern, en gros c'est ca :jap:
 
EDIT: oups désolé pour le squattage de topic ;)


Message édité par _guigui_ le 01-10-2002 à 11:35:25
n°222200
_guigui_
Posté le 01-10-2002 à 11:37:34  profilanswer
 

_Mac_ a écrit a écrit :

Désolé de vous interrompre, mais là, ça va un peu trop loin par rapport à ce que je connais des EJB.
 
Pour moi, un des buts des EJB entité est de "mapper" un modèle relationnel sur une conception objet. Dans mon modèle, j'ai une table centrale qui s'appelle "noeuds" et qui boucle sur elle-même pour représenter la notion de parent. A côté de ça, j'ai une autre table ("fils" ) qui me permet de représenter la notion de fils ; ça doit me servir à parcourir l'arbre dans le sens descendant.
 
Vous êtes d'accord avec ça, ou pas ?




ben c'est plutot le contraire, tu fais une conception objet, parce que c'est quand même ca qu'on est censé faire quand on fait du java hein ;)  
dans ton cas, tu fais un objet "noeud", un objet "fils", et aprés ben tu fais tes méthodes comme tu veux pour parcourir ton arbre.
si tu fais des Entity Beans CMP, tu n'auras même pas besoin de t'occuper tu mapping objet/relationnel, c'est automatique.

n°222202
benou
Posté le 01-10-2002 à 11:38:12  profilanswer
 

guigui -> ok.
 
mais on est d'accord, ce n'est utile que si les objets facade ne sont pas qu'un simple "raccourcis" vers les methodes des entity, sinon ca sert a rien : il faut qu'il 'factorise' plusieurs traitement consécutifs sur l'entity (ces traitements seront réalisés en local => plus rapidement)

n°222203
darklord
You're welcome
Posté le 01-10-2002 à 11:38:57  profilanswer
 

_guigui_ a écrit a écrit :

bon c'est ce que j'ai compris du facade pattern, en gros c'est ca :jap:




 
c'est un peu réducteur mais pour les perfs l'idée est là :)


---------------
Just because you feel good does not make you right
n°222207
_guigui_
Posté le 01-10-2002 à 11:43:38  profilanswer
 

DarkLord a écrit a écrit :

 
 
c'est un peu réducteur mais pour les perfs l'idée est là :)




à quel niveau c'est réducteur? si tu veux développer ca m'intéresse :)
l'autre pb des Entity Beans, c'est évidemment le temps de développement, avec 3 classes par objet (4 avec la classe key), plus les descripteurs XML, plus le session bean si tu fais ca bien, c'est  HORRIBLEMENT lourd... :fou:

n°222208
_guigui_
Posté le 01-10-2002 à 11:44:46  profilanswer
 

benou a écrit a écrit :

guigui -> ok.
 
mais on est d'accord, ce n'est utile que si les objets facade ne sont pas qu'un simple "raccourcis" vers les methodes des entity, sinon ca sert a rien : il faut qu'il 'factorise' plusieurs traitement consécutifs sur l'entity (ces traitements seront réalisés en local => plus rapidement)




vi vi  :jap:

n°222212
_Mac_
Posté le 01-10-2002 à 12:01:00  profilanswer
 

Conclusion, je fais quoi ????  :cry:

n°222216
darklord
You're welcome
Posté le 01-10-2002 à 12:14:31  profilanswer
 

_guigui_ a écrit a écrit :

 
à quel niveau c'est réducteur? si tu veux développer ca m'intéresse :)
l'autre pb des Entity Beans, c'est évidemment le temps de développement, avec 3 classes par objet (4 avec la classe key), plus les descripteurs XML, plus le session bean si tu fais ca bien, c'est  HORRIBLEMENT lourd... :fou:  




 
je peux mais pas tout de suite ;)


---------------
Just because you feel good does not make you right
n°222224
_guigui_
Posté le 01-10-2002 à 12:32:07  profilanswer
 

DarkLord a écrit a écrit :

 
 
je peux mais pas tout de suite ;)




je te le rappelerai tu vas pas te défiler comme ca :D

n°222278
_Mac_
Posté le 01-10-2002 à 14:09:55  profilanswer
 

C'est quoi, alors, vos idées sur la façon d'utiliser les EJB ???

n°222322
benou
Posté le 01-10-2002 à 15:12:43  profilanswer
 

_Mac_ a écrit a écrit :

C'est quoi, alors, vos idées sur la façon d'utiliser les EJB ???




mon idée à moi c'est de les utiliser uniquement si c'est VRAIMENT nécessaire ...
je trouve ca super lourd et contraignant.  
 
Maintenant, y a beaucoup de projet pour lequel les EJB sont très utiles, mais le choix EJB-pas EJB ne doit pas être fait à la légère : y a une bonne marge de JH entre les 2 !

n°222330
_Mac_
Posté le 01-10-2002 à 15:28:30  profilanswer
 

benou a écrit a écrit :

 
mon idée à moi c'est de les utiliser uniquement si c'est VRAIMENT nécessaire ...
je trouve ca super lourd et contraignant.  
 
Maintenant, y a beaucoup de projet pour lequel les EJB sont très utiles, mais le choix EJB-pas EJB ne doit pas être fait à la légère : y a une bonne marge de JH entre les 2 !  




 
A mon avis, dans un contexte full J2EE et pour ce que je veux faire, c'est tout vu : c'est EJB, et rien d'autre...

n°222332
darklord
You're welcome
Posté le 01-10-2002 à 15:32:37  profilanswer
 

_Mac_ a écrit a écrit :

 
 
A mon avis, dans un contexte full J2EE et pour ce que je veux faire, c'est tout vu : c'est EJB, et rien d'autre...




 
pas d'accord. C'est vraiment trop lent. Le seul truc de vraiment valable au niveau EJB c'est les asynchronous message bean dans EJB 2.0
 
Pour le reste ...


---------------
Just because you feel good does not make you right
n°222334
_Mac_
Posté le 01-10-2002 à 15:34:48  profilanswer
 

Vous feriez quoi, alors ? Un truc tout con qui fait un lookup sur le data source de la base de données, et c'est tout ?

n°222338
_guigui_
Posté le 01-10-2002 à 15:41:04  profilanswer
 

_Mac_ a écrit a écrit :

 
 
A mon avis, dans un contexte full J2EE et pour ce que je veux faire, c'est tout vu : c'est EJB, et rien d'autre...




nan :non:  
pour ce que tu veux faire, l'idéal, c'est JDO (Java Data Objects).
Je vais pas tarder à mettre mon rapport de stage en Francais en ligne (5 mois de stage JDO :D ), mais en attendant si l'anglais te rebute pas, www.jdocentral.com www.libelis.com
 :sol:
 
EDIT: t'as le droit de te faire tes objets et le mapping objet relationnel à la mimine avec JDBC, t'es pas obligé d'utiliser les EJB ou JDO (sauf si tu veux la gestion des transactions, les notions de sécurité qu'apportent les EJB)


Message édité par _guigui_ le 01-10-2002 à 15:42:52
n°222342
benou
Posté le 01-10-2002 à 15:44:03  profilanswer
 

_guigui_ a écrit a écrit :

 
nan :non:  
pour ce que tu veux faire, l'idéal, c'est JDO (Java Data Objects).
Je vais pas tarder à mettre mon rapport de stage en Francais en ligne (5 mois de stage JDO :D )




je peux te dire que je suis vachement impatient de le lire !!!!!!!  :jap:

n°222357
_guigui_
Posté le 01-10-2002 à 16:01:10  profilanswer
 

j'ai juste quelques paragraphes à virer, genre la présentation de l'entreprise, les remerciements, les logos de la boite etc etc...
faut que je fasse ca un de ces soirs j'ai la flemme... :(

n°222406
benou
Posté le 01-10-2002 à 16:46:26  profilanswer
 

_guigui_ a écrit a écrit :

j'ai juste quelques paragraphes à virer, genre la présentation de l'entreprise, les remerciements, les logos de la boite etc etc...
faut que je fasse ca un de ces soirs j'ai la flemme... :(  




dit toi que tu as déjà un lecteur d'assuré !!!  :)

n°222411
kadreg
profil: Utilisateur
Posté le 01-10-2002 à 16:55:58  profilanswer
 

benou a écrit a écrit :

 
dit toi que tu as déjà un lecteur d'assuré !!!  :)  




 
 :non: 2


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°222431
_Mac_
Posté le 01-10-2002 à 17:24:04  profilanswer
 

_guigui_ a écrit a écrit :

 
nan :non:  
pour ce que tu veux faire, l'idéal, c'est JDO (Java Data Objects).
Je vais pas tarder à mettre mon rapport de stage en Francais en ligne (5 mois de stage JDO :D ), mais en attendant si l'anglais te rebute pas, www.jdocentral.com www.libelis.com
 :sol:
 
EDIT: t'as le droit de te faire tes objets et le mapping objet relationnel à la mimine avec JDBC, t'es pas obligé d'utiliser les EJB ou JDO (sauf si tu veux la gestion des transactions, les notions de sécurité qu'apportent les EJB)




 
 :jap:  :jap:  :jap:  :jap:  :jap:  :jap:  :jap:  :jap:  :jap:  :jap:  :jap:  :jap:  :jap:  :jap:  :jap:  :jap:

n°222693
darklord
You're welcome
Posté le 02-10-2002 à 12:36:21  profilanswer
 

_guigui_ a écrit a écrit :

j'ai juste quelques paragraphes à virer, genre la présentation de l'entreprise, les remerciements, les logos de la boite etc etc...
faut que je fasse ca un de ces soirs j'ai la flemme... :(  




 
ca m'intéresse aussi !


---------------
Just because you feel good does not make you right
n°222822
BifaceMcLe​OD
The HighGlandeur
Posté le 02-10-2002 à 17:37:07  profilanswer
 

:sarcastic: Dire que depuis des années, ce genre de choses se fait tout seul par les SGBDOO...

n°222827
--greg--
Posté le 02-10-2002 à 17:43:59  profilanswer
 

BifaceMcLeOD a écrit a écrit :

 :sarcastic: Dire que depuis des années, ce genre de choses se fait tout seul par les SGBDOO...




j'attend tjs d'en voir un qui me convainc...
de plus tu peux difficelement intégrer ça dans un système existant...


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°222859
BifaceMcLe​OD
The HighGlandeur
Posté le 02-10-2002 à 18:30:47  profilanswer
 

Ben si, justement, c'est une des facilités de tout système objet... Donc des SGBDO en particulier (attention, je parle de vrais SGBD, avec gestion des transactions, intégrité référentielle, etc...)
 
Te convaincre de quoi ? Que c'est viable ?

n°222860
--greg--
Posté le 02-10-2002 à 18:32:29  profilanswer
 

commode à utiliser


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°222862
BifaceMcLe​OD
The HighGlandeur
Posté le 02-10-2002 à 18:40:26  profilanswer
 

Je t'en donne une idée en Java :

Code :
  1. import java.util.Collection;
  2. import java.util.Iterator;
  3. class Person {
  4.    String nom, prenom;
  5.    Date   naissance;
  6.    public Person(String nom, String prenom, Date naissance) {
  7.       ...
  8.    }
  9.    public int age() {
  10.       ...
  11.    }
  12. }
  13. ...
  14. Database    database = Database.openSession("..." );
  15. Transaction transaction   = database.getTransaction();
  16. Collection  mySetOfPerson = database.getRoot("People" );
  17. Person      person = new Person("Doe", "John", new Date(1969, 7, 23));
  18. transaction.start();
  19. mySetOfPerson.add(person);
  20. // L'objet "John Doe" devient automatiquement persistant.
  21. transaction.commit();
  22. Query   query = new Query("select p.nom, p.prenom, p.age from People p where p.nom=\"Doe\"" );
  23. // On aurait pu appeler Query.execute() qui aurait renvoyé une  
  24. // instance de java.util.Collection
  25. Iterator  result = query.iterate();
  26. ...
  27. database.close();


Message édité par BifaceMcLeOD le 02-10-2002 à 18:42:41
n°222864
benou
Posté le 02-10-2002 à 18:43:19  profilanswer
 

ha .... les sgbdoo ... ca me rapelle mes études ! :)
 
c'est de quel sgbdoo dont tu te sers ?

n°222868
BifaceMcLe​OD
The HighGlandeur
Posté le 02-10-2002 à 18:46:46  profilanswer
 

J'ai arrêté d'utiliser. J'utilisais O2. Mais le code ci-dessus est valable pour la plupart des SGBDO du marché.

n°222873
benou
Posté le 02-10-2002 à 19:03:12  profilanswer
 

je me trompe pas ? elle a fermé la boite qui éditait O2 ?

n°222895
--greg--
Posté le 02-10-2002 à 19:47:37  profilanswer
 

ouais
euh
ok
(select blablablabla->ben j'esperais plus avoir ça moi :o)


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Conception d'EJB

 

Sujets relatifs
[W3C] Qq precision pr conception tableau[mySql] conception et performances
Conception : passage d'événement[EJB] compilation
cast, conception, compliqué à résumer, venz donc lire ! :DConception de table le choix le plus judicieux!!
Conception, dessiner (oui, c vague, ms le sujet est dur à résumer)Javabean et EJB
[EJB]Connexion JDBCconception objet, ça vous choque ça !?
Plus de sujets relatifs à : Conception d'EJB


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)