Question | Answer |
Was ist RMI? | Remote Method Invocation (RMI) ist ein Mechanismus in Java, mit welchem entfernte Objekte bzw. deren Angebote genutzt werden können sowie ein einfaches Framework für die Entwicklung von verteilten Anwendungen in Java |
Kann RMI auch in anderen Programmiersprachen als nur Java genutzt werden? | Die Entwicklung von verteilten Anwendungen mit RMI ist nur in Java möglich (Java to Java only) |
Was ist Internet Inter-Orb Protocol (RMI-IIOP)? | Mit Internet Inter-Orb Protocol (RMI-IIOP) kann eine RMI-Java Anwendung mit Anwendungen und Komponenten kommunizieren, die Common Object Request Broker Architecture (CORBA) verwenden |
Wie sieht das Referenzmodell von RMI im TCP/IP aus? | |
Welche Vorteile bietet das Arbeiten mit RMI (Teil 1)? | Mit RMI: - werden Details der Netzwerkkommunikation "ausgeblendet" - wird die Verteilung von Objekten durch einen Namensdienst (RMI-Registry) ermöglicht - wird das dynamische Laden vom Code ermöglicht |
Welche Vorteile bietet das Arbeiten mit RMI (Teil 2)? | Die Java-Standardedition (JSE) enthält alle Klassen und Interfaces, die für die Entwicklung von verteilten RMI-Anwendungen nötig sind - Entfernte Objekte (Server) sind "multithreaded" - RMI bietet (von Haus aus) eine synchrone Kommunikation zwischen Client und Server (entferntes Objekt) |
Welches sind die Nachteile von RMI (Teil 1)? | RMI basiert ausschliesslich auf OO-Konzepten der Sprache Java (Java-toJava only), die Integration mit anderen Verteilungstechniken, insbesondere mit anderen Programmiersprachen, sehr schwierig und an sich nur über IIOP möglich |
Welches sind die Nachteile von RMI (Teil 2)? | RMI verwendet den Namensdienst: - der mitgelieferte Namensdienst ist sehr einfach - genügt für manche Anwendungen evtl. nicht |
Welches sind die Nachteile von RMI (Teil 3)? | Die Synchronisation bei konkurrierenden Zugriffen: - wird nicht von RMI realisiert - liegt im Verantwortungsbereich des Entwicklers |
Wie funktioniert die Kommunikation von RMI auf der Seite des Clients? | 1. nimmt Dienste von entferntem Objekten in Anspruch 2. fragt dazu beim Namensdienst nach, ob ein passendes Objekt für den gewünschten Dienst registriert wurde 3. ruft Methoden des Entfernten Objekts auf |
Wie funktioniert die Kommunikation von RMI auf der Seite des Servers? | 1. erzeugt das entfernte Objekt und meldet es beim Namensdienst an (Registrierung) 2. meldet das entfernte Objekt beim Namensdienst ab, wenn es nicht mehr benötigt wird (De- Registrierung) |
Wie verläuft die Kommunikation eines entfernten Objektes? | 1. vom Server erzeugt (falls ein separater Server vorhanden) 2. und beim Namensdienst registriert 3. läuft auf dem Server-Knoten und 4. stellt bestimmte Dienste zur Verfügun |
Was sind Stub und Skeleton und wie werden sie erzeugt? | Stub und Skeleton: - werden durch rmic aus der Klasse erzeugt, welche das entfernte Objekt implementiert - kümmern sich um die Übertragung von Daten über das Netzwerk |
Wie sieht es mit dem Marsahlling und Unmarshalling bei Stub und Skeleton aus? | Das Ver- und Entpacken von Nachrichten (Marshalling und Unmarshalling) wird automatisch von Stub und Skeleton erledigt |
Was sind die Aufgaben des Namendienstes (RMI-Registry)? | - das Registrieren von EO zu ermöglichen (binding) - das Finden des EO zu ermöglichen (lookup) |
Wo wird der Namensdienst ausgeführt? | Namensdienst wird auf dem Host-System (Server) ausgeführt |
Mit was kann der Namensdienst verglichen werden? | Kann mit dem Telefonauskunftsdienst verglichen werden |
Wie sehen die RMI-Schichten mit Stub und Skeleton aus? | |
Wie geschieht ein entfernter Aufruf (Teil 1)? | |
Wie geschieht ein entfernter Aufruf (Teil 2)? | |
Wie geschieht ein entfernter Aufruf (Teil 3)? | |
Wie geschieht ein entfernter Aufruf (Teil 4)? | |
Wie geschieht ein entfernter Aufruf (Teil 5)? | |
Wie funktioniert die Kommunikation auf einen Blick? | |
Was bedeutet Separation of concern im Zusammenhang mit RMI? | - Definition des Verhaltens und - Implementierung des Verhaltens werden getrennt |
Mit was wird die Definition des Verhaltens realisiert? | Interfaces |
Mittels was wird die Implementierung des Verhaltens realisiert? | Klasse, die das Interface realisiert |
Wie sieht die RMI Architektur aus? | |
Was beinhaltet die RMI-Schnittstelle und was kann sie? | |
Geben Sie einen Beispielcode für eine entfernte Schnittstelle an | |
Was ist die Definition einer entfernten Klasse? | |
Geben Sie einen Beispielcode für eine entfernte Klasse? | |
Wie kann eine entfernte Klasse kompiliert werden? | |
Wie sieht das Kompilieren einer entfernten Klasse auf einen Blick aus? | |
Wie sieht die RMI-Server-Implementierung im Code aus? | |
Wie sieht die RMI-Client-Implementierung theoretisch aus? | |
Wie sieht die RMI-Client-Implementierung im Code aus? | |
Was ist ein SecurityManager und wie funktioniert dieser? Zusätzlich, was sind Policy-Dateien? | |
Wie sieht die Implementierung von Policy-Dateien im Code aus? | |
Welche Klassen müssen bezüglich RMI im CLASSPATH der Server-Seite drauf sein? | |
Welche Klassen müssen bezüglich RMI im CLASSPATH der Client-Seite drauf sein? | |
Wie kann man den Namensdienst beim Server starten (Code)? | |
Wie kann man den Server starten? | |
Wie kann man den Client starten? | |
Wie könnte der Code zum Starten des Servers aussehen? | |
Wie könnte der Code zum Starten des Clients aussehen? |
Want to create your own Flashcards for free with GoConqr? Learn more.