Friedrich-Alexander-Universität UnivisSuche FAU-Logo
Techn. Fakultät Willkommen am Department Informatik FAU-Logo
Logo I4
Lehrstuhl für Informatik 4
Middleware
 
  Vorlesung
  Literatur
  Skript
  Übungen
  Scheine, Prüfungen
Aufgaben:
 Aufgabe 1
 Aufgabe 2
 Aufgabe 3
 Aufgabe 4
 Aufgabe 5
 Aufgabe 6
 Aufgabe 7
Department Informatik  >  Informatik 4  >  Lehre  >  WS 2003/04  >  Middleware  >  Übung  >  Aufgabe4

Übungsaufgabe 4: Library - Remote Method Invocation

In dieser Aufgabe soll die Client/Server-Anwendung aus Aufgabe 2 mit Hilfe der in Java enthaltenen Remote-Method-Invocation-API (RMI) gelöst werden. Als Ausgangspunkt soll die Bibliotheksverwaltung aus Aufgabe 1 dienen.

Teilaufgabe a (RMI)

Wir beginnen mit der LibraryDB. Dieser soll wie in Aufgabe 2 die Datenbank darstellen und von allen Clients über Veränderungen informiert werden. Alle Clients sollten demzufolge auf ein Objekt dieses Types zugreifen können. Verändern Sie das Interface, so dass ein Objekt vom Typ LibraryDB als Remote-Objekt dient. Schreiben Sie nun eine Klasse library.server.RMIServer, welche ein Objekt vom Typ LibraryDBImpl erzeugt und es als Remote-Objekt exportiert und geben Sie dieses Objekt über den Namensdienst von RMI bekannt. Ändern Sie anschließend die Klasse library.client.LibraryFrontend, so dass diese eine Referenz auf die Datenbank über den Namensdienst erhält. Die vom Namensdienst benötigte URL soll dem Server wie auch dem Client als Aufrufparameter übergeben werden. Zum Testen können Sie die RMI-Registry auf einem Rechner im CIP-Pool starten. Als Portnummer sollen Sie Ihre UID benutzen.

Teilaufgabe b (Listener-Observer)

Nun sollen Clients eine kurze Meldung ausgeben wenn ein neues Item in der Datenbank eingetragen wird. Realisieren sie dazu das Listener-Observer-Entwurfmuster. Der Client muss hierfür die Möglichkeit haben sich am Server zu registrieren. Daraufhin kann der Server alle registrierten Clients über Zustandsänderungen (bei einem register-Aufruf) informieren. Für diesen Zweck muss auch ein Remote-Objekt auf der Client-Seite implementiert werden. Erstellen Sie das Remote-Interface DBObserver mit der Methode newItem(). Nehmen Sie anschließend entsprechende Änderungen an der Datenbankimplementierung und am LibraryFrontend vor.

Tipps: Damit eine Remote-Objekt wirklich als ein solches weitergegeben werden kann muss es exportiert werden.

Bearbeitung: bis zum 18.12.2003/18:00 Uhr

Alle Dateien sollen im Verzeichnis /proj/i4mw/loginname/aufgabe4/ abgelegt werden und mit dem abgabe-Programm abgegeben werden.
Die Bearbeitung ist NICHT in Gruppenarbeit sondern alleine durchzuführen.
  Impressum   Datenschutz Stand: 2004-01-28 11:44   MF, WE