Avatar billede simono Nybegynder
14. december 2004 - 23:32 Der er 9 kommentarer og
1 løsning

Hvordan koder man hvis en sessionbean skal returnere et objekt

Hvordan koder man i EJB hvis en sessionbean skal returnere et objekt af en anden klasse?
Skal den anden klasse også være defineret som en bean?
Avatar billede arne_v Ekspert
14. december 2004 - 23:36 #1
Helt normalt.

Klassen skal bare være serializable.
Avatar billede simono Nybegynder
14. december 2004 - 23:49 #2
Hvornår er det hesigtsmæssigt at kalde en bønne og hvornår en normal klasse?

laver du lige et svar....
Avatar billede arne_v Ekspert
14. december 2004 - 23:56 #3
En normal bean er bare en normal klasse (som opfylder visse krav).

En klasse med nogle metoder (sommetider kaldet en POJO) er bare noget
kode som man kalder.

En EJB er en komponent som faktisk består af flere klasser. Den manages
af containeren. Den kan have et remote interface, så den kan tilgåes
ikke bare fra lokal kode men også fra kode på andre maskiner. Den har indbygget
transaktions support.

Der er stor forskel.

Der er ingen grund til at bruge EJB hvis ikke man har behov for dens
features. Men hvis man har behov så er det en stor fordel at bruge noget
færdigt fremfor diverse hjemme strikkede løsninger.
Avatar billede arne_v Ekspert
14. december 2004 - 23:56 #4
svar
Avatar billede simono Nybegynder
15. december 2004 - 00:03 #5
Ja...

Jeg har set på nogle mappings fra UML Components til EJB og jeg har forstået det som om alle klasser, som tilhøre en CoreType, som er indgangen, skal være session/entity-beans.. Du mener at man kun skal lade kernen(core) være en EJB og resten normal klasser?
Avatar billede arne_v Ekspert
15. december 2004 - 08:22 #6
Opdelingen må jo gå på hvad der er noget selvstændigt på komponent niveau.

entity bean = persisteret data objekt

session bean = gruppe af services

En person entity bean og af afdelings entity bean er jo åbenlyst forskellige.

Med session beans er det tit lidt mere en vurderings sag hvormange EJB man vil
have og hvordan metoderne skal grupperes. Men man finder jo ud af noget.

En EJB består af:

din bean implementation
dine op til 4 interfaces
de container genererede op til 4 klasser
for entity beans primær nøgle klasse
evt. DTO klasse
evt. div. utility klasser
Avatar billede simono Nybegynder
15. december 2004 - 11:25 #7
jeg er ikke helt med... Sådan som jeg forstår det er der to metoder til implementering af uml components i ejb. Manager bean, hvor man laver en sessionbean for enhver coretype. Denne har business og systeminterfacet og har tilgang til normal jave klasser. dvs. at en metode defineret i binterfacet som getPersoner kalder en metode i en sesseionBean kaldet f.eks. personMGT, som har en metode der hedder getPersoner. metoden opretter et object af klasse Personer og benytter en getmetode derfra til at returnere personObjekter. Har jeg misforstået denne mapping?

Den anden mapping hedder "hierachical approach". Her defineres ene sessionbean, som ovenstående, men istedet for at benytte normale klasser benytter den enititybeans. korrekt?
Avatar billede arne_v Ekspert
15. december 2004 - 12:01 #8
Øh.

Jeg tror at du bruger nogle begreber som relaterer sig til en bestemt app-server
eller et bestemt UML værktøj eller en bestemt bog.

Det er ikke generelle J2EE termer.
Avatar billede simono Nybegynder
15. december 2004 - 12:41 #9
Metoden/bogen hedder UML Components....
Avatar billede arne_v Ekspert
15. december 2004 - 12:52 #10
Nå - det var en bog titel.

Beklager - men jeg har aldrig hørt om den.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester