Sie befinden sich hier: Home » Wissenstransfer » Java » EJB 3.0

EJB 3 Tutorials

Die Seite fasst die Neuerungen der Spezifikation zu EJB3 (JSR 220) zusammen und verweist auf Seiten, die sich mit Entity-Beans, Session Beans und Message Driven Beans auseinandersetzen.

Zusammenfassung

  • Metadaten werden durch Annotationen beschrieben.
  • Deployment-Deskriptoren sind nicht nötig, können aber ebenfalls Metadaten beschreiben, wenn Annotationen nicht gewünscht sind. Das ist insbesondere praktisch bei den Mapping-Informationen der Entity-Beans, die somit nicht zwingend im Quellcode stehen müssen.
  • Viele vordefinierte Einstellungen und nur die Ausnahmen von den Regeln werden spezifiziert.
  • Home-Interfaces sind nicht mehr nötig, eine Session-Bean hat nur ein Business-Interface. Entity-Beans sind remote nicht zugänglich, daher ist kein Component- und Home-Interface nötig.
  • Keine Bean muss eine javax.ejb-Schnittstelle wie EntityBean, SessionBean, MessageDrivenBean implementieren und Callback-Methoden anbieten, die vielleicht sowieso nicht aufgerufen werden. (Etwa bei Stateless-SessionBeans die Methoden für Passivierung/Aktivierung.)
  • Falls es zum Beispiel eine remove-Methode geben muss, wird diese annotiert. Für eine Methode wie setSessionContext() wird Setter-Injection genutzt. Somit funktionieren die Aufrufe auch ohne Callback-Methoden über ein Interface.
  • Keine Klasse implementiert (und Schnittstelle erweitert) die Markierungssschnitstelle Remote.
  • Exceptions müssen nicht mehr deklariert werden. (Ein Ärgernis mit dem Business-Interfaces für den lokalen und remote Fall).
  • EJB 3 Entity-Beans sind ›Plain Old Java Objects‹ (POJOs) und nicht mehr abstrakt. Die Objekte sind viel leichter zu testen und ein First-Test-Ansatz ist damit viel leichter.
  • Es lassen sich Entity-Beans objektorientiert modellieren, denn Vererbung ist möglich.
  • EJB-QL wird mit Projektion, Inner und Outer Join, Bulk-Updates, Bulk-Deletes, Sub-Queries und GROUP BY vervollständigt.

Spezifikation (Final seit Mai 2006)

EJB allgemein

JPA im Speziellen, JPA-Tutorials

EJB 3 und WebServices im Speziellen

Diskussionen

Weitere Linkssammlungen

Implementierungen

Einige Server (wenn ich IBM sage, weiß jeder Bescheid), brauchen bei der Umsetzung etwas länger. Hier die Zahlen aus einem Beitrag "App Server Powers Race To Embed Java EE 5 Support. Sun and BEA get in early, JBoss not far behind, IBM lags" (Dr. Dobbs, Oktober 2006).