Projektstudium SS98 - distributed computing


vorherige SeiteInhaltnächste Seite

Die Architektur von RMI

Das RMI-System besteht wie schon erwähnt aus den folgenden drei Schichten:

 

 

Die Anwendungsschicht liegt über dem RMI-System. Die Beziehung zwischen den Schichten ist wie folgt:

 

 

(Sun Microsystems - JDK/RMI/Dokumentation)

 

 

Ein Methodenaufruf von einen Klient an ein Serverobjekt wandert runter durch alle Schichten vom RMI-System bis zur Clientseite der Transportschicht, und dann wieder rauf, erneut nur umgekehrt, durch alle Schichten auf Seiten des Servers.

 

Ein Client, der eine Methode von einen Serverobjekt aufruft, macht gebrauch von einen Stub für das entfernte Objekt, wie als währe es eine Rohrleitung zu dem erwünschten Objekt. Ein vom Client gehaltene Referenz zu einen entfernten Objekt, ist eine Referenz zu einen lokalen Stub. Dieses Stub, ist eine Implementierung von der Schnittstelle eines entfernten Objektes. Es leitet Anfragen an das Serverobjekt, an die remote reference Schnittstelle weiter.

 

Die remote reference Schnittstelle ist verantwortlich, die Semantik eines Aufrufes heraus zu bekommen. Jede Implementierung eines entfernten Objektes wählt ihre eigene remote reference Semantik. Beispielsweise, ob der Server ein einfaches Objekt oder eine reproduziertes Objekt ist, welches mit seinen Reproduktionen kommunizieren will.

 

Außerdem wird die reference Semantik vom Server über die remote reference Schnittstelle verwaltet. Diese Schnittstelle abstrahiert zum Beispiel die unterschiedlichen Arten ein Objekt zu referenzieren.

 

Die Transportschicht ist zuständig für den Kommunikationsaufbau, die Verwaltung, Verfolgen und das Senden an ein Objekt (welches in den Transportadressraum steht). Um zu einen entfernten Objekt zu senden, wird der Aufruf an die remote reference Schicht weiter getragen. Die remote reference Schicht auf Seiten des Servers verwaltet alle Belange und Aktionen, die angestozen werden müssen, bevor die Anfrage behandelt und an die skeleton Schicht übergeben werden kann.

 

Das Skelett von einen Objekt ruft die Implementierung des Objektes auf, welches den aktuellen Methodenaufruf durchführt. Das Ergebnis des Aufrufes wird zurück an die skeleton Schicht gesenden, welches an die remote reference Schicht weitergeleites wird und von dort die Transportschicht auf Server Seiten erreicht. Von der Transportschicht wird das Ergebnis dann auf Seiten des Klient wieder durch alle drei Schichten zurück zum Methodenaufrufenden Objekt geleitet.

 

Dieser kurze Überblick über die Architektur von RMI ermöglicht es uns die Idee und das Konzept von RMI zu verstehen. Ein wesentlicher Punkt im RMI-System, ist das dynamische Laden von Klassen. Dies ist auch genau die Stelle, an der das Sicherheitssystem von RMI ansetzt. Es werden sozusagen alle Eingänge überwacht, die herein wollen werden geprüft.

 

Um tiefer in das System einsteigen zu können und die Sicherheitsaspekte anzusehen, müssen wir zunächst noch das dynamische Laden von Klassen genauer betrachten.

 

vorherige SeiteInhaltnach obennächste Seite 


© Copyright 1998 André Möller, Oliver Mentz & Magnus Wiencke