![]() |
|
RMI-Anwendungen bestehen meist aus einer Client-Server-Architektur. Ein Client fordert hierbei einen Dienst an, den er in transparenter Art und Weise auf einem Server ausführen kann. Hierbei erzeugt ein typischer Server eine Menge von entfernten Objekten und stellt sie dem Client über Referenzen zur Verfügung. Anschließend kann der Client auf diese Objekte zugreifen, indem er die Referenzen verwendet. RMI realisiert die Mechanismen, mit denen der Client und der Server kommunizieren. Allgemein bezeichnet man das in RMI verfolgte Konzept auch als verteilte Anwendung bzw. verteilte Systeme. Verteilte Objekte weisen die folgenden Eigenschaften bzw. Anforderungen auf:
Das allgemeine Schema, das in RMI verwendet wird, ist in Abb. 11-1 dargestellt. Hierbei ruft ein Server die sog. Registry auf, um Referenzen auf entfernte Objekte zu erhalten. Bei diesem Aufruf wird ein logischer Name mit einem entfernten Objekt assoziiert. Anschließend erfragt ein Client ein entferntes Objekt, indem er den Namen verwendet, der in der Registry des Servers eingetragen ist. Mittels dieses Namens können dann Methodenaufrufe erfolgen. In RMI ist es weiterhin möglich, über einen Webserver Klassen-Bytecode verteilter Objekte vom Server zum Client zu transferieren und umgekehrt, wenn dies erforderlich ist.
Abb. 11.1: Funktion von RMI |
|
|