Wat is Marshalling in computerprogrammering?
Marshalling in de context van computerprogrammering is de transformatie van componenten die zijn opgeslagen in het geheugen van het apparaat in bruikbare gegevens die kunnen worden gebruikt door een of meer van de programma's die zich op de harde schijf bevinden. De actie van het verzamelen van gegevens in opslaggebieden voor eenvoudig terugvinden wordt aanzienlijk verbeterd door het proces van marshalling, omdat het programma's in staat stelt de gegevens te herstellen voor gebruik zonder de componenten te moeten vertalen telkens wanneer de actie wordt gevraagd. Vanuit dit perspectief helpt marshalling bij de snelle werking van veel van de softwareprogramma's die dagelijks in huizen en bedrijven worden gebruikt.
Naast het omzetten van objecten in gegevens en het voorbereiden van de gegevens voor opslag of verzending indien nodig, fungeert marshalling ook als een buffer tussen de opgeslagen gegevens en de verschillende bestanden of programma's die gebruik maken van de gegevens. Deze buffer helpt bij het handhaven van de integriteit van de opgeslagen gegevens en maakt het mogelijk deze te gebruiken voor gelijktijdige acties met meer dan één bestand of één programma. Het algemene effect is om het systeem optimaal te laten functioneren zonder vertragingen. Marshalling helpt bijvoorbeeld om het mogelijk te maken om tegelijkertijd zonder vertragingen te werken met een spreadsheet, een tekstverwerkingsdocument en een open internetverbinding. Marshalled-gegevens kunnen door al deze toepassingen tegelijkertijd worden gebruikt zonder de bronnen van de harde schijf te belasten.
Veel mensen met kennis van informatica in het algemeen beschouwen marshalling enigszins als een proces dat bekend staat als serialisatie. Het serialiseren van een object omvat het converteren van het object van de oorspronkelijke status naar een bytestream, maar op een manier waarbij de bytestream indien nodig weer in de oorspronkelijke status kan worden omgezet. Marshalling verschilt van serialisatie doordat serialisatie geen codebases registreert. Marshalling behandelt zowel de functies van conversie als het opnemen van codebases. Bovendien kan marshalling worden gebruikt met externe objecten, terwijl serialisatie dat niet kan. Dit betekent dat voor sommige configuraties de marshall-benadering van objectconversie, opslag en verzending de voorkeur kan hebben.