Marshaling
Eintrag zuletzt aktualisiert am: 28.01.2007
Marshaling ist das Verpacken eines Programmcodeaufrufs in eine Nachricht, sodass ein Aufruf zwischen zwei Programmen möglich ist, die keinen gemeinsamen Speicher besitzen.
Um einen RPC/
LRPC auszuführen, ist es notwendig, den Funktionsnamen und die Parameter in eine Nachricht (Paket) zu verpacken, die über das
Netzwerk dem entfernten System bzw. dem anderen Prozess zugestellt wird. Ebenso müssen die Rückgabewerte nach Ende der Prozedur an den Aufrufer zurückgegeben werden. Eine besondere Herausforderung sind dabei Zeiger. Hier müssen Speicherbereiche übergeben werden, da eine Übergabe eines Zeigers zwischen Prozess- und Systemgrenzen hinweg sinnlos wäre. Der Vorgang der Parameterübergabe wird als
Marshalling bezeichnet und findet im sogenannten
Proxy statt. Auf der Gegenseite erfolgt im
Stub ein De
Marshalling. Das Format, in dem die Daten übertragen werden, heißt
Network Data Representation (
NDR).