# Serialisierung vs. Marshaling?



## flashray (20. März 2007)

Hallo,

kenne den Begriff Marshaling im Zusammenhang mit CORBA. Dort nennt man das Überführen eines Objektes in bspw. einen String um diesen bspw. vom Server zum Clienten zu transportieren Marshaling. Das extrahieren auf der Clientseite dann Demarshaling.

Ein Ähnlicher Begriff ist Serialisierung, bei dem Objekte in einen Stream geschrieben werden. Analog zu oben Deserialisierung.

Irgendwie komme ich auf keinen grünen Zweig, bei der Festellung der Gemeinsamkeiten und Differenzen dieser beiden Begriffe.

Kann mich jemand diesbezüglich vielleicht aufklären?

Wegen der Ähnlichkeit frage ich mich ob Marshaling äquivalent zu Serialisierung ist? Oder ob das eine Untermenge des anderen?

   


Vg Erdal


----------



## flashray (15. April 2007)

Hallo,

bin jetzt nach einer intensiven Recherche zu folgender vorläufigen Erkenntnis gekommen:

Bei Marshalling (CORBA) wird eine Referenz eines Objektes an andere Netzwerkteilnehmer gesandt und nicht der Objektzustand. Diese Empfänger lösen die Nachricht auf (Demarshalling) und haben eine Referenz zu einem entfernten Objekt dessen Methoden sie nun benutzen können.

Bei der Serialisierung (Java) hingegen werden Kopien von Objekten ausgetauscht, nicht Referenzen. Der Empfänger hat dann lokal bei sich ein Objekt das keinen Bezug mehr zum Sender hat. Hier geht es primär um die Speicherung bzw. Weitergabe von Informationen in Form von Objektzuständen.

Kann das bitte jemand bestätigen/verbessern oder ergänzen?


Vg Erdal


----------



## flashray (15. April 2007)

Hallo,

nach meinen neuesten Funden, hat sich die Richtung der Dinge wesentlich geändert. Das Marshalling bzw. Demarshalling bei CORBA hat nichts mit der Mitteilung der Referenz des Remote Objects zu tun. Sondern ...
der Clientstub
a1) marshallt die Aufrufparameter des RPC und 
a2) demarshallt die Rückgabewerte/Exceptions des Aufrufes.
Der Serverskeleton
b1) demarshallt die Aufrufparameter, und leitet sie weiter an den Servant
b2) und marshallt die Rückgabewerte oder Exceptions des Aufrufs


Vg Erdal


----------



## flashray (15. April 2007)

Mein bisheriges Fazit: Serialisierung und Marshalling sind keineswegs Synonyme sondern beschreiben ganz unterschiedliche Sachverhalte, wie in den letzten Posts dargestellt.

Eines ist mir aber noch unklar. Umfasst Marshalling neben dem Umwandlen der RPC Daten in das IDL Format auch das Schreiben dieser an den Empfänger? Analog umfasst das Demarshalling neben dem Umwandlen aus dem IDL Format auch das Lesen der RPC Daten? Oder beschreibt Marshalling nur den Vorgang Konversion bei den Stubs und Skeletons?

PS: Informatik scheint manchmal schwieriger als Philosophie und Linguistik zu sein. Auch eine Welt die nur aus nullen und einsen besteht kann derart komplex werden, das man sich darin verirrt  !

Vg Erdal


----------

