Serialización
# Serialización

En ciencias de la computación, la serialización (o marshalling en inglés) consiste en un proceso de codificación de un objeto en un medio de almacenamiento (como puede ser un archivo, o un buffer de memoria) con el fin de transmitirlo a través de una conexión en red como una serie de bytes o en un formato humanamente más legible como XML o JSON, entre otros. La serie de bytes o el formato pueden ser usados para crear un nuevo objeto que es idéntico en todo al original, incluido su estado interno (por tanto, el nuevo objeto es un clon del original). La serialización es un mecanismo ampliamente usado para transportar objetos a través de una red, para hacer persistente un objeto en un archivo o base de datos, o para distribuir objetos idénticos a varias aplicaciones o localizaciones.

## Usos

La serialización tiene una serie de ventajas:

* Un método de persistencia de objetos que es más conveniente que escribir sus propiedades a un archivo de texto en disco.
* Un método de emisión de llamadas a procedimiento remoto, por ejemplo, SOAP.
* Un método para la distribución de objetos, especialmente en los componentes software, tales como COM, CORBA, etc.
* Un método para detectar cambios en variables en el tiempo.

## Soporte en los lenguajes de programación

Varios lenguajes de programación orientados a objetos soportan la serialización de forma directa. Algunos de ellos son Objective-C, ObjectScript, Java, Object Pascal, C#, Visual Basic .NET, ColdFusion, Ocaml, Perl, Python, PHP y Ruby

