# Komponenten zusammenhänge Java EE



## TheTobi (2. Dez 2010)

Hi,

beschäftige mich gerad mit Java EE, ich wüsste gerne wie die Komponenten zusammenhängen. Ich habe eine JSF/JSP Seite die was anzeigt und EntityBeans die als POJOs realisiert sind und auf die DB Mappen. Jetzt weiss ich nicht, was ich dazwischen brauche, also für die fetch operationen der Entities. 

Ist das eine ManagedBean oder eine SessionBean? Die SessionBean stellt ja schon einen EntityManager zur Verfügung, mit dem ich fetche, aber ich kann die SessionBean nicht aufrufen in meiner JSF/JSP Seite.


----------



## maki (2. Dez 2010)

Die SessionBean wird aus der ManagedBean aufgerufen (und nicht direkt aus der JSF/JSP Seite).


----------



## TheTobi (2. Dez 2010)

also im Grunde wenn ich ein Objekt persistent machen will, JSF/JSP --> ManagedBean --> SessionBean --> EntityBean


----------



## maki (2. Dez 2010)

Ja fast:
JSF/JSP --> ManagedBean --> SessionBean --> JPA -> RDBMS 

Je nachdem kann es sein dass die EntityBean schon in der JSF Page bzw. ManagedBean anstatt eines TransferObject genutzt wird.

Wenn du den aktuellen JSF 2 Standard nutzen möchtest solltest du übrigens JSPs vergessen und Facelets nutzen, ich empfehle auch immer dass man sich vor JSF mit Servlets und der Servlet Spec.  auseinandersetzt.


----------



## TheTobi (2. Dez 2010)

ahh es wird immer klarer, habe ich dann für jede JSF Seite eine ManagedBean? (bzw. sollte man das so machen?)
und in der SessionBean habe ich die Methoden um die Objekte persistent zu machen oder?


----------



## maki (2. Dez 2010)

> ahh es wird immer klarer, habe ich dann für jede JSF Seite eine ManagedBean? (bzw. sollte man das so machen?)


Man muss nicht eine ManagedBean pro Seite haben, man kann mehr ahben.
Bin bei JSF nicht mehr auf dem laufenden, kannst aber mal googeln, sollte genug Beispiele und Literatur zum Design und zur Architekur geben, Adam Bien schreibt da zB. einiges.



> und in der SessionBean habe ich die Methoden um die Objekte persistent zu machen oder?


SesionBeans sollten High-Level aufgaben übernehmen, da weniger in "persistieren" denken und mehr in "Artikel hinzufügen" zB.


----------



## TheTobi (2. Dez 2010)

ok danke erstmal


----------



## FArt (6. Dez 2010)

TheTobi hat gesagt.:


> Ich habe eine JSF/JSP Seite die was anzeigt und EntityBeans die als POJOs realisiert sind und auf die DB Mappen. Jetzt weiss ich nicht, was ich dazwischen brauche,



Das dazwischen nennt man Businesslogik. Wie diese technisch realisiert wird, ist dabei eigentlich unerheblich bzw. ist eine Frage, die man nur sinnvoll beantworten kann, wenn man die Anforderungen und noch ein paar Randbedingungen kennt.
In der Regel wird man bei vielen POJOs landen, die man bei Bedarf passend kapselt. Da bereits Entity Beans verwendet werden, erscheinen EJBs durchaus sinnvoll.


----------

