Toon posts:

[JAVA] Client, Sessionbean en entitybean

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik doe wat onderzoek naar Component Based Development. Nou heb ik een applicatie met een clien, sessionbean en entitybean.

- Wat zijn de functies van deze drie onderdelen?

- Wat zijn de voordelen om een session bean tussen de client en de entitybean te plaatsen?

Verwijderd

EntityBeans stellen gegevens voor in een bepaalde context. Bijvoorbeeld voor een auto zou je een AutoBean met de volgende gegevens kunnen hebben:

serienummer:Integer
kleur:String
brandstof:String
zetels:Integer
deuren:Integer

Een SessionBean daarentegen stelt workflow voor. Als je allerhande taken moet uitvoeren om tot een specifiek resultaat te komen dan zou je die in een SessionBean kunnen steken. Eigenlijk is het niet zo verschillend van een nieuwe klasse schrijven die dat voor je doet enkel dat de SessionBean dan op een applicatieserver zit.

De client tja dat is je programma dat door de gebruiker uitgevoerd wordt en voor sommige taken gebruikt maakt van die beans.

Wat betreft het gebruiken van EntityBeans via een SessionBean dat hangt een beetje van de situatie af. Ik las in een boek over EJB een keer een mooie omschrijving: EntityBeans zijn de acteurs van een toneelstuk en de SessionBean is de regisseur.
Dat wil zeggen dat de SessionBean bepaalt in welke volgorde en op welke manier EntityBeans iets moeten doen. Een SessionBean hoeft natuurlijk geen gebruik te maken van EntityBeans.

Tot slot heeft het niet altijd zin om een EntityBean via een SessionBean aan te spreken. Als je enkel 1 entitybean instantie wil aanspreken en daar wat gegevens van wijzigingen of gewoon een nieuwe maken dan kan je net zo goed rechtstreeks de entitybean aanspreken.
Als je echter verschillende entitybeans moet aanspreken om tot een resultaat te komen is het qua netwerktrafiek waarschijnlijk handiger om al die code daarvoor in een sessionbean te plaatsen aangezien die vaak de entitybeans lokaal kan aanspreken. (aangezien ze in dezelfde JVM zitten)