Java Reference
In-Depth Information
1312 Bewertung
EJBs sind in vieler Hinsicht vergleichbar mit Servlets. Beide Technologien hängen auch eng
zusammen: Beide sind Teil von Java EE. Typische Java-EE-Server enthalten sowohl einen
Servlet- als auch einen EJB-Container. Auß erdem können in einem Enterprise Application
Project Servlet- und EJB-Teilkomponenten zu einer Komponente zusammengefasst werden.
Wir gelangen für EJBs auch weitgehend zur selben Einschätzung bezüglich der Erfüllung
der Eigenscha en E1 bis E4 aus Kapitel 7 wie für Servlets:
! Zu E1: Eine Komponente kann sowohl eine reine EJB-Komponente (in Form einer EJB-Jar-
Datei) oder ein „Enterprise Application Project“ (in Form einer Ear-Datei) sein. Für beide
Arten gibt es klare Vorgaben. Die Einstiegsklassen sind die Bean-Klassen, von denen es
beliebig viele pro Komponente geben kann. Sie sind durch Annotationen als solche
gekennzeichnet und brauchen entsprechende Schnittstellen.
! Zu E2: Der Kopplungsmechanismus für EJBs erfolgt über den Namensdienst. Er kann wie
in einem gewöhnlichen Client ausprogrammiert werden oder durch Dependency Injec-
tion vom Framework (d. h. vom EJB-Container) unterstützt werden. Bei der Kopplung von
Teilkomponenten innerhalb einer Ear-Komponente hat man die Möglichkeit, die Beans
auch über @Local-Schnittstellen zu koppeln.
! Zu E3: Objekte der Bean-Einstiegsklassen werden vom EJB-Conainer, also vom Frame-
work und nicht von den Anwendungen selbst erzeugt. Für alle Bean-Arten sind Lebens-
zyklen defi niert, auf die im Buch nicht eingegangen wurde. Diese Lebenszyklen sind für
Stateless und Singleton Beans sehr einfach. Für Stateful Beans haben sie etwas mehr
Zustände wegen der möglichen De- und Reaktivierung dieser Sorte von Beans. Der EJB-
Container bietet eine ganze Reihe von Dienstleistungen an, die weitgehend ohne Zutun
der So ware-Entwicklerinnen erbracht werden. In speziellen Fällen kann man auch
explizit aus einem Bean heraus auf die Dienste des Frameworks zugreifen, indem man
Methoden auf einem SessionContext aufru . Den Zugriff auf einen SessionContext erhält
man über Dependency Injection. Da der SessioContext für einfache Beans in der Regel
nicht gebraucht wird, wurde er im Buch nicht behandelt.
! Zu E4: Explizite Angaben über das Angebot und den Bedarf sind bei EJBs eher schwach
ausgeprägt.
Auch EJBs erfüllen genügend viele der Kriterien, damit diese Technologie nach den Vorga-
ben dieses Buchs als Komponentensystem gelten kann.
 
Search WWH ::




Custom Search