En cambio, el marshalling, está principalmente pensado para sistemas distribuidos y, por eso, debemos tener más información aparte de los datos propiamente dichos.
Este método lo que hace es crear un objeto remoto propio de CORBA en representación del objeto local, de manera que la comunicación entre diferentes equipos sea satisfactoria.Esto podemos hacerlo entre diferentes máquinas, pero no todos los lenguajes están soportados por CORBA.
Aquí vemos como en Java se utiliza el término serialización de manera indiferente para ambos procesos.
El XML, principal formato para el marshalling, esto se debe a que no hay incompatibilidades de comunicación entre lenguajes ni plataformas.
Esto se debe a que no sólo enviamos un dato sino metadatos.