Concept

Marshalling (computer science)

Summary
In computer science, marshalling or marshaling (US spelling) is the process of transforming the memory representation of an object into a data format suitable for storage or transmission. It is typically used when data must be moved between different parts of a computer program or from one program to another. Marshalling can be somewhat similar to or synonymous with serialization. Marshalling is describing an intent or process to transfer some object from a client to server. The intent of marshalling is to have the same object that is present in one running program be present in another running program; that is, an object on the client should be transferred to the server. Serialization does not necessarily have this same intent, since it is only concerned about transforming data, for example, into a stream of bytes. Marshalling and serialization might be done differently, but some form of serialization is usually used to do marshalling. It simplifies complex communications, because it uses composite objects in order to communicate instead of primitive objects. The inverse process of marshalling is called unmarshalling (or demarshalling, similar to deserialization). An unmarshalling interface takes a serialized object and transforms it into an internal data structure. The accurate definition of marshalling differs across programming languages such as Python, Java, and .NET, and in some contexts, is used interchangeably with serialization. To "serialize" an object means to convert its state into a byte stream in such a way that the byte stream can be converted back into a copy of the object. The term "marshal" is used for a specific type of "serialization" in the Python standard library – storing internal python objects: The marshal module exists mainly to support reading and writing the “pseudo-compiled” code for Python modules of .pyc files. ... If you’re serializing and de-serializing Python objects, use the pickle module instead In the Java-related , marshalling is used when serialising objects for remote invocation.
About this result
This page is automatically generated and may contain information that is not correct, complete, up-to-date, or relevant to your search query. The same applies to every other page on this website. Please make sure to verify the information with EPFL's official sources.