Este é um post disponível para assinantes MVPEste post também está disponível para assinantes da Easy .net magazine
ou para quem possui Créditos DevMedia. Clique aqui para saber mais!
ou para quem possui Créditos DevMedia. Clique aqui para saber mais!
Serialização - Revista easy .Net Magazine 22
A finalidade deste artigo é apresentar a técnica de manipulação de objetos conhecida como serialização. A mesma é um processo em que se converte o estado de um objeto para um formato que permita posteriormente sua recuperação.
[fechar]
Você não gostou da qualidade deste conteúdo?
(opcional) Você gostaria de comentar o que não lhe agradou?
Easy .net magazine 22
[Artigo disponível no Leitor Digital DevMedia. Clique aqui para acessá-lo]
> Clique aqui para ler todos os artigos da Easy .net magazine 22
[Artigo disponível no Leitor Digital DevMedia. Clique aqui para acessá-lo]
> Clique aqui para ler todos os artigos da Easy .net magazine 22
Utilitários como MP3 Player, aparelhos telefones entre outros, geralmente permitem muitas vezes a gravação de preferências e, até mesmo, mantêm um pequeno repositório de informações que são preservadas e recuperadas em cada ocasião na qual o programa em questão for acionado. A possibilidade de manter certos estados oferece a um usuário a chance de customizar certos comportamentos (como alguma preferencia do sistema em si) do software, sem que isto implique na perda de configurações que já haviam sido preenchidas.
Diferente de sistemas corporativos, os quais são projetados para operar em um contexto caracterizado por um grande volume de informações, aplicações mais simples costumam dispensar o uso de bancos relacionais. Os dados necessários à utilização de tais programas são normalmente gravados em arquivos, com essas estruturas servindo não apenas como meio para armazenamento, como também ponto de obtenção de informações processadas anteriormente.
Linguagens de programação baseadas em conceitos da Orientação a Objetos contam geralmente com alternativas para a implementação de funcionalidades desse gênero. Referências para uma determinada classe são geralmente convertidas para algum meio de armazenamento, visando à recuperação dos objetos correspondentes num momento futuro. O .NET Framework e Java são plataformas nas quais este tipo de técnica é suportado.
Ao procedimento de conversão de um objeto em um formato que permita sua reutilização futura dá-se o nome de serialização. A operação inversa a isto é conhecida como desserialização, sendo caracterizada pela geração de uma instância idêntica à referência original (incluindo todas as informações presentes nesta última).
Além da geração e consumo de arquivos por executáveis, a serialização é uma prática bastante utilizada na transmissão de objetos de um sistema a outro. Web Services constituem um bom exemplo disto, com os dados presentes em um objeto sendo organizados em um formato que viabiliza a transferência do serviço para uma aplicação que consome o mesmo.
Este artigo tem por finalidade demonstrar como o processo de serialização pode ser implementado em .NET. Para isto, será criada uma aplicação na qual se emprega esse tipo de recurso, com os arquivos resultantes servindo para recuperar instâncias exatamente iguais aos objetos em que os mesmos se basearam.
Nota do DevMan
O paradigma de desenvolvimento de software conhecido como Orientação a Objetos gira em torno dos conceitos de classe e objeto.
Objetos são representações dentro de um software para elementos presentes no mundo real. Um objeto conta normalmente com atributos e comportamentos. Atributos devem ser compreendidos como características que identificam um objeto. Já comportamentos correspondem a ações possíveis de se acionar a partir de um objeto, buscando a produção de algum resultado específico.
Uma classe é um template para a geração de objetos. Por template deve-se entender como uma estrutura, um “esqueleto”, que define quais atributos e comportamentos serão possíveis para um determinado objeto. Em termos práticos, um objeto é dito como sendo uma instância (ou referência) de uma classe.
Nota do DevMan
Web Services são estruturas (serviços) que expõem funcionalidades de negócio como métodos que poderão ser consumidos por outras aplicações. A comunicação entre um Web Service e um software que dependa do mesmo se faz geralmente via requisições HTTP. Devido a estas características, Web Services são um dos principais recursos utilizados na integração entre diferentes sistemas. Dentro da plataforma .NET, a tecnologia WCF (Windows Communication Foundation) representa o principal meio para a construção de soluções baseadas em serviços.
Serialização no .NET Framework: uma visão geral
Serialização é o processo em que se converte o estado de objeto de um modo que o mesmo possa ser persistido ou ainda, que facilite o seu transporte ao longo de um meio de transmissão como uma rede (a Internet, por exemplo). A desserialização é um tipo de operação em que acontece justamente o inverso, ou seja, a partir do resultado de algo que havia sido serializado obtém-se uma nova instância, exatamente igual à referência empregada inicialmente.
Por estado de um objeto devem ser consideradas informações presentes no mesmo e normalmente vinculadas às suas propriedades (ou campos). Já a noção de persistência refere-se a um procedimento no qual se gravam informações em estruturas como arquivos, com tais dados podendo ser obtidos novamente num momento posterior, basicamente através de operações de leitura executadas a partir do local em que estes itens foram armazenados.
O .NET Framework conta com os seguintes tipos de serialização:
• Serialização em formato binário: possibilita que o estado de propriedades (desconsideradas aquelas marcadas como somente leitura) e campos (variáveis de instância) de um objeto sejam preservados em meios como um arquivo em disco, um stream em memória, a partir da transmissão em rede de uma aplicação .NET para outra etc. Membros públicos, protegidos ou até mesmo privados são previstos dentro deste tipo de processo de serialização. Este processo é realizado através de instâncias da classe BinaryFormatter (namespace System.Runtime.Serialization.Formatters.Binary);
"
Este é um post disponível para assinantes MVP
Diferente de sistemas corporativos, os quais são projetados para operar em um contexto caracterizado por um grande volume de informações, aplicações mais simples costumam dispensar o uso de bancos relacionais. Os dados necessários à utilização de tais programas são normalmente gravados em arquivos, com essas estruturas servindo não apenas como meio para armazenamento, como também ponto de obtenção de informações processadas anteriormente.
Linguagens de programação baseadas em conceitos da Orientação a Objetos contam geralmente com alternativas para a implementação de funcionalidades desse gênero. Referências para uma determinada classe são geralmente convertidas para algum meio de armazenamento, visando à recuperação dos objetos correspondentes num momento futuro. O .NET Framework e Java são plataformas nas quais este tipo de técnica é suportado.
Ao procedimento de conversão de um objeto em um formato que permita sua reutilização futura dá-se o nome de serialização. A operação inversa a isto é conhecida como desserialização, sendo caracterizada pela geração de uma instância idêntica à referência original (incluindo todas as informações presentes nesta última).
Além da geração e consumo de arquivos por executáveis, a serialização é uma prática bastante utilizada na transmissão de objetos de um sistema a outro. Web Services constituem um bom exemplo disto, com os dados presentes em um objeto sendo organizados em um formato que viabiliza a transferência do serviço para uma aplicação que consome o mesmo.
Este artigo tem por finalidade demonstrar como o processo de serialização pode ser implementado em .NET. Para isto, será criada uma aplicação na qual se emprega esse tipo de recurso, com os arquivos resultantes servindo para recuperar instâncias exatamente iguais aos objetos em que os mesmos se basearam.
Nota do DevMan
O paradigma de desenvolvimento de software conhecido como Orientação a Objetos gira em torno dos conceitos de classe e objeto.
Objetos são representações dentro de um software para elementos presentes no mundo real. Um objeto conta normalmente com atributos e comportamentos. Atributos devem ser compreendidos como características que identificam um objeto. Já comportamentos correspondem a ações possíveis de se acionar a partir de um objeto, buscando a produção de algum resultado específico.
Uma classe é um template para a geração de objetos. Por template deve-se entender como uma estrutura, um “esqueleto”, que define quais atributos e comportamentos serão possíveis para um determinado objeto. Em termos práticos, um objeto é dito como sendo uma instância (ou referência) de uma classe.
Nota do DevMan
Web Services são estruturas (serviços) que expõem funcionalidades de negócio como métodos que poderão ser consumidos por outras aplicações. A comunicação entre um Web Service e um software que dependa do mesmo se faz geralmente via requisições HTTP. Devido a estas características, Web Services são um dos principais recursos utilizados na integração entre diferentes sistemas. Dentro da plataforma .NET, a tecnologia WCF (Windows Communication Foundation) representa o principal meio para a construção de soluções baseadas em serviços.
Serialização no .NET Framework: uma visão geral
Serialização é o processo em que se converte o estado de objeto de um modo que o mesmo possa ser persistido ou ainda, que facilite o seu transporte ao longo de um meio de transmissão como uma rede (a Internet, por exemplo). A desserialização é um tipo de operação em que acontece justamente o inverso, ou seja, a partir do resultado de algo que havia sido serializado obtém-se uma nova instância, exatamente igual à referência empregada inicialmente.
Por estado de um objeto devem ser consideradas informações presentes no mesmo e normalmente vinculadas às suas propriedades (ou campos). Já a noção de persistência refere-se a um procedimento no qual se gravam informações em estruturas como arquivos, com tais dados podendo ser obtidos novamente num momento posterior, basicamente através de operações de leitura executadas a partir do local em que estes itens foram armazenados.
O .NET Framework conta com os seguintes tipos de serialização:
• Serialização em formato binário: possibilita que o estado de propriedades (desconsideradas aquelas marcadas como somente leitura) e campos (variáveis de instância) de um objeto sejam preservados em meios como um arquivo em disco, um stream em memória, a partir da transmissão em rede de uma aplicação .NET para outra etc. Membros públicos, protegidos ou até mesmo privados são previstos dentro deste tipo de processo de serialização. Este processo é realizado através de instâncias da classe BinaryFormatter (namespace System.Runtime.Serialization.Formatters.Binary);
"
A exibição deste artigo foi interrompida.
Este é um post disponível para assinantes MVPEste post também está disponível para assinantes da Easy .net magazine
ou para quem possui Créditos DevMedia. Clique aqui para saber mais!
ou para quem possui Créditos DevMedia. Clique aqui para saber mais!
Atua como consultor em atividades voltadas ao desenvolvimento de softwares há mais de 10 anos. Bacharel em Sistemas de Informação, com especialização em Engenharia de Software. Microsoft Certified Technology Specialist (Web, WCF, Distributed Applications, ADO.NET, Windows Forms), Microsoft Specialis...
O que você achou deste post?
Cursos relacionados
Publicidade




