• Keine Ergebnisse gefunden

Vorlesung Verteilte Systeme Übungsblatt 3

N/A
N/A
Protected

Academic year: 2022

Aktie "Vorlesung Verteilte Systeme Übungsblatt 3"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

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.

(2)

Vorlesung Verteilte Systeme Musterlösungen zu Übungsblatt 3

Aufgabe 1:

Das Proxy-Design-Pattern wird bei Verteilten Objektkommunikationstechnologien so verwendet, dass auf der Clientseite ein Proxy-(Stub)objekt das entfernte Interface implementiert. Wenn der Client eine der Methoden des Proxyobjektes aufruft, nutzt die Implementierung die Kommunikationsschnittstelle der Verteilten Objekttechnologie, um den Aufruf als Aufrufnachricht an den Server weiterzuleiten. Auf dem Server wird dann die zugehörige Methode der serverseitigen Implementierung des Verteilten Objektes aufgerufen.

Der Returnwert wird dann nach Beendigung an das Proxyobjekt auf der Clientseite als Returnnachricht geschickt, so dass die Proxyobjektmethode den Returnwert dann an den Client zurückgeben kann.

Aufgabe 2:

a) Falsch (Objekte, die serialisierbar sind, können vielmehr als lokale Objekte Call by Value übertragen werden)

b) falsch (IDL ist die Corba Interface Beschreibungssprache) c) falsch (Serverseitige sind dies die Skeleton)

d) falsch (sie müssen serialisierbar sein) e) Wahr

f) Falsch (Sie müssen mit dem Schlüsselwort valuetype markiert werden) g) Falsch (Er kann auch dynamisch geladen werden)

h) Wahr

i) Falsch (RMI arbeitet mit Leases, Corba mit Ping) j) Falsch (Corba verwendet CDR zur Datencodierung)

Aufgabe 3:

Entfernten Objektreferenzen müssen zunächst mal die IP-Adresse und Portnummer des serverseitigen Dienstes zugeordnet werden. Weiter ist jedoch sowohl die Angabe des serverseitigen Interfaces, auf den der Aufruf bezogen wird, als auch die serverseitige Referenz (oder Objektidentifikationsnummer) notwendig. Schließlich enthält der Objektreferenz auch noch einen Zeitstempel (z.B. Zeitpunkt der Erzeugung des Objektes).

Aufgabe 4:

Da die IDL sprachunabhängig ist, Implementierungen der Interfaces aber nur in einer Zielsprache erfolgen können, müssen die IDL-Konstrukte auf sprachspezifische Konstrukte der Zielsprache abgebildet werden können. Das Sprachmapping enthält für jede Zielsprache die Regeln, mit der diese Abbildung erfolgt. Bei objektorientierten Sprachen sind die Grundregeln des Language-Mapping, dass Konstrukte der IDL, die in der Zielsprache in anologer Weise vorhanden sind, natürlich auf diese abgebildet werden. Die zweite Regel besagt, das nicht in der Zielsprache vorkommende Konstrukte über generierte Klassen implementiert werden (da man ja mit Klassen beliebige Typen nachbauen kann).

Aufgabe 5: (10 Pkte)

Eine Lösung für Aufgabe 5) findet sich auf der Webseite.

Referenzen

ÄHNLICHE DOKUMENTE

a) Das UDP-Protokoll ist ein verbindungsorientiertes Protokoll. b) Die Java Socket-Klasse nutzt TCP als Übertragungsprotokoll. c) Bei der UDP-Übertragung werden keine

a) Das UDP-Protokoll ist ein verbindungsorientiertes Protokoll. b) Die Java Socket-Klasse nutzt TCP als Übertragungsprotokoll. c) Bei der UDP-Übertragung werden keine

a) Der schreibende Zugriff auf Objektattribute einer Klasse von verschiedenen Threads aus ist immer unkritisch. b) Der schreibende Zugriff auf lokale Variablen einer

a) Der schreibende Zugriff auf Objektattribute einer Klasse von verschiedenen Threads aus ist immer unkritisch. b) Der schreibende Zugriff auf lokale Variablen einer

a) Eine Klasse beschreibt ein entferntes Objekt, wenn sie das Serializable-Interface implementiert. b) Die Sprache, über die man entfernte Objektschnittstellen bei

a) Bei einem zustandslosen Session-Bean umschließt beim Default- Transaktionsmechanismus eine Transaktion des Containers alle Methodenaufrufe des Beans, die im Rahmen einer

a) Bei einem zustandslosen Session-Bean umschließt beim Default- Transaktionsmechanismus eine Transaktion des Containers alle Methodenaufrufe des Beans, die im Rahmen einer

Bei Microservice- basierten Anwendungen kann jede funktionale Komponente (jeder Service) einzeln bedarfsgerecht horizontal skaliert werden.