Vorlesung Verteilte Systeme Übungsblatt 3
Aufgabe 1:
Wie wird das Proxy-Design-Pattern für die Implementierung von Verteilten Prozedur- oder Objektaufrufen genutzt?
Aufgabe 2:
Welche der folgenden Aussagen sind wahr oder falsch?
a) Eine Klasse beschreibt ein entferntes Objekt, wenn sie das Serializable-Interface implementiert.
b) Die Sprache, über die man entfernte Objektschnittstellen bei Java-RMI beschreibt, heißt IDL.
c) Ein Stub ist ein Server-seitiges Objekt, das die Ojektschnittstelle einer lokalen Klasse kapselt und entfernt zur Verfügung stellt.
d) Lokale Objekte, die zum Client übertragen werden sollen, müssen das Remote-Interface implementieren, damit sie auch übertragen werden zu können.
e) RMI-Aufrufe sind synchron.
f) Objekte, die als Argumente von entfernten Corba-Objektmethoden dienen, werden Call- by-Value übertragen, wenn sie das Serializable-Interface implementieren.
g) Bei RMI muss der Maschinencode der Klassen, die das entfernte Objekt auf dem Client in Form eines Proxy implementieren, Bestandteil des Clientcodes (Jar-Datei des Clients) sein.
h) Corba unterstützt asynchrone Aufrufe über das Schlüsselwort oneway.
i) RMI arbeitet zur Kontrolle der Garbage-Collection von Objekten mit einem Ping- Verfahren.
j) Die Codierung der Daten von Corba-Objekten erfolgt mit XDR.
Aufgabe 3:
Welche Informationen müssen entfernten Objektreferenzen zugeordnet werden, damit ein Server über die Referenz das zugehörige Server-seitige Objekt finden kann?
Aufgabe 4:
Was ist ein Language-Binding der IDL-Sprache und welche Regeln benutzt man zur Definition eines solchen, wenn die Zielsprache objektorientiert ist?
Aufgabe 5: (Programmieraufgabe)
Schreiben Sie ein RMI-basiertes Chat-Programmsystem. Der Server sollte mehrere Chaträume unterstützen, in denen sich Clients anmelden können. Nach Anmeldung in einem Chatraum kann ein Client dann Nachrichten an alle Benutzer des Chatraums senden bzw.
Nachrichten von anderen Nutzern empfangen.