Nella programmazione del computer, che cos'è il marshalling?
Il marshalling nel contesto della programmazione per computer è la trasformazione di componenti archiviati nella memoria del dispositivo in dati utilizzabili che possono essere utilizzati da uno o più programmi che risiedono sul disco rigido. L'azione di raccolta dei dati in aree di archiviazione per un facile recupero è notevolmente migliorata dal processo di marshalling, in quanto consente ai programmi di recuperare i dati per l'uso senza la necessità di tradurre i componenti ogni volta che viene richiesta l'azione. Da questo punto di vista, il marshalling aiuta nella rapida funzione di molti dei programmi software utilizzati nelle case e nelle imprese ogni giorno.
Oltre a convertire oggetti in dati e preparare i dati per l'archiviazione o la trasmissione quando necessario, il marshalling funge anche da buffer tra i dati memorizzati e i vari file o programmi che utilizzano i dati. Questo buffer aiuta a mantenere l'integrità dei dati memorizzati e consente di utilizzarli per azioni simultanee che coinvolgono più di un file o un programma. L'effetto complessivo è di mantenere il sistema a livelli ottimali senza ritardi. Ad esempio, il marshalling consente di lavorare contemporaneamente con un foglio di calcolo, un documento di elaborazione testi e una connessione Internet aperta, senza ritardi. I dati sottoposti a marshalling possono essere utilizzati contemporaneamente da tutte queste applicazioni senza creare un drenaggio delle risorse del disco rigido.
Molte persone che sono informate sull'informatica in generale considerano il marshalling un po 'simile a un processo noto come serializzazione. La serializzazione di un oggetto comporta la conversione dell'oggetto dallo stato originale in un flusso di byte, ma in un modo in cui il flusso di byte può essere riconvertito nello stato originale, se necessario. Il marshalling differisce dalla serializzazione in quanto la serializzazione non registra basi di codice. Il marshalling gestisce sia le funzioni di conversione che la registrazione di basi di codice. Inoltre, il marshalling può essere utilizzato con oggetti remoti, mentre la serializzazione no. Ciò significa che per alcune configurazioni, può essere preferibile l'approccio marshall alla conversione, archiviazione e trasmissione degli oggetti.