What Does Marshalling Mean?

Marshalling is the process of transforming the memory representation of an object into another format, which is suitable for storage or transmission to other software applications. Marshalling allows communication between remote objects by converting an object into serialized form.


Techopedia Explains Marshalling

There is also a reverse process called unmarshalling in which an object or data structure is deserialized. Marshalling and unmarshalling processes are the reverse of each other, so every process performed in one method is also reversed in the other method. If a certain binary sequence is added during marshalling, it is removed during unmarshalling and vice versa.

Different remote procedure call (RPC) mechanisms are implemented via marshalling, where different processes and threads typically have different data formats, which require the use of marshalling between them.

The interface pointers of the Microsoft Component Object Model (COM) use marshalling in order to exchange data across COM object boundaries. The same thing happens in the .NET framework, when a common-language-runtime-based type needs to communicate with other unmanaged types via marshalling.

Scripts and Cross-Platform Component Object Model (XPCOM) technology-based applications are other examples where marshalling is of critical importance. The Mozilla Application Framework uses XPCOM, which uses marshalling extensively.


Related Terms

Margaret Rouse
Technology Expert

Margaret is an award-winning technical writer and teacher known for her ability to explain complex technical subjects to a non-technical business audience. Over the past twenty years, her IT definitions have been published by Que in an encyclopedia of technology terms and cited in articles by the New York Times, Time Magazine, USA Today, ZDNet, PC Magazine, and Discovery Magazine. She joined Techopedia in 2011. Margaret's idea of a fun day is helping IT and business professionals learn to speak each other’s highly specialized languages.