EJB (Enterprise Java Beans)

Was ist EJB?

Einfach ausgedr├╝ckt sind EJB (Enterprise Java Beans) Java Beans, die in einer Enterprise-Umgebung funktionieren. Eine Java Bean ist ein Pojo (Plan Old Java Object), das gem├Ą├č den Normen der Java Bean Spezifikation entwickelt wurde. Eine EJB-Klasse wird durch den Java Specification Request (JSR) 345 definiert und eingesetzt, um in einem Enterprise Framework (Unternehmensframework) zu arbeiten. Obwohl die Implementierung von EJB in einer Enterprise Umgebung aufgrund der Vielfalt der auf den unteren Ebenen der Umsetzung eingesetzten Technologien sehr komplex ist, ist die Grundidee recht einfach. Da EJB mit dem Paradigma der Unternehmensentwicklung (Enterprise Development) verbunden ist, ist es jedoch sehr wichtig, die Komplexit├Ąt der Java Enterprise Umgebung (JEE) und die Rolle, die EJB dabei spielt, zu verstehen.

Arten von EJB (Enterprise Java Beans)

Die Entwicklung und Unterst├╝tzung von EJB wird vom Java Community Process (JCP) als Java Specification Request (JSR) verwaltet. Die aktuelle Release-Version EJB 3.2 ist durch JSR 345 definiert. Vor EJB 3.0 waren persistente Komponenten Teil des EJB-Modells. Sp├Ąter entstand JPA (Java Persistence API) als separate Komponente, die von einem eigenen JSR verwaltet wurde. Sie erg├Ąnzen sich jedoch gegenseitig und finden oft gemeinsam Verwendung bei der Entwicklung von Unternehmensanwendungen. Das Komponentenmodell von EJB umfasst drei Arten von Objekten:

  • Session-Beans, die zustandsbehaftet (stateful), zustandslos (stateless) oder Singleton sein k├Ânnen. Session-Beans f├╝hren speziell Business-Service-Tasks f├╝r den Client aus. Sie sind im Allgemeinen so konfiguriert, dass sie im Kontext von verteilten Transaktionen und Zugriffskontrolle arbeiten. Session-Beans funktionieren auch als Web-Service-Endpunkte, zum Beispiel als Referenz zwischen Client- und Server-Endpunkten.
  • Message-driven Beans werden in Verbindung mit einem Dienst verwendet, der eine asynchrone Antwort auf externe Events bereitstellt. Die asynchronen Endpunkte “konsumieren” Nachrichtenobjekte aus der Message Queue (Nachrichtenwarteschlange)
  • Wie bereits erw├Ąhnt, wurden die Entity-Beans, konzeptionell grunds├Ątzlich durch JPA ersetzt, bieten jedoch einen Persistenzdienst, der die EJB-Komponentenmodellarchitektur erg├Ąnzt. Entity-Beans sind Objekte, die best├Ąndige Gesch├Ąftsdaten darstellen. Da Entity-Beans separat vom Persistenz Provider einer JEE und nicht vom EJB-Container verwaltet werden, gelten sie jedoch nicht unbedingt als Enterprise-Beans.

EJB (Enterprise Java Beans) in einem Java Enterprise Environment (JEE)

JEE kann nominell als dreistufige Architektur betrachtet werden: Web-Container f├╝r die Lebenszyklusverwaltung von Java-Servlets, JSP und Managed Beans; EJB-Container f├╝r das Life-Cycle-Management von Enterprise Java Beans; und die Persistenzschicht zum Bereitstellen des JPA-Dienstes f├╝r das Enterprise System. Ein EJB-Container beinhaltet die Basis-Umgebung f├╝r Enterprise-Beans. Die Dienste, die von der Umgebung bereitgestellt werden, sind zum Beispiel Lebenszyklus von Komponenten, Sicherheitsdienst, Transaktionsdienst, Pooling und Caching von Ressourcen. Die Gesch├Ąftslogik, welche in EJB codiert ist, definiert den Typ des Dienstes, den sie verwenden m├Âchte. Die codierte Logik verwendet EJB-spezifische Metadaten, die vom Container interpretiert werden, und definiert das Verhalten der EJB zur Laufzeit oder w├Ąhrend der Bereitstellung.


Sie haben noch Fragen?

Kontaktieren Sie uns

Kostenloser SEO-Check der OSG


Weitere Inhalte