Concept

Marshalling (computer science)

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.
Related courses (1)
COM-490: Large-scale data science for real-world data
This hands-on course teaches the tools & methods used by data scientists, from researching solutions to scaling up prototypes to Spark clusters. It exposes the students to the entire data science pipe
Related lectures (4)
Spark Data Frames
Covers Spark Data Frames, distributed collections of data organized into named columns, and the benefits of using them over RDDs.
General Introduction to Big Data
Covers data science tools, Hadoop, Spark, data lake ecosystems, CAP theorem, batch vs. stream processing, HDFS, Hive, Parquet, ORC, and MapReduce architecture.
Semantic Web: Knowledge Graphs
Explores knowledge representation, information extraction, and the Semantic Web vision, emphasizing standardization, mapping, and ontologies in structuring data.
Show more
Related publications (18)

Better Patch Stitching for Parametric Surface Reconstruction

Pascal Fua, Mathieu Salzmann, Zhantao Deng, Jan Bednarík

Recently, parametric mappings have emerged as highly effective surface representations, yielding low reconstruction error. In particular, the latest works represent the target shape as an atlas of multiple mappings, which can closely encode object parts. A ...
IEEE2020

Impact of Data Serialization over TSVs on Routing Congestion in 3D-Stacked Multi-Core Processors

Giovanni De Micheli, Yusuf Leblebici, Alessandro Cevrero, Giulia Beanato

3D integration can alleviate routing congestion, reducing the wirelength and improving performances. Nevertheless, each TSV still occupies non-negligible silicon area: as the number of TSV increases, their effect on the chip routing is detrimental. The red ...
Elsevier2016

Language Support for Distributed Functional Programming

Software development has taken a fundamental turn. Software today has gone from simple, closed programs running on a single machine, to massively open programs, patching together user experiences byway of responses received via hundreds of network requests ...
EPFL2015
Show more
Related concepts (6)
Component Object Model
Component Object Model (COM) is a binary-interface standard for software components introduced by Microsoft in 1993. It is used to enable inter-process communication object creation in a large range of programming languages. COM is the basis for several other Microsoft technologies and frameworks, including OLE, OLE Automation, Browser Helper Object, ActiveX, COM+, DCOM, the Windows shell, DirectX, UMDF and Windows Runtime.
API
An () is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how to build or use such a connection or interface is called an . A computer system that meets this standard is said to or an API. The term API may refer either to the specification or to the implementation. In contrast to a user interface, which connects a computer to a person, an application programming interface connects computers or pieces of software to each other.
Component-based software engineering
Component-based software engineering (CBSE), also called component-based development (CBD), is a branch of software engineering that emphasizes the separation of concerns with respect to the wide-ranging functionality available throughout a given software system. It is a reuse-based approach to defining, implementing and composing loosely coupled independent components into systems. This practice aims to bring about an equally wide-ranging degree of benefits in both the short-term and the long-term for the software itself and for organizations that sponsor such software.
Show more

Graph Chatbot

Chat with Graph Search

Ask any question about EPFL courses, lectures, exercises, research, news, etc. or try the example questions below.

DISCLAIMER: The Graph Chatbot is not programmed to provide explicit or categorical answers to your questions. Rather, it transforms your questions into API requests that are distributed across the various IT services officially administered by EPFL. Its purpose is solely to collect and recommend relevant references to content that you can explore to help you answer your questions.