Aufgaben zum Projektpraktikum J2EE und EJB
Grundlagen, WS2005/2006
- Finden Sie Verwendungsmöglichkeiten für das
Sitzungsfassade-Pattern in Ihrer Implementierung des
Bookstore und wenden Sie es darauf an.
- Identifizieren Sie Wertobjekte im Bookstore und
definieren Sie geeignete Remote-Interfaces unter
Verwendung von Wertobjekten.
- Ziel der Änderungen ist es, Programme zu schreiben,
die separat vom EJB-Container läufen. Eins der Programme
soll Bücher aus einer geeignet formatierten Textdatei in
die Datenbank einfügen. Ein anderes Programm soll auf
die Bestellungen zugreifen und dazu Rechnungen schreiben.
- Reimplementieren Sie die Bookstore-Funktion View Book,
indem Sie direkt per JDBC auf die entsprechende
Datenbanktabelle (nur lesend) zugreifen. Der JDBC-Zugriff muss
in einem Session-Bean gekapselt sein.
- Strukturieren Sie Ihre Implementierung so, dass immer 20
Bücher pro Seite angezeigt werden und dass Sie zwischen den
Seiten wechseln können.
- Implementieren Sie einen portablen Generierungsmechanismus
für Surrogatschlüssel. Verwenden Sie eine Datenbanktabelle um zu
garantieren, dass die Schlüssel eindeutig sind. Wie vermeiden
Sie, dass bei jedem create ein Datenbankzugriff erfolgt?
- Finden Sie heraus, unter welchen Isolation Levels
die mit unserem Application Server verwendeten Datenquellen
angesprochen werden können. Wie kann ein bestimmter Isolation
Level bei uns konfiguriert werden?
- Erzeugen Sie durch einen passend definierten Lasttest mit
Hilfe des Tools JMeter eine
Integritätsverletzung im Datenmodell der bisherigen
Bookstore-Anwendung.
- Analysieren Sie die bisher bestehende Bookstore-Anwendung
auf ACID-Eigenschaftsverletzungen und beheben Sie diese durch
Coderefactoring und ein passendes Transaktionsmanagment der
verwendeten Beans.
- Erweitern Sie den Bookstore um einen
Neuerscheinungs-Topic, in dem neu erschienene Bücher
des Buchladens automatisch registriert werden. Erweitern Sie die
bestehenden Bookstore-Anwendung insofer, dass passende
Nachrichten verschickt werden. Implementieren Sie eine separate
Klientenanwendung, die sich am Neuerscheinungs-Topic
registriert und Neuerscheinungen (nach Autor) gefiltert ausgibt.
- Änderen Sie die Bookstore-Anwendung so ab, dass
Buchbestellungen nicht mehr sofort persistent gespeichert
sondern in einer Order-Queue verzeichnet
werden. Erstellen Sie ein passendes Message-Driven-Bean, das
verzeichnete Bestellungen bearbeitet und dauerhaft abspeichert.
Peter Thiemann,
Jun 22, 2005