Índice:
Definição - O que significa Marshalling?
Marshalling é o processo de transformar a representação de memória de um objeto em outro formato, adequado para armazenamento ou transmissão para outros aplicativos de software. O Marshalling permite a comunicação entre objetos remotos, convertendo um objeto em formato serializado.
Techopedia explica Marshalling
Há também um processo inverso chamado desserialização, no qual um objeto ou estrutura de dados é desserializada. Os processos de Marshalling e de desempacotamento são o inverso um do outro; portanto, todo processo realizado em um método também é revertido no outro método. Se uma determinada sequência binária for adicionada durante o empacotamento, ela será removida durante o empacotamento e vice-versa.
Diferentes mecanismos de chamada de procedimento remoto (RPC) são implementados via marshalling, em que diferentes processos e encadeamentos geralmente têm formatos de dados diferentes, que exigem o uso de marshalling entre eles.
Os ponteiros de interface do Microsoft Component Object Model (COM) usam empacotamento para trocar dados através dos limites do objeto COM. O mesmo ocorre na estrutura do .NET, quando um tipo baseado no Common Language Language Runtime precisa se comunicar com outros tipos não gerenciados via marshalling.
Os scripts e os aplicativos baseados na tecnologia XPCOM (Modelo de Objeto Componente de Plataforma Cruzada) são outros exemplos em que o empacotamento é de importância crítica. O Mozilla Application Framework usa XPCOM, que usa marshalling extensivamente.
