| |
17
Neue Konzepte für das Management verteilter Systeme, Hauptseminar, LMU München WS 00/01
int. Der untere Teil stellt für eine Message Driven Bean die zu empfangenden
Nachrichten-Themen ein.
4.3.
Conta iner-Dienste
Überblick über die vom Container erbrachten Dienste:
· Persistenz-Management: Der Container (genauer: der Persistenz-Manager)
übernimmt die Implementierung der abstrakten Feld-Zugriffsmethoden von
Entity Beans.
· Transaktionen: Der Container steuert das Transaktionsverhalten der ange-
schlossenen Datenbanken. Hierzu können im Deployment-Deskriptor der Bean
Regeln aufgestellt werden.
· Lebenszyklus-Management: Der Container kümmert sich um das geordnete
Erzeugen und Zerstören von Instanzen. Hierbei kann er Pooling, Swapping
und Just-In-Time-Creation verwenden. Pooling bedeutet das Erzeugen von In-
stanzen auf Vorrat, Swapping das Auslagern von Komponenten auf den Se-
kundärspeicher und Just-In-Time-Creation führt die Initialisierung einer Kom-
ponente erst bei einem Methodenaufruf durch (nicht bei der Erzeugungsanfra-
ge).
· Nebenläufigkeits-Management: Der Container sorgt dafür, dass nur Beans,
die dies wünschen, von mehreren Threads parallel durchlaufen werden. Hier-
zu kann der Container Warteschlangen verwenden. (Stateful Session Beans
können grundsätzlich nicht parallel durchlaufen werden.)
· Load-Balancing: Der Container kann die Komponenten transparent auf meh-
rere Maschinen verteilen.
· Sicherheit: Der Container kontrolliert bei jedem Methodenaufruf die Berechti-
gung. Die Client-Anwendung kann den Benutzer mit einer oder mehreren
vorher definierten Rollen versehen für jede Bean-Methode wird im De-
ployment-Deskriptor festgelegt, welche Rollen Zugriff haben.
4.4.
Der Transaktions-Dienst
Als Beispiel soll hier die Funktionsweise des Transaktions-Dienstes erklärt wer-
den.
Um das Prinzip der verteilten Transaktionen bildlicher zu machen, wähle ich für
das Beispiel-Szenario ein Online-Versandhaus mit Sitz in New York und Zweigstelle
in Tokio. Der Webserver in Tokio leitet Anfragen an den zentralen Anwendungsser-
ver in New York weiter. Hier repräsentiert eine Session Bean den Einkaufswagen
eines Kunden. Eine Entity Bean repräsentiert die Artikellager-Datenbank in Tokio,
eine andere die Fakturierungs-Datenbank in New York.
Legt ein Kunde einen Artikel in den Einkaufswagen, so soll er der laufenden Be-
stellung in der New Yorker Datenbank hinzugefügt werden und zugleich vom La-
gerbestand in Tokio abgezogen werden.
|  |
|
| |
|
|