Friedrich-Alexander-Universität UnivisSuche FAU-Logo
Techn. Fakultät Willkommen am Department Informatik FAU-Logo
Logo I4
Lehrstuhl für Informatik 4
Verteilte Systeme
 
  Vorlesung
  Skript
  Übungen
  Scheine, Prüfungen
Übungen
  Termine, Aufgaben...
  Aufgabe 1
  Aufgabe 2
  Aufgabe 3
  Aufgabe 4
  Aufgabe 5
  Aufgabe 6
Department Informatik  >  Informatik 4  >  Lehre  >  SS 2003  >  VS  >  Übung  >  Aufgabe1

Aufgabe 1: Sun RPC und Java RMI

Lernziel

  • Kennenlernen existierender RPC Systeme
  • Erstellen einer kleinen Demonstrationsanwendung mit Hilfe von:
    • Sun RPC und
    • Java RMI

Aufgabenbeschreibung

In dieser Aufgabe sollen existierende RPC Systeme betrachtet werden. Dazu soll eine kleine Anwendung erstellt werden, welche Fernaufrufe verwendet. In dieser Übung wollen wir ein elektronisches schwarzes Brett erstellen. Ein Benutzer (Klient) soll dabei eine Nachricht mittels Fernaufruf an das Brett (Server) heften können. Die Nachricht besteht dabei aus einer User-ID (Integer), einem Titel (String) und der Nachricht (String). Des Weiteren soll ein Benutzer in der Lage sein, die letzten n (konfigurierbar, Integer) Nachrichten abzufragen. Zum automatischen Testen soll ein einfacher Client implementiert werden. Dieser akzeptiert auf der Kommandozeile folgende Kommandos:

  • board-client servername POST uid title message
  • board-client servername GET n
Bei POST soll bei Erfolg die Ausgabe "OK" erfolgen, bei GET sollen die ermittelten n Nachrichten zeilenweise in der Form "uid title message" ausgegeben werden.

Teilaufgabe a: Sun RPC

Zunächst sollen SUN RPCs verwendet werden. Dazu muss die Schnittstellenbeschreibung messageboard.x erstellt werden. Es ist ein Makefile zu erstellen, das bei Aufruf von "make" sowohl den Server als auch den Client erstellt. Die Programme müssen "board-client" und "board-server" genannt werden.

Hinweis: Der Client soll bei "GET" nur einen RPC an den Server schicken.

Teilaufgabe b: Java RMI

In dieser Teilaufgabe soll Java RMI zum Einsatz kommen. Der Server soll die gleiche Funktionalität wie in der vorherigen Teilaufgabe zur Verfügung stellen. Zusätzlich soll es möglich sein, dass ein Benutzer über neue Nachrichten informiert wird. Dazu muss ein Benutzer die Möglichkeit haben sich zu registrieren. Bei neuen Nachrichten soll er dann vom Server durch einen CallBack-Mechanismus informiert werden.

Der Client muss zusätzlich zu den bereits beschriebenen Kommandos ein Kommando LISTEN unterstüzten, bei dem er via Fernaufruf einen Callback-Handler installiert und wartet. Bei jeder neuen Nachricht soll diese am Bildschirm ausgegeben werden, bis der Client mit Strg+C abgebrochen wird.

Es ist ebenfalls ein Makefile zu erstellen, welches die benötigen Class-Dateien erzeugt. Server bzw Client sollten sich durch "java vs.boardserver" bzw. "java vs.boardclient" starten lassen.

Abgabe

bis 29.04.2003/12:00 Uhr

Alle Dateien, die für Teilaufgabe a nötig sind, sollen im Verzeichnis /proj/i4vs/loginname/aufgabe1/sunrpc/ abgelegt werden. Da das Makefile rpcgen aufrufen soll brauchen die automatisch generierten Dateien nicht mit abgegeben werden.
Dateien, welche für Teilaufgabe b erstellt wurden sollen im Verzeichnis /proj/i4vs/loginname/aufgabe1/rmi/ liegen. Ein Makefile in diesem Verzeichnis soll mindestend die Klassen vs.boardserver und vs.boardclient erstellen.

  Impressum   Datenschutz Stand: 2003-04-17 11:17   MF