RMI steht für Java Remote Method Invocation, eine Technologie von Sun, die für die einfache Realisierung von verteilten Objekten in Java konzipiert wurde. RMI ist ein Mechanismus der eine Kommunikation zwischen Client- und Serverprogramm über das Netzwerk ermöglicht. Vorgänger ist der RPC (Remote Procedure Call) ebenfalls von Sun entwickelt, der in der prozeduralen Welt Anwendung fand. RMI kann im Gegensatz dazu ganze Objekte als Argumente verschicken und als Rückgabewert empfangen. Dies gilt ebenso für primitive wie auch für komplexe Datentypen. Ein Java Programm arbeitet mit einer virtuellen Maschine (JVM), die auf unterschiedlichen Rechnern laufen können.
Inhaltsverzeichnis
1 Verteilte Programmierung mit Remote Method Invocation
1.1Anforderungen an RMI
1.2Aufruf von entfernten Methoden
1.3Abstraktion
1.4System-Architektur
2 Konzept
2.1Der Stub
2.2Der Skeleton
2.3Die Registry
3 Anwendungsbeispiel „SayHelloNetzwerke“
3.1Klassenstruktur des Anwendungsbeispiels
3.2Das RMI-Interface
3.2.1 Aufruf der Schnittstelle
3.2.2 Implementierung der Schnittstelle
3.3Die RMI-Clientklasse
3.4RMI-Serverklasse
3.5Ablaufreihenfolge beim Start Client/Server verteilt
4 Sicherheitsmechanismen
4.1Der Securitymanager
4.2Verteiltes Garbage Collection
4.3Passing Behaviour
5 Callbacks
6 Probleme mit entfernten Methoden
7 Bewertung RMI
Zielsetzung & Themen
Diese Arbeit erläutert die Funktionsweise von Java Remote Method Invocation (RMI) als Technologie für die verteilte Programmierung. Ziel ist es, den Aufbau von RMI-Systemen, die Kommunikation zwischen Client und Server sowie die notwendigen Sicherheits- und Abstraktionsmechanismen transparent darzustellen.
- Grundlagen der verteilten Objektkommunikation in Java
- Architekturkonzepte (Stub, Skeleton, Registry)
- Praktische Implementierung anhand eines Anwendungsbeispiels
- Sicherheitsaspekte und Garbage Collection in verteilten Systemen
- Herausforderungen und Bewertung der RMI-Technologie
Auszug aus dem Buch
1 Verteilte Programmierung mit Remote Method Invocation
RMI steht für Java Remote Method Invocation, eine Technologie von Sun, die für die einfache Realisierung von verteilten Objekten in Java konzipiert wurde. RMI ist ein Mechanismus der eine Kommunikation zwischen Client- und Serverprogramm über das Netzwerk ermöglicht. Vorgänger ist der RPC (Remote Procedure Call) ebenfalls von Sun entwickelt, der in der prozeduralen Welt Anwendung fand. RMI kann im Gegensatz dazu ganze Objekte als Argumente verschicken und als Rückgabewert empfangen. Dies gilt ebenso für primitive wie auch für komplexe Datentypen. Ein Java Programm arbeitet mit einer virtuellen Maschine (JVM), die auf unterschiedlichen Rechnern laufen können. Zwischen diesen JVMs kann mit Remote Method Invocation ein entfernter Methodenaufruf eines Objektes in einer anderen virtuellen Maschine, die sich auf dem eigenen Rechner genauso wie auf einem anderen Rechner befinden kann, erfolgen(siehe Abbildung 1).
Zusammenfassung der Kapitel
1 Verteilte Programmierung mit Remote Method Invocation: Einführung in die RMI-Technologie, ihre Anforderungen an das verteilte Objektmodell und die grundlegende Abstraktion.
2 Konzept: Erläuterung der zentralen RMI-Komponenten wie Stub, Skeleton und dem Namensdienst (Registry).
3 Anwendungsbeispiel „SayHelloNetzwerke“: Detaillierte Darstellung der Klassenstruktur, der Interface-Implementierung und des Ablaufs beim Start von Client und Server.
4 Sicherheitsmechanismen: Beschreibung der Rolle des Securitymanagers und der Funktionsweise des verteilten Garbage Collectors.
5 Callbacks: Erklärung, wie Server Clients über Ereignisse informieren können, ohne dass diese kontinuierlich anfragen müssen.
6 Probleme mit entfernten Methoden: Diskussion technischer Herausforderungen wie Timeouts, Synchronisation und Serialisierungsprobleme.
7 Bewertung RMI: Zusammenfassende Analyse der Vorteile sowie Einschränkungen von RMI im Hinblick auf moderne Informationssysteme.
Schlüsselwörter
Java RMI, Remote Method Invocation, Verteilte Systeme, Stub, Skeleton, RMI Registry, Serialisierung, Client-Server-Kommunikation, Garbage Collection, Java Virtual Machine, Namensdienst, Schnittstellen, Netzwerkanwendungen, Callbacks, Synchronisation.
Häufig gestellte Fragen
Worum geht es in dieser Arbeit?
Die Arbeit behandelt die Technologie Java RMI, die es ermöglicht, Methoden auf Objekten auszuführen, die sich in einer anderen Java Virtual Machine befinden.
Was sind die zentralen Themenfelder?
Die zentralen Themen umfassen die Architektur von RMI, das Konzept des Namensdienstes sowie die notwendigen Schritte zur Implementierung einer Client-Server-Anwendung.
Was ist das Ziel der Untersuchung?
Das Ziel ist die Vermittlung eines fundierten Verständnisses über den Aufbau und die Funktionsweise von RMI-basierten Systemen sowie deren Einsatzmöglichkeiten und Grenzen.
Welche wissenschaftliche Methode wird verwendet?
Die Arbeit basiert auf einer literaturgestützten Analyse der Technologie und deren praktischer Anwendung durch die Erstellung und Dokumentation eines Beispielprojekts.
Was wird im Hauptteil behandelt?
Im Hauptteil werden neben der Architektur (Stub, Skeleton, Registry) konkrete Implementierungsbeispiele, Sicherheitsmechanismen und Probleme beim Entwurf entfernter Methoden behandelt.
Welche Schlüsselwörter charakterisieren die Arbeit?
Die Arbeit wird primär durch Begriffe wie Java RMI, Verteilte Systeme, Stub, Skeleton und Serialisierung charakterisiert.
Welche Rolle spielt die Registry bei RMI?
Die Registry fungiert als zentraler Namensdienst, bei dem Server ihre Dienste anmelden, damit Clients diese über eindeutige Namen und URLs finden und ansprechen können.
Warum sind Callbacks in RMI relevant?
Callbacks erlauben eine Umkehrung der Kommunikation, indem der Server die Clients aktiv über Ereignisse informiert, was die Serverauslastung im Vergleich zum ständigen "Polling" reduziert.
- Quote paper
- Sonja Adler (Author), 2005, Die Vorteile von Java Remote Method Invocation (RMI), Munich, GRIN Verlag, https://www.grin.com/document/44302