VSK HSLU

Verteilte Systeme und Komponenten HSLU

Verteilte Systeme und Komponenten HSLU


D. G.
Diese Karteikarten bieten einen umfassenden Überblick über die Implementierung und Nutzung von Remote Method Invocation (RMI) in Java, einschließlich der Konfiguration von Sicherheitsrichtlinien, der Erstellung von Remote-Objekten und der Kommunikation zwischen Client und Server. Sie behandeln auch grundlegende Konzepte wie Serialisierung, Objektpersistenz und verschiedene Netzwerkkommunikationsarten. Diese Karteikarten sind ideal für Entwickler, die sich mit verteilten Systemen und Java-basierten Netzwerkanwendungen befassen, da sie praktische Beispiele und detaillierte Anleitungen bieten.
Flashcards
28
Students
6
Language
German
Category
Computer Science
Level
Other
Created / Updated
22.01.2019 / 02.01.2024

Flashcards

Sie kennen zwei verschiedene Algorithmen zur Synchronisation von physischen Uhren.

  1. Berkeley Algorithmus
    Zeitserver fragt alle Maschinen nach ihrer Zeit und macht eine Durchschnittszeit
  2. Algorithmus von Cristian
    Passives System. Ein Zeitserver wird für die Zeit angefragt. Dieser Antwortet und der Client berechnet die Zeit (t1) + RTT/2) gesetzt RTT = Rount Trip Time

Weil die Zeit nicht zurückgestellt werden kann, wird diese einfach so lange verlangsamt, bis sie stimmt.

Was kennzeichnet eine logische Uhr

Alle Systeme einigen sich über eine Zeit

Kein UTC

Welcher Middleware Form entspricht RMI

Kommunikationsorientiert Middleware

Nenne drei wichte Transparenzformen

  1. Ortstransparenz
    Ort ist dem Benutzer nicht bekannt
  2. Zugriffstransparenz
    Immer gleicher Zugriff, egal ob Lokal oder aus dem Netz
  3. Nebenläufigkeitstranzparenz
    Mehrere Benutzer können auf den Dienst zugreifen. Applikation kümmert sich um den Rest.

2- Tier

  1. Client
  2. Database

3-Tier

  1. Client
  2. Application
  3. Database

Implementation von RMI

  1. Remote Interface mit marker Interface (extends remote) definieren!
  2. Remote Interface implementieren 
  3. RMI Repository starten
  4. Remote Objekte erzeugen und registrieren
  5. Client implementieren

Voraussetzungen für RMI

  • Jede zur Verfügung gestellte Methode kann die RemoteException auslösen
  • Parameter/Rückgabewert eines Klassentypes
    • Muss Serializable sein
  • Parameter/Rückgabewert eines Interfacetypes muss ebenfalls das Interface Remote implementieren.

 

Das Remote Objekt muss von welcher klasse Ableiten und welches interface implementieren?

  • extends UnicastRemoteObject implements IremoteObject

Wie muss die RMI Registry gestartet werden?

  1. java.rmi.registry.LocateRegistry.createRegistry(RMIPORT)
  2. Registry reg = LocateRegistry.getRegistry(RMIPORT)
  3. reg.rebind(BIND_NAME, ObjectToExport)

Wie kann der Client auf das Remote Object zugreifen über die RMI

  1. Registry registry = LocateRegistry.getRegistry(rmiHost, rmiPort)
  2. remoteObject rmiServer = (remoteObject) registry.lookup(bindName);
  3. rmiServer.subscribeToServer((remoteObject) rmiclient)

Security Manager Policy definieren

file rules.policy mit folgendem Inhalt anlegen

grant {
   permission java.security.AllPermission; 

}; 

 

dann im Code

  • System.setProperty("java.security.policy", "rules.policy");

Study