In Computer Programming, what is Marshalling?

Article Details
  • Written By: Malcolm Tatum
  • Edited By: Bronwyn Harris
  • Last Modified Date: 09 October 2019
  • Copyright Protected:
    Conjecture Corporation
  • Print this Article
Free Widgets for your Site/Blog
In 2008, Mike Merrill became the first publicly traded person, allowing shareholders to control his life decisions.  more...

October 23 ,  1983 :  Suicide bombers killed nearly 300 US and French military troops in Beirut.  more...

Marshalling in the context of computer programming is the transformation of components stored in the memory of the device into usable data that may be utilized by one or more of the programs residing on the hard drive. The action of gathering data into storage areas for easy retrieval is greatly enhanced by the process of marshalling, as it allows programs to recover the data for use without the need to translate the components each time the action is called for. From this perspective, marshalling aids in the speedy function of many of the software programs used in homes and businesses every day.

Along with converting objects into data and preparing the data for storage or transmission when needed, marshalling also acts as a buffer between the stored data and the various files or programs that make use of the data. This buffer helps to maintain the integrity of the stored data and allow it to be used for simultaneous actions involving more than one file or one program. The overall effect is to keep the system functioning at optimal levels without delays. For example, marshalling helps to make it possible to work with a spreadsheet, a word processing document, and an open Internet connection all at the same time, without delays. Marshalled data may be in use by all of these applications simultaneously without creating a drain on the resources of the hard drive.


Many persons who are knowledgeable about computer science in general consider marshalling to be somewhat similar to a process that is known as serialization. Serializing an object involves converting the object from the original state into a byte stream, but in a manner where the byte stream can be converted back into the original state if necessary. Marshalling differs from serialization in that serialization does not record codebases. Marshalling handles both the functions of conversion and the recording of codebases. In addition, marshalling can be utilized with remote objects, whereas serialization cannot. This means that for some configurations, the marshall approach to object conversion, storage, and transmission may be preferable.


You might also Like


Discuss this Article

Post 4

@Charred - They sold their development division so they don’t make the compilers anymore. Another company bought that out.

Post 3

@MrMoody - Did you say you worked with Borland? Are they still around?

Post 2

@bteck - I agree. Marshalling can get to be a difficult concept to master for newcomers, but basically it’s all about converting data from one form to another in order to share between resources—at least that’s one take. I worked with a company that developed both Borland and Microsoft products, and we often had to use marshalling to convert data in memory so that both development environments could transfer the information back and forth. Microsoft has some built-in classes, especially in their .NET platform, which make marshalling fairly straightforward. You can find a lot of examples online.

Post 1

Well written explanation, clear and simple. Keep it up!

Post your comments

Post Anonymously


forgot password?