Kurs 20026 Programmierungs-Konzepte

Einsendeaufgaben zu Lerneinheit 7

Aufgabe 1 (30 Punkte)

Gegeben ist die Klasse 'Person' in der beiliegenden BlueJ-Datei mit der folgenden API.

Die Klasse 'Person' soll um ein zusätzliches Feld 'custID' vom Typ 'integer' erweitert werden, das die Kundennummer enthält. Objekte der sich daraus ergebenden Klasse 'KundeImpl' sollen auf einem Server liegen. Die Kundennummer soll aber auch von verschiedenen Klienten über RMI gelesen werden können. Weiterhin soll die Möglichkeit bestehen, über eine verbindungsorientierte Kommunikation mit Sockets das Bild eines Kunden über den Port 4711 zum Klienten zu übertragen.

Ihre Aufgabe ist es, die folgenden Klassen mit den entsprechenden Eigenschaften zu generieren und das daraus resultierende Ergebnisprojekt einzusenden.

  • Klasse Kunde: Ist die Schnittstellenklasse, welche die Methode 'SetCustomerID' und 'GetCustomerID' deklariert.
  • Klasse KundeImpl: Implementiert die o. a. Schnittstellenklasse und übernimmt die geforderte Erweiterung. Die Objekte dieser Klasse liegen auf dem Server.
  • Klasse KundeServer: Übernimmt die Initialisierung. Unter anderem wird das Objekt mit dem Namen 'Meier' den Klienten bekannt gegeben.
  • Klasse KundeClient: Überprüft die Kundennummer der Person 'Meier' auf dem Server. Ist diese größer als 100, wird das Bild dieser Person über Sockets vom Server geholt.