wake-up-neo.com

was ist Stub auf dem "Server" und was bedeutet Skelett?

Was macht stub auf der Serverseite? Und was ist ein Skelett ?

from wikipedia

Dies ist ein Diagramm aus Wikipedia. Ich habe stub sowohl auf dem Server als auch auf dem Client installiert. Ich verstehe, dass Stub bei der Vernetzung auf der Client-Seite hilft, aber was macht Stub auf der Server-Seite?

Auch in der obigen Abbildung, was bedeutet Skelett?

19
program-o-steve

schauen Sie sich das folgende Bild an:

skeleton

Kurz gesagt: Stub und Skeleton sind Gegenstücke in einem Webservice-Setup. Skeleton belongs to service provider side und stub belongs to receiver side. Auf der unteren Ebene kommunizieren Stub und Skelett miteinander. 

Auf der Clientseite kommunizieren die Geschäftsobjekte mit Stub-Objekten, und Stub übernimmt die Verantwortung von der Nachricht und ruft den Web-Service auf. Wenn der Aufruf abgeschlossen ist, ist das Skelett auf der Seite des Service Providers das parallele Objekt für die Stub-Funktion, und es empfängt die Anforderungsnachricht, versteht diese und leitet die Informationen an die dienstleistungsseitigen Geschäftsobjekte weiter.

15
aMooly

Stub und Skelett verbergen eine gewisse Komplexität.

Der Stub verbirgt die Serialisierung von Parametern und die Kommunikation auf Netzwerkebene, um dem Anrufer einen einfachen Aufrufmechanismus zu präsentieren. 

Das Gerüst ist für die Weiterleitung des Aufrufs an die eigentliche Implementierung von Remote-Objekten verantwortlich. 

http://docs.Oracle.com/javase/7/docs/platform/rmi/spec/rmi-Arch2.html

http://www-itec.uni-klu.ac.at/~harald/ds2001/rmi/rmi.html

6
Matjaz Muhic

Das erste, was Sie tun müssen, ist, die Skelette zu vergessen. Sie sind seit 13 Jahren veraltet.

Das stub wird vom fernen Objekt erstellt, wenn es exportiert wird. Sie wird dann entweder an die Registry gebunden und vom Client über eine Suche abgerufen, oder sie wird als Ergebnis einer anderen Remote-Methode direkt an den Client zurückgegeben.

Der Client verwendet dann den Stub als Implementierung der betreffenden Remote-Schnittstelle, um den Netzwerkteil von RMI auszuführen, wobei er mit der Server-JVM interagiert, um schließlich dieselbe Methode im Remote-Objekt aufzurufen, die der Client im Stub aufruft.

4
user207421

Der Schlüssel zum Verständnis von "Stubs" und "Skeletten" besteht darin, das Konzept von Marshalling zu verstehen: 

Die -Rundschaftsarbeit ist nur eine Suchfunktion; nichts mehr. Wenn ein Server eine bind() ausführt, "registriert" er sich selbst bei der rmiregistry . Wenn ein Client eine lookup() ausführt, prüft er, was auf dem Server registriert ist. Nicht mehr, nicht weniger.

Ich denke nicht, dass es Sinn macht, über Terminologie wie "Skelette" zu streiten. Wenn Sie möchten, können Sie alles als "Stub" bezeichnen. Der Punkt ist, beide sind PROXIES, beide tun MARSHALLING, eine Seite existiert unter dem Client (in der der Client aufruft), und die andere Seite ist auf dem Server vorhanden (das Grundgerüst ruft den eigentlichen Servercode auf).

Hoffentlich haben meine Erklärung und mein Beispiel in Ihrem einem anderen Link geholfen (zumindest ein wenig).

3
paulsm4

Stub: Ein Stub ist eine kleine Programmroutine, die ein längeres Programm ersetzt, das möglicherweise später geladen wird oder aus der Ferne liegt.

Skeleton Ein Skelett für ein Remote-Objekt ist eine serverseitige Entität, die Aufrufe an die eigentliche Remote-Objektimplementierung weiterleitet.

0
Shabbir

Stub

Ein Stub für ein Remote-Objekt fungiert als lokaler Vertreter eines Clients oder als Proxy für das Remote-Objekt. Der Stub verbirgt die Serialisierung von Parametern und die Kommunikation auf Netzwerkebene, um dem Anrufer einen einfachen Aufrufmechanismus zu präsentieren. 

Alternativ kann ein Programm betrachtet werden, das auf einer Maschine ausgeführt wird: Jede Methode ist eine Verzweigung. Wenn Sie die Methode auf eine Remote-Maschine verschieben, trennen Sie den Zweig ab und belassen einen Stub, der nur die Kommunikation enthält.
Quelle

 enter image description here


Skelett

In der Remote-JVM kann jedes Remote-Objekt ein entsprechendes Gerüst haben. Das Gerüst ist für die Weiterleitung des Aufrufs an die eigentliche Implementierung von Remote-Objekten verantwortlich. 

Und ein Skelett betrachte ich als erste Implementierung - etwas, das die aufrufende Konvention erfüllt, eine Teiloperation ausführt und zufriedenstellend abschließt. 

Formular Oracle

0
Premraj