• 404
Aydın

Serialization ve Deserialization Nedir ?

  • 404
Serialization ve Deserialization Nedir ?

2 Cevap

  1. Serialization: Bir nesnenin saklanacak / transfer edilecek forma dönüştürülme işlemidir. Serileşmenin tersi olarak Deserialization ifadesi kullanılır ve bu da Stream’in (Akış) nesne modeline dönüştürülme işlemidir.

    .Net Framework içerisinde bulunan System.Runtime.Serialization namespace’i bu işlemler için kullanılmaktadır. İçerisinde bulunan sınıflar ve araçlar sayesinde, kendi nesnelerimizi istenilen/ihtiyaç duyulan formatta saklama imkanı sunar.

    Serialization bize iki temel metot sunar;

    • XML “eXtensiple Markup Language” ve SOAP “Simple Object Access Protokol” Serileştirme işlemleri
    • Binary (ikili) Serialization

    Binar Serialization:

    Tür bağımlılığı açısından önemlidir. İkili serileştirme işlemi, daha çok bir birinden bağımsız iki uygulama arasında, nesne modellerini taşımak için kullanılır. İkili serileştirme işlemi; bir nesnenin durumunun saklama ortamına uygun hale getirilip yazılması süreci olarak tanımlanabilir. İşlem süresince, nesnenin “public” ve “private” öğeleri, sınıfın adı, sınıfı barındıran Assembly’ nin adı saklama ortamına yazılmak üzere “byte” lar akışına çevirilir.

    Nesne, Deserialize edildiğinde ise nesnenin tam bir kopyası oluşturulur ve kullanıma sunulur. Binary serialization ile .Net Remoting kullanarak farklı domain içinde bulunan bir bilgisayardaki uygulamalara bile taşınabilir. Bazen Binary Serialization ile bir nesneyi serialize etmek, sürücüde gereğinden çok fazla yer işgal etmeye neden olabilir, çünkü nesnemiz kendi ve içinde bulunan her yapı ve nesne için sürücüde binary header ile fazladan yer işgal eder. Hatta eğer nesnelerden oluşmuş bir array veya collection(IList, ObservableCollection vb…) varsa bunun içinde bulunan her nesne içinde (foreach) bir binary header (o class’ın yapısı) dosyamıza eklenerek dosyanın boyutunu şişirebilir.

    XML ve SOAP Serileştirme:

    Tür esnekliği ile ön plana çıkan bu yapı, çok sık tercih edilmektedir. XML Serileştirme işleminde sadece ortak tipler ve metotlar serileştirilebilir. Bu yapıda verilerimnizi kullanacak olan uygulamayı kısıtlamadan saklayabiliriz. XML ve SOAP açık bir standart yapı olduğundan, aynı zaman da her türlü uygulama ile rahatlıkla okunabildiğinden veri paylaşımı oldukça hızlıdır.

    Bu konu ile ilgli örnekleri, internette çok fazla bulabilirsiniz, onun için bir örnek vermiyorum.

    • 155
  2. Verilerin bir kaynaktan alınması veya bir yere depolanması nesneler aracılığı ile gerçekleştirilir. Ancak her programlama dilinde farklı yani platformda kendine özgü bir nesne yapısı olduğundan dolayı, bir platformun diğerinin nesne yapısını bilmesi beklenemez. Bu gibi durumlarda verilerin platform bağımsız bir şeklide depolanması veya transfer edilmesi amacıyla bazı standartlar oluşturulmuştur. Bu standartlardan bazıları Binary, Simple Object Access Protocol(SOAP), JSON veya XML şeklinde belirlenmiştir.

    • 108

Cevap eklemek için giriş yapmalısınız.