Entity Beans
aus www.iwiki.de, der freien Wissensdatenbank
Entity Beans
Die Entity Beans repräsentieren Business - Entitäten, wie beispielsweise Kunden oder Girokonten. Sie repräsentieren die Daten einer Applikation. Eine klassische Applikation greift auf diese Daten unter Verwendung einer Datenbank - Verbindung zu. Entity Beans stellen die Daten als Objekte bereit, die über einfache Methoden für den Zugriff auf und die Manipulation von Daten verfügen.
Die Lebensdauer von Entity Beans kann sich über sehr lange Zeiträume erstrecken. Entity Beans überdauern einen Server - Crash, da sie Datenbankverträge als Objekte repräsentieren und nach erneutem Hochfahren wieder aus der zugrundeliegenden Datenbank restauriert werden.
Von Entity Beans werden zwei Varianten unterstützt:
- Bean Manages Persistent Entity Beans (BMP)
- Container Managed Persistent Entity Beans (CMP)
Bean Manages Persistent Entity Beans (BMP)
Bei den BMP Entity Beans trägt der Entwickler die Verantwortung für die Synchronisation der Komponenten mit der Datenbank. Der Container legt durch Aufruf vorgegebener Methoden lediglich fest, wann ein lesender oder schreibender Abgleich mit der Datenbank zu erfolgen hat.Die Implementierung des Datenbankzugriffes in den Methoden wird durch den Entwickler vorgenommen.
Gründe für diese Implementierung:
- Applikationsserver unterstützt die gewählte Datenbank nicht
- Verwendeten Unternehmensdaten liegen in einer selbstgeschriebenen Legacy - Application
- Optimierung der Performance
Container Managed Persistent Entity Beans (CMP)
CMP Entity Beans werden vollständig durch den Container mit der Datenbank synchronisiert. Der Entwickler muss sich weder um das Laden und Speichern noch um das Finden der Daten kümmern. Die durch den Applikationsserver - Hersteller bereitszustellende Implementierung von den CMP Entity Beans muss ein vollständig abstraktes Datenmodell unterstützen.
In den meisten Fällen der J2EE Entwicklung werden CMP Entity Beans eingesetzt.
Die Nutzung von CMP Entity Beans an Stelle einer direkten Datenbankzugriffen mit JDBC hat folgende Vorteile:
- Der Datenbankzugriff wird durch einfach Methodenaufrufe wesentlich vereinfacht
- Wiederverwendbarkeit wird begünstigt
- Reduzierung der Entwicklungskosten und Entwicklungszeit
- etc.
