Em ciência da computação, no contexto de armazenamento e transmissão de dados, serialização é o processo de tradução de estruturas de dados ou estado de objeto em um formato que possa ser armazenado (por exemplo, em um arquivo ou buffer de memória, ou transmitido por meio de um enlace de conexão de rede) e reconstruído posteriormente no mesmo ou em outro ambiente computacional. Quando a série de bits resultante é relida de acordo com o formato de serialização, ela pode ser usada para criar um clone do objeto original idêntico semanticamente. Para muitos objetos complexos, como aqueles que fazem uso extensivo de referências, este processo não é direto. A serialização de objetos orientados a objetos não incluem qualquer de seus métodos associados com os quais eles foram previamente ligados inextricavelmente.
Este processo de serialização de um objeto também é chamado de marshalling de objeto.How to marshal an object to a remote server by value by using Visual Basic 2005 or Visual Basic .NET […] Because the whole object is being serialized to the server (marshaling by value), the code will execute in the server's process. A operação oposta, a extração de uma estrutura de dados de uma série de bytes e chamada de desserialização (também chamada de unmarshalling).
Usos A serialização fornece algumas vantagens, tais como:
um método simples e robusto de tornar objetos persistentes um método para a implementação de chamadas de procedimento remoto um método a distribuição de objetos, tais como usados em COM e CORBA.
Para que tais funcionalidades sejam usufruídas, deve ser mantida a independência de arquitetura. Por exemplo, um computador com uma arquitetura de hardware diferente deve ser capaz de reconstruir de forma consistente o fluxo de dados seriais.
A serialização também fornece algumas desvantagens. Como a codificação é serial, para se extrair determinada informação de uma estrutura de dados deve-se reconstruir todo o objeto antes de ler a informação.
Suporte a linguagens de programação Várias linguagens de programação orientadas a objetos suportam serialização de forma direta:
Algumas delas são: Objective-C Java Delphi C# Visual Basic .NET ColdFusion Ocaml Perl Python PHP Ruby
Categoria:Armazenamento de dados Categoria:Transmissão de dados Categoria:Formatos de serialização de dados