A marshalling architecture ships method calls from one environment to another and provides some degree of help with the platform impedance issues discussed earlier. As mentioned in §A.2, marshalling involves seven steps:
Convert a method invocation into a request message.
Deliver the request message to a target environment.
Convert the request message into a method stack in the target environment.
Invoke the method.
Convert the return value(s) or exception(s) into a response message.
Deliver the response message to the source environment.
Convert the response message back into the types expected by the caller.
In order for this communication to occur inside a single process space, the ...