Overview a respeito de Serialização – Início de Codificação: Criação de uma Ferramenta de Serialização/Desserialização Genérica – Parte 1

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (0)  (0)

Veja neste artigo como criar uma ferramenta genérica para Serialização e Desserialização de objetos. Essa ferramenta será bastante útil para aqueles que trabalham com Web Services e XMLs. Nesta primeira parte aprenderemos um pouco mais sobre Serialização e iniciaremos a codificação de nossa ferramenta

Olá a todos.

 

Cada vez mais o uso de arquivos XML se mostra necessário no nosso dia a dia. Projetos de integração de sistemas, construção de projetos multiplataformas e até projetos que disponibilizam serviços via Cloud Computing nos obrigam cada vez mais dominarmos as técnicas de construção de Web Services que lidam com arquivos do tipo XML.

 

Nesse contexto, as técnicas de Serialização se mostram muito úteis no nosso cotidiano.

 

Serialização é o processo de transformar um objeto (geralmente uma instância de uma classe) em uma sequência de bytes, para persistir na memória, num banco de dados ou em um arquivo. O objetivo é salvar o estado de um objeto para poder recriá-lo quando necessário. Para recriar um objeto utilizamos a desserialização, que é o processo inverso ao de Serialização, ou seja, transformar uma sequência de bytes em um objeto.

 

 


Ilustração 1 - Processo de Serialização

 

O objeto é serializado em um fluxo, que pode transportar não apenas dados, mas informações sobre o tipo do objeto, como seu nome, versão, cultura, e assembly. Esse fluxo pode ser armazenado em um banco de dados, em um arquivo, ou na memória.

 

A serialização permite que o desenvolvedor salve o estado de um objeto e o recrie conforme necessário, fornecendo o armazenamento dos objetos, bem como intercâmbio de dados. Através da serialização, um desenvolvedor pode executar ações como enviar o objeto para um aplicativo remoto por meio de um serviço da Web, passando um objeto de um domínio para outro, passando um objeto através de um firewall como uma sequência XML

 

Neste artigo construiremos uma ferramenta que poderá serializar objetos para XML, visando disponibilizar de maneira simples essa funcionalidade tão importante no nosso dia a dia.

 

Vale ressaltar que o .Net Framework oferece muitas maneiras de implementarmos nossos códigos customizados de serialização/desserialização através do Namespace System.Runtime.Serialization. No nosso artigo utilizaremos outro Namespace – System.Xml.Serialization, que disponibiliza um objeto específico para serialização de objetos em XML. Caso o leitor tenha curiosidade em obter maiores informações o site da MSDN possui diversos materiais a respeito - http://msdn.microsoft.com. 

 

 

Agora que sabemos um pouco sobre Serialização, vamos iniciar a construção de nossa ferramenta.

 

No Visual Studio crie uma nova solução de nome Custom Serializer.

 


Ilustração 2 - Criação da solução

 

Com a solução criada adicione um porjeto do tipo Class Library de nome “Utils” e um projeto do tipo Console Application de nome “TestProject”.

 


Ilustração 3 - criação dos projetos

 

Vamos começar a codificação. Inicialmente vamos construir uma classe que será utilizada para criar o objeto que iremos Serializar/Desserializar. No .Net é necessário indicar nas classes que construímos, que podem ser serializadas. Essa indicação é feita através do uso de um atributo – “Serializable”, Que fica no Namespace “System”. Esse atributo deverá ser utilizado, para indicar ao Runtime que a classe pode ser serializada.

 

No projeto “TestProject” crie uma nova classe de nome Cliente, como demosntra a listagem a seguir.

 

using System;
namespace TestProject
{
    [System.Serializable]
    publicclass Cliente
    {
        private int _id;
        private string_nomeCompleto;
        private int _cpf;
        private string_email;
        private string_senha;
 
        public int Id
        {
            get { return _id; }
            set { _id = value; }
        }
        public stringNomeCompleto
        {
            get { return_nomeCompleto; }
            set { _nomeCompleto = value;}
        }
        public int Cpf
        {
            get { return _cpf; }
            set { _cpf = value; }
        }
        public string Email
        {
            get { return _email;}
            set { _email = value;}
        }
        public string Senha
        {
            get { return _senha;}
            set { _senha = value; }
        }
 
    }
}

 

Repare o leitor, que utilizamos o atributo “System.Serializable” acima da declaração da classe. No mais a classe é bastante simples, contendo apenas campos privados e propriedades.

 

Com isso chegamos no final desta parte do artigo, onde vimos os conceitos básicos de Serialização e como construir classes que serão serializadas.

No próximo artigo, iniciaremos a codificação da ferramenta proposta aqui.

 

Nos vemos na próxima parte do artigo. Grande abraço e até lá.

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?