https://de.wikipedia.org/w/index.php?action=history&feed=atom&title=Remote_Method_Invocation Remote Method Invocation - Versionsgeschichte 2025-06-09T09:38:11Z Versionsgeschichte dieser Seite in Wikipedia MediaWiki 1.45.0-wmf.4 https://de.wikipedia.org/w/index.php?title=Remote_Method_Invocation&diff=243297061&oldid=prev Aka: /* Komponenten */ Leerzeichen vor Beleg entfernt, Halbgeviertstrich, fehlendes Wort ergänzt 2024-03-20T20:19:27Z <p><span class="autocomment">Komponenten: </span> Leerzeichen vor Beleg entfernt, Halbgeviertstrich, fehlendes Wort ergänzt</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 20. März 2024, 22:19 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 9:</td> <td colspan="2" class="diff-lineno">Zeile 9:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Komponenten ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Komponenten ==</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>;Remote Interface: ist ein Subinterface von java.rmi.Remote und beschreibt die Funktionen, die auf dem Server zur Verfügung stehen. Damit definiert es das Verhalten des entfernten Objekts (ohne dieses zu implementieren). Jede abstrakte Methode des Remote Interfaces muss in ihrer throws-Klausel eine RemoteException deklarieren&lt;ref&gt;[https://docs.oracle.com/en/java/javase/21/docs/specs/rmi/objmodel.html#overview-of-rmi-interfaces-and-classes 2.4.1 The java.rmi.Remote Interface, abgerufen 27. Februar 2024]&lt;/ref&gt;.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>;Remote Interface: ist ein Subinterface von java.rmi.Remote und beschreibt die Funktionen, die auf dem Server zur Verfügung stehen. Damit definiert es das Verhalten des entfernten Objekts (ohne dieses zu implementieren). Jede abstrakte Methode des Remote Interfaces muss in ihrer throws-Klausel eine RemoteException deklarieren&lt;ref&gt;[https://docs.oracle.com/en/java/javase/21/docs/specs/rmi/objmodel.html#overview-of-rmi-interfaces-and-classes 2.4.1 The java.rmi.Remote Interface, abgerufen<ins style="font-weight: bold; text-decoration: none;"> am</ins> 27. Februar 2024]&lt;/ref&gt;.</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>;Remote Object: stellt das entfernte Objekt dar und liegt auf dem Server. Es implementiert das Remote Interface und das Verhalten der für die Clients zur Verfügung stehenden entfernten Methoden. Vom Server können eine oder mehrere Instanzen des Remote-Objekts erstellt werden. Ein Remote Object muss von UnicastRemoteObject abgeleitet sein. Es muss mindestens ein Konstruktor zur Verfügung gestellt werden, der in seiner throws-Klausel eine geprüfte Ausnahme vom Typ RemoteException deklariert, da der parameterlose Konstruktor von UnicastRemoteObject in seiner throws-Klausel diese geprüfte Ausnahme ebenfalls deklariert. Das Remote Object kann Methoden implementieren, die nicht im Remote Interface auftauchen <del style="font-weight: bold; text-decoration: none;">-</del> diese können dann aber nur lokal aufgerufen werden<del style="font-weight: bold; text-decoration: none;"> </del>&lt;ref&gt;[https://docs.oracle.com/en/java/javase/21/docs/specs/rmi/objmodel.html#implementing-a-remote-interface 2.5 Implementing a Remote Interface, abgerufen 27. Februar 2024]&lt;/ref&gt;.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>;Remote Object: stellt das entfernte Objekt dar und liegt auf dem Server. Es implementiert das Remote Interface und das Verhalten der für die Clients zur Verfügung stehenden entfernten Methoden. Vom Server können eine oder mehrere Instanzen des Remote-Objekts erstellt werden. Ein Remote Object muss von UnicastRemoteObject abgeleitet sein. Es muss mindestens ein Konstruktor zur Verfügung gestellt werden, der in seiner throws-Klausel eine geprüfte Ausnahme vom Typ RemoteException deklariert, da der parameterlose Konstruktor von UnicastRemoteObject in seiner throws-Klausel diese geprüfte Ausnahme ebenfalls deklariert. Das Remote Object kann Methoden implementieren, die nicht im Remote Interface auftauchen <ins style="font-weight: bold; text-decoration: none;">–</ins> diese können dann aber nur lokal aufgerufen werden&lt;ref&gt;[https://docs.oracle.com/en/java/javase/21/docs/specs/rmi/objmodel.html#implementing-a-remote-interface 2.5 Implementing a Remote Interface, abgerufen<ins style="font-weight: bold; text-decoration: none;"> am</ins> 27. Februar 2024]&lt;/ref&gt;.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>;Remote Reference: ist eine Referenz auf Remote Objects. Die Clients bekommen die Remote Reference von der RMI Registry.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>;Remote Reference: ist eine Referenz auf Remote Objects. Die Clients bekommen die Remote Reference von der RMI Registry.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> </table> Aka https://de.wikipedia.org/w/index.php?title=Remote_Method_Invocation&diff=242634261&oldid=prev Thorsten Suckow-Homberg: Anpassung Beschreibung Remote Object Interface / Konstruktor, Quellen hinzugefügt im Text. Das Verhalten bzgl. Konstruktoren in Java ergibt sich aus den Sprachspezifikationen, einen Verweis hierdrauf halte ich für überflüssig. Allerdings war der Text in dieser Hinsicht nicht korrekt, dass ein parameterloser Konstruktor zur Verfügung gestellt werden muss, denn auch ein Konstruktor mit einer formalen Parameterliste kann implementiert werden (super() wird ggf implizit aufgerufen). 2024-02-27T22:21:24Z <p>Anpassung Beschreibung Remote Object Interface / Konstruktor, Quellen hinzugefügt im Text. Das Verhalten bzgl. Konstruktoren in Java ergibt sich aus den Sprachspezifikationen, einen Verweis hierdrauf halte ich für überflüssig. Allerdings war der Text in dieser Hinsicht nicht korrekt, dass ein parameterloser Konstruktor zur Verfügung gestellt werden muss, denn auch ein Konstruktor mit einer formalen Parameterliste kann implementiert werden (super() wird ggf implizit aufgerufen).</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 28. Februar 2024, 00:21 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 9:</td> <td colspan="2" class="diff-lineno">Zeile 9:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Komponenten ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Komponenten ==</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>;Remote Interface: beschreibt die Funktionen, die auf dem Server zur Verfügung stehen<del style="font-weight: bold; text-decoration: none;">,</del> <del style="font-weight: bold; text-decoration: none;">und</del> definiert <del style="font-weight: bold; text-decoration: none;">damit</del> das Verhalten des entfernten Objekts (ohne dieses zu implementieren).</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>;Remote Interface:<ins style="font-weight: bold; text-decoration: none;"> ist ein Subinterface von java.rmi.Remote und</ins> beschreibt die Funktionen, die auf dem Server zur Verfügung stehen<ins style="font-weight: bold; text-decoration: none;">.</ins> <ins style="font-weight: bold; text-decoration: none;">Damit</ins> definiert <ins style="font-weight: bold; text-decoration: none;">es</ins> das Verhalten des entfernten Objekts (ohne dieses zu implementieren)<ins style="font-weight: bold; text-decoration: none;">. Jede abstrakte Methode des Remote Interfaces muss in ihrer throws-Klausel eine RemoteException deklarieren&lt;ref&gt;[https://docs.oracle.com/en/java/javase/21/docs/specs/rmi/objmodel.html#overview-of-rmi-interfaces-and-classes 2.4.1 The java.rmi.Remote Interface, abgerufen 27. Februar 2024]&lt;/ref&gt;</ins>.</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>;Remote Object: stellt das entfernte Objekt dar und liegt auf dem Server. Es implementiert das Remote Interface und das Verhalten der für die Clients zur Verfügung stehenden entfernten Methoden. Vom Server können eine oder mehrere Instanzen des Remote-Objekts erstellt werden. Ein Remote Object muss von UnicastRemoteObject abgeleitet sein <del style="font-weight: bold; text-decoration: none;">und</del> muss <del style="font-weight: bold; text-decoration: none;">einen</del> <del style="font-weight: bold; text-decoration: none;">parameterlosen</del> Konstruktor <del style="font-weight: bold; text-decoration: none;">haben</del>, <del style="font-weight: bold; text-decoration: none;">denn</del> <del style="font-weight: bold; text-decoration: none;">dieser</del> <del style="font-weight: bold; text-decoration: none;">ruft</del> <del style="font-weight: bold; text-decoration: none;">nur</del> <del style="font-weight: bold; text-decoration: none;">den</del> Konstruktor von UnicastRemoteObject <del style="font-weight: bold; text-decoration: none;">auf</del> <del style="font-weight: bold; text-decoration: none;">und</del> <del style="font-weight: bold; text-decoration: none;">könnte</del> <del style="font-weight: bold; text-decoration: none;">sonst</del> <del style="font-weight: bold; text-decoration: none;">eine</del> <del style="font-weight: bold; text-decoration: none;">RemoteException</del> <del style="font-weight: bold; text-decoration: none;">auslösen</del>. <del style="font-weight: bold; text-decoration: none;">Jede</del> <del style="font-weight: bold; text-decoration: none;">Methode</del> <del style="font-weight: bold; text-decoration: none;">muss</del> <del style="font-weight: bold; text-decoration: none;">eine</del> <del style="font-weight: bold; text-decoration: none;">RemoteException</del> <del style="font-weight: bold; text-decoration: none;">deklarieren</del>, <del style="font-weight: bold; text-decoration: none;">auch</del> <del style="font-weight: bold; text-decoration: none;">der</del> <del style="font-weight: bold; text-decoration: none;">parameterlose</del> <del style="font-weight: bold; text-decoration: none;">Konstruktor</del>.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>;Remote Object: stellt das entfernte Objekt dar und liegt auf dem Server. Es implementiert das Remote Interface und das Verhalten der für die Clients zur Verfügung stehenden entfernten Methoden. Vom Server können eine oder mehrere Instanzen des Remote-Objekts erstellt werden. Ein Remote Object muss von UnicastRemoteObject abgeleitet sein<ins style="font-weight: bold; text-decoration: none;">.</ins> <ins style="font-weight: bold; text-decoration: none;">Es</ins> muss <ins style="font-weight: bold; text-decoration: none;">mindestens</ins> <ins style="font-weight: bold; text-decoration: none;">ein</ins> Konstruktor <ins style="font-weight: bold; text-decoration: none;">zur Verfügung gestellt werden</ins>, <ins style="font-weight: bold; text-decoration: none;">der</ins> <ins style="font-weight: bold; text-decoration: none;">in</ins> <ins style="font-weight: bold; text-decoration: none;">seiner</ins> <ins style="font-weight: bold; text-decoration: none;">throws-Klausel</ins> <ins style="font-weight: bold; text-decoration: none;">eine geprüfte Ausnahme vom Typ RemoteException deklariert, da der parameterlose</ins> Konstruktor von UnicastRemoteObject <ins style="font-weight: bold; text-decoration: none;">in</ins> <ins style="font-weight: bold; text-decoration: none;">seiner</ins> <ins style="font-weight: bold; text-decoration: none;">throws-Klausel</ins> <ins style="font-weight: bold; text-decoration: none;">diese</ins> <ins style="font-weight: bold; text-decoration: none;">geprüfte</ins> <ins style="font-weight: bold; text-decoration: none;">Ausnahme</ins> <ins style="font-weight: bold; text-decoration: none;">ebenfalls deklariert</ins>. <ins style="font-weight: bold; text-decoration: none;">Das</ins> <ins style="font-weight: bold; text-decoration: none;">Remote</ins> <ins style="font-weight: bold; text-decoration: none;">Object</ins> <ins style="font-weight: bold; text-decoration: none;">kann</ins> <ins style="font-weight: bold; text-decoration: none;">Methoden</ins> <ins style="font-weight: bold; text-decoration: none;">implementieren</ins>, <ins style="font-weight: bold; text-decoration: none;">die</ins> <ins style="font-weight: bold; text-decoration: none;">nicht</ins> <ins style="font-weight: bold; text-decoration: none;">im Remote Interface auftauchen - diese können dann aber nur lokal aufgerufen werden &lt;ref&gt;[https://docs.oracle.com/en/java/javase/21/docs/specs/rmi/objmodel.html#implementing-a-remote-interface 2.5 Implementing a Remote Interface, abgerufen 27. Februar 2024]&lt;/ref&gt;</ins>.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>;Remote Reference: ist eine Referenz auf Remote Objects. Die Clients bekommen die Remote Reference von der RMI Registry.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>;Remote Reference: ist eine Referenz auf Remote Objects. Die Clients bekommen die Remote Reference von der RMI Registry.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td colspan="2" class="diff-lineno">Zeile 34:</td> <td colspan="2" class="diff-lineno">Zeile 34:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [http://www.oracle.com/technetwork/java/javase/tech/index-jsp-136424.html Java Remote Method Invocation] (englisch)</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [http://www.oracle.com/technetwork/java/javase/tech/index-jsp-136424.html Java Remote Method Invocation] (englisch)</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [http://www.sbgl.de/rmi/ Funktionsweise und Ziele von RMI]</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [http://www.sbgl.de/rmi/ Funktionsweise und Ziele von RMI]</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* [https://docs.oracle.com/en/java/javase/21/docs/specs/rmi/objmodel.html#implementing-a-remote-interface]</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[Kategorie:Java-Programmierschnittstelle]]</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[Kategorie:Java-Programmierschnittstelle]]</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[Kategorie:Middleware]]</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[Kategorie:Middleware]]</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>== Einzelnachweise ==</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>&lt;references /&gt;</div></td> </tr> </table> Thorsten Suckow-Homberg https://de.wikipedia.org/w/index.php?title=Remote_Method_Invocation&diff=235807056&oldid=prev Matthäus Wander: link 2023-07-25T15:49:14Z <p>link</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 25. Juli 2023, 17:49 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 6:</td> <td colspan="2" class="diff-lineno">Zeile 6:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Kommunikationsprotokoll ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Kommunikationsprotokoll ==</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>''RMI'' bezeichnet außerdem ein auf TCP/IP und [[JRMP]] basierendes [[Kommunikationsprotokoll]], das für entfernte Aufrufe zwischen Java-Objekten verwendet wird, und eine Java-Standard-[[Klassenbibliothek]], mit der diese Aufrufe realisiert werden können. Diese Klassenbibliothek ist Teil der ''[[Java Platform, Standard Edition|J2SE]]''. Alternativ kann auch [[IIOP]] als Kommunikationsprotokoll eingesetzt werden. Für RMI sind zwei [[Port (<del style="font-weight: bold; text-decoration: none;">Protokoll</del>)|Ports]] reserviert. Port 1099 ist für die RMI-Registry reserviert, also den Namensdienst. Port 1098 ist für den ''Activator'' reserviert.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>''RMI'' bezeichnet außerdem ein auf TCP/IP und [[JRMP]] basierendes [[Kommunikationsprotokoll]], das für entfernte Aufrufe zwischen Java-Objekten verwendet wird, und eine Java-Standard-[[Klassenbibliothek]], mit der diese Aufrufe realisiert werden können. Diese Klassenbibliothek ist Teil der ''[[Java Platform, Standard Edition|J2SE]]''. Alternativ kann auch [[IIOP]] als Kommunikationsprotokoll eingesetzt werden. Für RMI sind zwei [[Port (<ins style="font-weight: bold; text-decoration: none;">Netzwerkadresse</ins>)|Ports]] reserviert. Port 1099 ist für die RMI-Registry reserviert, also den Namensdienst. Port 1098 ist für den ''Activator'' reserviert.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Komponenten ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Komponenten ==</div></td> </tr> </table> Matthäus Wander https://de.wikipedia.org/w/index.php?title=Remote_Method_Invocation&diff=230881157&oldid=prev Carol.Christiansen: Änderungen von 195.202.162.6 (Diskussion) auf die letzte Version von TaxonBot zurückgesetzt 2023-02-14T12:11:34Z <p>Änderungen von <a href="/wiki/Spezial:Beitr%C3%A4ge/195.202.162.6" title="Spezial:Beiträge/195.202.162.6">195.202.162.6</a> (<a href="/w/index.php?title=Benutzer_Diskussion:195.202.162.6&amp;action=edit&amp;redlink=1" class="new" title="Benutzer Diskussion:195.202.162.6 (Seite nicht vorhanden)">Diskussion</a>) auf die letzte Version von <a href="/wiki/Benutzer:TaxonBot" title="Benutzer:TaxonBot">TaxonBot</a> zurückgesetzt</p> <a href="//de.wikipedia.org/w/index.php?title=Remote_Method_Invocation&amp;diff=230881157&amp;oldid=230881153">Änderungen zeigen</a> Carol.Christiansen https://de.wikipedia.org/w/index.php?title=Remote_Method_Invocation&diff=230881153&oldid=prev 195.202.162.6: Fortnite 2023-02-14T12:11:19Z <p>Fortnite</p> <a href="//de.wikipedia.org/w/index.php?title=Remote_Method_Invocation&amp;diff=230881153&amp;oldid=210777131">Änderungen zeigen</a> 195.202.162.6 https://de.wikipedia.org/w/index.php?title=Remote_Method_Invocation&diff=210777131&oldid=prev TaxonBot: Bot: Überarbeitung veralteter Syntax / HTML-Validierung 2021-04-10T11:37:09Z <p>Bot: Überarbeitung veralteter Syntax / <a href="/wiki/Hilfe:LINT" class="mw-redirect" title="Hilfe:LINT">HTML-Validierung</a></p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 10. April 2021, 13:37 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 1:</td> <td colspan="2" class="diff-lineno">Zeile 1:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Remote Method Invocation''' ('''RMI''', deutsch etwa „Aufruf entfernter Methoden“), gelegentlich auch als '''Methodenfernaufruf''' bezeichnet, ist der Aufruf einer [[Objektorientierte Programmierung|Methode]] eines entfernten [[Java (Programmiersprache)|Java]]-[[Objektorientierte Programmierung|Objekts]] und realisiert die Java-eigene Art des [[Remote Procedure Call]]. „Entfernt“ bedeutet dabei, dass sich das Objekt in einer anderen ''[[Java Virtual Machine]]'' befinden kann, die ihrerseits auf einem entfernten Rechner oder auf dem lokalen Rechner laufen kann. Dabei sieht der Aufruf für das aufrufende Objekt (bzw. dessen Programmierer) genauso aus wie ein lokaler Aufruf, es müssen jedoch besondere [[Ausnahmebehandlung|Ausnahmen]] (''Exceptions'') abgefangen werden, die zum Beispiel einen Verbindungsabbruch signalisieren können.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Remote Method Invocation''' ('''RMI''', deutsch etwa „Aufruf entfernter Methoden“), gelegentlich auch als '''Methodenfernaufruf''' bezeichnet, ist der Aufruf einer [[Objektorientierte Programmierung|Methode]] eines entfernten [[Java (Programmiersprache)|Java]]-[[Objektorientierte Programmierung|Objekts]] und realisiert die Java-eigene Art des [[Remote Procedure Call]]. „Entfernt“ bedeutet dabei, dass sich das Objekt in einer anderen ''[[Java Virtual Machine]]'' befinden kann, die ihrerseits auf einem entfernten Rechner oder auf dem lokalen Rechner laufen kann. Dabei sieht der Aufruf für das aufrufende Objekt (bzw. dessen Programmierer) genauso aus wie ein lokaler Aufruf, es müssen jedoch besondere [[Ausnahmebehandlung|Ausnahmen]] (''Exceptions'') abgefangen werden, die zum Beispiel einen Verbindungsabbruch signalisieren können.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Auf der [[Client]]-Seite kümmert sich der sogenannte ''[[Stub (Programmierung)|Stub]]'' um den Netzwerktransport. Der ''Stub'' muss entweder lokal oder über das Netz für den Client verfügbar sein. Vor dem Erscheinen der ''[[Java Platform, Standard Edition|Java 2 Standard Edition]]'' (J2SE) in Version 1.5.0 war der ''Stub'' eine mit dem RMI-Compiler &lt;<del style="font-weight: bold; text-decoration: none;">tt</del>&gt;rmic&lt;/<del style="font-weight: bold; text-decoration: none;">tt</del>&gt; erzeugte Klasse. Ab der Version 1.5 ist es nicht mehr notwendig, den RMI-Compiler &lt;<del style="font-weight: bold; text-decoration: none;">tt</del>&gt;rmic&lt;/<del style="font-weight: bold; text-decoration: none;">tt</del>&gt; aufzurufen. Das Erstellen des ''Stubs'' wird von der ''Java Virtual Machine'' übernommen.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Auf der [[Client]]-Seite kümmert sich der sogenannte ''[[Stub (Programmierung)|Stub]]'' um den Netzwerktransport. Der ''Stub'' muss entweder lokal oder über das Netz für den Client verfügbar sein. Vor dem Erscheinen der ''[[Java Platform, Standard Edition|Java 2 Standard Edition]]'' (J2SE) in Version 1.5.0 war der ''Stub'' eine mit dem RMI-Compiler &lt;<ins style="font-weight: bold; text-decoration: none;">span style="font-family:monospace;"</ins>&gt;rmic&lt;/<ins style="font-weight: bold; text-decoration: none;">span</ins>&gt; erzeugte Klasse. Ab der Version 1.5 ist es nicht mehr notwendig, den RMI-Compiler &lt;<ins style="font-weight: bold; text-decoration: none;">span style="font-family:monospace;"</ins>&gt;rmic&lt;/<ins style="font-weight: bold; text-decoration: none;">span</ins>&gt; aufzurufen. Das Erstellen des ''Stubs'' wird von der ''Java Virtual Machine'' übernommen.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Entfernte Objekte können zwar auch von einem bereits im Programm bekannten entfernten Objekt bereitgestellt werden, für die erste Verbindungsaufnahme werden aber die Adresse des Servers und ein Bezeichner (ein RMI-URL) benötigt. Für den Bezeichner liefert ein Namensdienst auf dem Server eine Referenz auf das entfernte Objekt zurück. Damit dies funktioniert, muss sich das entfernte Objekt im Server zuvor unter diesem Namen beim Namensdienst registriert haben. Der RMI-Namensdienst wird über statische Methoden der Klasse &lt;code&gt;java.rmi.Naming&lt;/code&gt; angesprochen. Der Namensdienst ist als eigenständiges Programm implementiert und wird ''RMI Registry'' genannt.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Entfernte Objekte können zwar auch von einem bereits im Programm bekannten entfernten Objekt bereitgestellt werden, für die erste Verbindungsaufnahme werden aber die Adresse des Servers und ein Bezeichner (ein RMI-URL) benötigt. Für den Bezeichner liefert ein Namensdienst auf dem Server eine Referenz auf das entfernte Objekt zurück. Damit dies funktioniert, muss sich das entfernte Objekt im Server zuvor unter diesem Namen beim Namensdienst registriert haben. Der RMI-Namensdienst wird über statische Methoden der Klasse &lt;code&gt;java.rmi.Naming&lt;/code&gt; angesprochen. Der Namensdienst ist als eigenständiges Programm implementiert und wird ''RMI Registry'' genannt.</div></td> </tr> </table> TaxonBot https://de.wikipedia.org/w/index.php?title=Remote_Method_Invocation&diff=191972379&oldid=prev Sebastian.Dietrich: Die letzte Textänderung von 213.61.224.44 wurde verworfen und die Version 168688928 von Predatorix wiederhergestellt. 2019-09-04T14:51:13Z <p>Die letzte Textänderung von <a href="/wiki/Spezial:Beitr%C3%A4ge/213.61.224.44" title="Spezial:Beiträge/213.61.224.44">213.61.224.44</a> wurde verworfen und die Version 168688928 von Predatorix wiederhergestellt.</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 4. September 2019, 16:51 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 1:</td> <td colspan="2" class="diff-lineno">Zeile 1:</td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>'''Remote Method Invocation''' ('''RMI''', deutsch etwa „Aufruf entfernter Methoden“), gelegentlich auch als '''Methodenfernaufruf''' bezeichnet, <del style="font-weight: bold; text-decoration: none;">war</del> der Aufruf einer [[Objektorientierte Programmierung|Methode]] eines entfernten [[Java (Programmiersprache)|Java]]-[[Objektorientierte Programmierung|Objekts]] und realisiert die Java-eigene Art des [[Remote Procedure Call]]. „Entfernt“ bedeutet dabei, dass sich das Objekt in einer anderen ''[[Java Virtual Machine]]'' befinden kann, die ihrerseits auf einem entfernten Rechner oder auf dem lokalen Rechner laufen kann. Dabei sieht der Aufruf für das aufrufende Objekt (bzw. dessen Programmierer) genauso aus wie ein lokaler Aufruf, es müssen jedoch besondere [[Ausnahmebehandlung|Ausnahmen]] (''Exceptions'') abgefangen werden, die zum Beispiel einen Verbindungsabbruch signalisieren können.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>'''Remote Method Invocation''' ('''RMI''', deutsch etwa „Aufruf entfernter Methoden“), gelegentlich auch als '''Methodenfernaufruf''' bezeichnet, <ins style="font-weight: bold; text-decoration: none;">ist</ins> der Aufruf einer [[Objektorientierte Programmierung|Methode]] eines entfernten [[Java (Programmiersprache)|Java]]-[[Objektorientierte Programmierung|Objekts]] und realisiert die Java-eigene Art des [[Remote Procedure Call]]. „Entfernt“ bedeutet dabei, dass sich das Objekt in einer anderen ''[[Java Virtual Machine]]'' befinden kann, die ihrerseits auf einem entfernten Rechner oder auf dem lokalen Rechner laufen kann. Dabei sieht der Aufruf für das aufrufende Objekt (bzw. dessen Programmierer) genauso aus wie ein lokaler Aufruf, es müssen jedoch besondere [[Ausnahmebehandlung|Ausnahmen]] (''Exceptions'') abgefangen werden, die zum Beispiel einen Verbindungsabbruch signalisieren können.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Auf der [[Client]]-Seite kümmert sich der sogenannte ''[[Stub (Programmierung)|Stub]]'' um den Netzwerktransport. Der ''Stub'' muss entweder lokal oder über das Netz für den Client verfügbar sein. Vor dem Erscheinen der ''[[Java Platform, Standard Edition|Java 2 Standard Edition]]'' (J2SE) in Version 1.5.0 war der ''Stub'' eine mit dem RMI-Compiler &lt;tt&gt;rmic&lt;/tt&gt; erzeugte Klasse. Ab der Version 1.5 ist es nicht mehr notwendig, den RMI-Compiler &lt;tt&gt;rmic&lt;/tt&gt; aufzurufen. Das Erstellen des ''Stubs'' wird von der ''Java Virtual Machine'' übernommen.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Auf der [[Client]]-Seite kümmert sich der sogenannte ''[[Stub (Programmierung)|Stub]]'' um den Netzwerktransport. Der ''Stub'' muss entweder lokal oder über das Netz für den Client verfügbar sein. Vor dem Erscheinen der ''[[Java Platform, Standard Edition|Java 2 Standard Edition]]'' (J2SE) in Version 1.5.0 war der ''Stub'' eine mit dem RMI-Compiler &lt;tt&gt;rmic&lt;/tt&gt; erzeugte Klasse. Ab der Version 1.5 ist es nicht mehr notwendig, den RMI-Compiler &lt;tt&gt;rmic&lt;/tt&gt; aufzurufen. Das Erstellen des ''Stubs'' wird von der ''Java Virtual Machine'' übernommen.</div></td> </tr> </table> Sebastian.Dietrich https://de.wikipedia.org/w/index.php?title=Remote_Method_Invocation&diff=191914460&oldid=prev 213.61.224.44: Macht kein Mensch mehr. Präteritum ist das korrekte Tempus. 2019-09-02T15:59:25Z <p>Macht kein Mensch mehr. Präteritum ist das korrekte Tempus.</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 2. September 2019, 17:59 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 1:</td> <td colspan="2" class="diff-lineno">Zeile 1:</td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>'''Remote Method Invocation''' ('''RMI''', deutsch etwa „Aufruf entfernter Methoden“), gelegentlich auch als '''Methodenfernaufruf''' bezeichnet, <del style="font-weight: bold; text-decoration: none;">ist</del> der Aufruf einer [[Objektorientierte Programmierung|Methode]] eines entfernten [[Java (Programmiersprache)|Java]]-[[Objektorientierte Programmierung|Objekts]] und realisiert die Java-eigene Art des [[Remote Procedure Call]]. „Entfernt“ bedeutet dabei, dass sich das Objekt in einer anderen ''[[Java Virtual Machine]]'' befinden kann, die ihrerseits auf einem entfernten Rechner oder auf dem lokalen Rechner laufen kann. Dabei sieht der Aufruf für das aufrufende Objekt (bzw. dessen Programmierer) genauso aus wie ein lokaler Aufruf, es müssen jedoch besondere [[Ausnahmebehandlung|Ausnahmen]] (''Exceptions'') abgefangen werden, die zum Beispiel einen Verbindungsabbruch signalisieren können.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>'''Remote Method Invocation''' ('''RMI''', deutsch etwa „Aufruf entfernter Methoden“), gelegentlich auch als '''Methodenfernaufruf''' bezeichnet, <ins style="font-weight: bold; text-decoration: none;">war</ins> der Aufruf einer [[Objektorientierte Programmierung|Methode]] eines entfernten [[Java (Programmiersprache)|Java]]-[[Objektorientierte Programmierung|Objekts]] und realisiert die Java-eigene Art des [[Remote Procedure Call]]. „Entfernt“ bedeutet dabei, dass sich das Objekt in einer anderen ''[[Java Virtual Machine]]'' befinden kann, die ihrerseits auf einem entfernten Rechner oder auf dem lokalen Rechner laufen kann. Dabei sieht der Aufruf für das aufrufende Objekt (bzw. dessen Programmierer) genauso aus wie ein lokaler Aufruf, es müssen jedoch besondere [[Ausnahmebehandlung|Ausnahmen]] (''Exceptions'') abgefangen werden, die zum Beispiel einen Verbindungsabbruch signalisieren können.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Auf der [[Client]]-Seite kümmert sich der sogenannte ''[[Stub (Programmierung)|Stub]]'' um den Netzwerktransport. Der ''Stub'' muss entweder lokal oder über das Netz für den Client verfügbar sein. Vor dem Erscheinen der ''[[Java Platform, Standard Edition|Java 2 Standard Edition]]'' (J2SE) in Version 1.5.0 war der ''Stub'' eine mit dem RMI-Compiler &lt;tt&gt;rmic&lt;/tt&gt; erzeugte Klasse. Ab der Version 1.5 ist es nicht mehr notwendig, den RMI-Compiler &lt;tt&gt;rmic&lt;/tt&gt; aufzurufen. Das Erstellen des ''Stubs'' wird von der ''Java Virtual Machine'' übernommen.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Auf der [[Client]]-Seite kümmert sich der sogenannte ''[[Stub (Programmierung)|Stub]]'' um den Netzwerktransport. Der ''Stub'' muss entweder lokal oder über das Netz für den Client verfügbar sein. Vor dem Erscheinen der ''[[Java Platform, Standard Edition|Java 2 Standard Edition]]'' (J2SE) in Version 1.5.0 war der ''Stub'' eine mit dem RMI-Compiler &lt;tt&gt;rmic&lt;/tt&gt; erzeugte Klasse. Ab der Version 1.5 ist es nicht mehr notwendig, den RMI-Compiler &lt;tt&gt;rmic&lt;/tt&gt; aufzurufen. Das Erstellen des ''Stubs'' wird von der ''Java Virtual Machine'' übernommen.</div></td> </tr> </table> 213.61.224.44 https://de.wikipedia.org/w/index.php?title=Remote_Method_Invocation&diff=168688928&oldid=prev Predatorix: Hervorhebung der Alternativbezeichnung 2017-09-01T18:17:57Z <p>Hervorhebung der Alternativbezeichnung</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 1. September 2017, 20:17 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 1:</td> <td colspan="2" class="diff-lineno">Zeile 1:</td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>'''Remote Method Invocation''' ('''RMI''', deutsch etwa „Aufruf entfernter Methoden“), gelegentlich auch als Methodenfernaufruf bezeichnet, ist der Aufruf einer [[Objektorientierte Programmierung|Methode]] eines entfernten [[Java (Programmiersprache)|Java]]-[[Objektorientierte Programmierung|Objekts]] und realisiert die Java-eigene Art des [[Remote Procedure Call]]. „Entfernt“ bedeutet dabei, dass sich das Objekt in einer anderen ''[[Java Virtual Machine]]'' befinden kann, die ihrerseits auf einem entfernten Rechner oder auf dem lokalen Rechner laufen kann. Dabei sieht der Aufruf für das aufrufende Objekt (bzw. dessen Programmierer) genauso aus wie ein lokaler Aufruf, es müssen jedoch besondere [[Ausnahmebehandlung|Ausnahmen]] (''Exceptions'') abgefangen werden, die zum Beispiel einen Verbindungsabbruch signalisieren können.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>'''Remote Method Invocation''' ('''RMI''', deutsch etwa „Aufruf entfernter Methoden“), gelegentlich auch als <ins style="font-weight: bold; text-decoration: none;">'''</ins>Methodenfernaufruf<ins style="font-weight: bold; text-decoration: none;">'''</ins> bezeichnet, ist der Aufruf einer [[Objektorientierte Programmierung|Methode]] eines entfernten [[Java (Programmiersprache)|Java]]-[[Objektorientierte Programmierung|Objekts]] und realisiert die Java-eigene Art des [[Remote Procedure Call]]. „Entfernt“ bedeutet dabei, dass sich das Objekt in einer anderen ''[[Java Virtual Machine]]'' befinden kann, die ihrerseits auf einem entfernten Rechner oder auf dem lokalen Rechner laufen kann. Dabei sieht der Aufruf für das aufrufende Objekt (bzw. dessen Programmierer) genauso aus wie ein lokaler Aufruf, es müssen jedoch besondere [[Ausnahmebehandlung|Ausnahmen]] (''Exceptions'') abgefangen werden, die zum Beispiel einen Verbindungsabbruch signalisieren können.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Auf der [[Client]]-Seite kümmert sich der sogenannte ''[[Stub (Programmierung)|Stub]]'' um den Netzwerktransport. Der ''Stub'' muss entweder lokal oder über das Netz für den Client verfügbar sein. Vor dem Erscheinen der ''[[Java Platform, Standard Edition|Java 2 Standard Edition]]'' (J2SE) in Version 1.5.0 war der ''Stub'' eine mit dem RMI-Compiler &lt;tt&gt;rmic&lt;/tt&gt; erzeugte Klasse. Ab der Version 1.5 ist es nicht mehr notwendig, den RMI-Compiler &lt;tt&gt;rmic&lt;/tt&gt; aufzurufen. Das Erstellen des ''Stubs'' wird von der ''Java Virtual Machine'' übernommen.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Auf der [[Client]]-Seite kümmert sich der sogenannte ''[[Stub (Programmierung)|Stub]]'' um den Netzwerktransport. Der ''Stub'' muss entweder lokal oder über das Netz für den Client verfügbar sein. Vor dem Erscheinen der ''[[Java Platform, Standard Edition|Java 2 Standard Edition]]'' (J2SE) in Version 1.5.0 war der ''Stub'' eine mit dem RMI-Compiler &lt;tt&gt;rmic&lt;/tt&gt; erzeugte Klasse. Ab der Version 1.5 ist es nicht mehr notwendig, den RMI-Compiler &lt;tt&gt;rmic&lt;/tt&gt; aufzurufen. Das Erstellen des ''Stubs'' wird von der ''Java Virtual Machine'' übernommen.</div></td> </tr> </table> Predatorix https://de.wikipedia.org/w/index.php?title=Remote_Method_Invocation&diff=163887438&oldid=prev Trustable: Kleinigkeiten verbessert 2017-03-23T18:21:58Z <p>Kleinigkeiten verbessert</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 23. März 2017, 20:21 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 1:</td> <td colspan="2" class="diff-lineno">Zeile 1:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Remote Method Invocation''' ('''RMI''', deutsch etwa „Aufruf entfernter Methoden“), gelegentlich auch als Methodenfernaufruf bezeichnet, ist der Aufruf einer [[Objektorientierte Programmierung|Methode]] eines entfernten [[Java (Programmiersprache)|Java]]-[[Objektorientierte Programmierung|Objekts]] und realisiert die Java-eigene Art des [[Remote Procedure Call]]. „Entfernt“ bedeutet dabei, dass sich das Objekt in einer anderen ''[[Java Virtual Machine]]'' befinden kann, die ihrerseits auf einem entfernten Rechner oder auf dem lokalen Rechner laufen kann. Dabei sieht der Aufruf für das aufrufende Objekt (bzw. dessen Programmierer) genauso aus wie ein lokaler Aufruf, es müssen jedoch besondere [[Ausnahmebehandlung|Ausnahmen]] (''Exceptions'') abgefangen werden, die zum Beispiel einen Verbindungsabbruch signalisieren können.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Remote Method Invocation''' ('''RMI''', deutsch etwa „Aufruf entfernter Methoden“), gelegentlich auch als Methodenfernaufruf bezeichnet, ist der Aufruf einer [[Objektorientierte Programmierung|Methode]] eines entfernten [[Java (Programmiersprache)|Java]]-[[Objektorientierte Programmierung|Objekts]] und realisiert die Java-eigene Art des [[Remote Procedure Call]]. „Entfernt“ bedeutet dabei, dass sich das Objekt in einer anderen ''[[Java Virtual Machine]]'' befinden kann, die ihrerseits auf einem entfernten Rechner oder auf dem lokalen Rechner laufen kann. Dabei sieht der Aufruf für das aufrufende Objekt (bzw. dessen Programmierer) genauso aus wie ein lokaler Aufruf, es müssen jedoch besondere [[Ausnahmebehandlung|Ausnahmen]] (''Exceptions'') abgefangen werden, die zum Beispiel einen Verbindungsabbruch signalisieren können.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Auf der [[Client]]-Seite kümmert sich der sogenannte ''[[Stub (Programmierung)|Stub]]'' um den Netzwerktransport. Der ''Stub'' muss entweder lokal oder über das Netz für den Client verfügbar sein. Vor dem Erscheinen der ''[[Java Platform Standard Edition|Java 2 Standard Edition]]'' (J2SE) in Version 1.5.0 war der ''Stub'' eine mit dem RMI-Compiler &lt;tt&gt;rmic&lt;/tt&gt; erzeugte Klasse. <del style="font-weight: bold; text-decoration: none;">Seit</del> der Version 1.5 ist es nicht mehr notwendig, den RMI-Compiler &lt;tt&gt;rmic&lt;/tt&gt; aufzurufen. Das Erstellen des ''Stubs'' wird von der ''Java Virtual Machine'' übernommen.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Auf der [[Client]]-Seite kümmert sich der sogenannte ''[[Stub (Programmierung)|Stub]]'' um den Netzwerktransport. Der ''Stub'' muss entweder lokal oder über das Netz für den Client verfügbar sein. Vor dem Erscheinen der ''[[Java Platform<ins style="font-weight: bold; text-decoration: none;">,</ins> Standard Edition|Java 2 Standard Edition]]'' (J2SE) in Version 1.5.0 war der ''Stub'' eine mit dem RMI-Compiler &lt;tt&gt;rmic&lt;/tt&gt; erzeugte Klasse. <ins style="font-weight: bold; text-decoration: none;">Ab</ins> der Version 1.5 ist es nicht mehr notwendig, den RMI-Compiler &lt;tt&gt;rmic&lt;/tt&gt; aufzurufen. Das Erstellen des ''Stubs'' wird von der ''Java Virtual Machine'' übernommen.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Entfernte Objekte können zwar auch von einem bereits im Programm bekannten entfernten Objekt bereitgestellt werden, für die erste Verbindungsaufnahme werden aber die Adresse des Servers und ein Bezeichner (ein RMI-URL) benötigt. Für den Bezeichner liefert ein Namensdienst auf dem Server eine Referenz auf das entfernte Objekt zurück. Damit dies funktioniert, muss sich das entfernte Objekt im Server zuvor unter diesem Namen beim Namensdienst registriert haben. Der RMI-Namensdienst wird über statische Methoden der Klasse &lt;code&gt;java.rmi.Naming&lt;/code&gt; angesprochen. Der Namensdienst ist als eigenständiges Programm implementiert und wird ''RMI Registry'' genannt.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Entfernte Objekte können zwar auch von einem bereits im Programm bekannten entfernten Objekt bereitgestellt werden, für die erste Verbindungsaufnahme werden aber die Adresse des Servers und ein Bezeichner (ein RMI-URL) benötigt. Für den Bezeichner liefert ein Namensdienst auf dem Server eine Referenz auf das entfernte Objekt zurück. Damit dies funktioniert, muss sich das entfernte Objekt im Server zuvor unter diesem Namen beim Namensdienst registriert haben. Der RMI-Namensdienst wird über statische Methoden der Klasse &lt;code&gt;java.rmi.Naming&lt;/code&gt; angesprochen. Der Namensdienst ist als eigenständiges Programm implementiert und wird ''RMI Registry'' genannt.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Kommunikationsprotokoll ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Kommunikationsprotokoll ==</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>''RMI'' bezeichnet außerdem ein auf TCP/IP und [[JRMP]] basierendes [[Kommunikationsprotokoll]], das für entfernte Aufrufe zwischen Java-Objekten verwendet wird, und eine Java-Standard-[[Klassenbibliothek]], mit der diese Aufrufe realisiert werden können. Diese Klassenbibliothek ist Teil der ''[[Java Platform Standard Edition|J2SE]]''. Alternativ kann auch [[IIOP]] als Kommunikationsprotokoll eingesetzt werden. Für RMI sind zwei [[Port (Protokoll)|Ports]] reserviert. Port 1099 ist für die RMI-Registry reserviert, also den Namensdienst. Port 1098 ist für den ''Activator'' reserviert.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>''RMI'' bezeichnet außerdem ein auf TCP/IP und [[JRMP]] basierendes [[Kommunikationsprotokoll]], das für entfernte Aufrufe zwischen Java-Objekten verwendet wird, und eine Java-Standard-[[Klassenbibliothek]], mit der diese Aufrufe realisiert werden können. Diese Klassenbibliothek ist Teil der ''[[Java Platform<ins style="font-weight: bold; text-decoration: none;">,</ins> Standard Edition|J2SE]]''. Alternativ kann auch [[IIOP]] als Kommunikationsprotokoll eingesetzt werden. Für RMI sind zwei [[Port (Protokoll)|Ports]] reserviert. Port 1099 ist für die RMI-Registry reserviert, also den Namensdienst. Port 1098 ist für den ''Activator'' reserviert.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Komponenten ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Komponenten ==</div></td> </tr> <tr> <td colspan="2" class="diff-lineno">Zeile 18:</td> <td colspan="2" class="diff-lineno">Zeile 18:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># Der Server registriert ein ''Remote Object'' bei der RMI-Registry unter einem eindeutigen Namen.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># Der Server registriert ein ''Remote Object'' bei der RMI-Registry unter einem eindeutigen Namen.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># Der Client sieht bei der RMI-Registry unter diesem Namen nach und bekommt eine Objektreferenz, die seinem ''Remote Interface'' entsprechen muss.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># Der Client sieht bei der RMI-Registry unter diesem Namen nach und bekommt eine Objektreferenz, die seinem ''Remote Interface'' entsprechen muss.</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div># Der Client ruft eine Methode aus der Objektreferenz auf (dass diese Methode existiert, wird durch das ''Remote Interface'' garantiert). Dabei kann ein Objekt einer Klasse X übergeben werden, die der JVM des Servers bisher nicht bekannt ist (das ist möglich, wenn X ein dem Server bekanntes Interface implementiert). In diesem Fall lädt die Server-JVM die Klasse X dynamisch nach, beispielsweise vom Webserver des Client.<del style="font-weight: bold; text-decoration: none;"> </del></div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div># Der Client ruft eine Methode aus der Objektreferenz auf (dass diese Methode existiert, wird durch das ''Remote Interface'' garantiert). Dabei kann ein Objekt einer Klasse X übergeben werden, die der JVM des Servers bisher nicht bekannt ist (das ist möglich, wenn X ein dem Server bekanntes Interface implementiert). In diesem Fall lädt die Server-JVM die Klasse X dynamisch nach, beispielsweise vom Webserver des Client.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># Die Server-JVM führt die Methode auf dem ''Remote Object'' aus, wobei evtl. dynamisch geladener Fremdcode benutzt wird (z.&amp;nbsp;B. Methoden von X), der im Allgemeinen Sicherheitsrestriktionen unterliegt. Dem Client werden die Rückgabewerte dieses Aufrufes gesendet, oder der Client bekommt eine Fehlermeldung (z.&amp;nbsp;B. bei einem Verbindungsabbruch).</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># Die Server-JVM führt die Methode auf dem ''Remote Object'' aus, wobei evtl. dynamisch geladener Fremdcode benutzt wird (z.&amp;nbsp;B. Methoden von X), der im Allgemeinen Sicherheitsrestriktionen unterliegt. Dem Client werden die Rückgabewerte dieses Aufrufes gesendet, oder der Client bekommt eine Fehlermeldung (z.&amp;nbsp;B. bei einem Verbindungsabbruch).</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> </table> Trustable