Serialization Kavramı Nedir?

Soru: Programlama dillerinde serialization kavramı nedir ?

Cevap:


*class Book( ) için binary gösterim değerleri temsilidir.


  • Diyelim ki 2 adet farklı fiziksel makinede çalışan 2 adet uygulamanız var. İki uygulama da ortak kullanılan bir veri transfer etmek istiyor.
  • Bu uygulamalar bazı vasıtalarla veriyi birbiriyle paylaşmak istiyor. Bu vasıtalar bir dosya sistemi, TCP, UDP, HTTP veya herhangi uygun bir ağ protokolü olabilir.
  • Bu vasıtalardan herhangi biri sadece tanımlanmış bit dizilerinin formunu anlayacaktır. 
  • Örneğin bir uygulama diğerine 12 değerini göndereceği zaman binary gösterimde 1100 olacak ve "1100" 'ı tanımlayacak bazı bilgiler de beraber gönderilecek.
  • Bu özet bilgi ayrıca diğer makine tarafından kolayca anlaşılabilir bir bit dizisi olacak.
  • 12 değeri yerine daha karmaşık veri türlerini transfer etmek istediğimiz senaryoyu düşünelim. Örneğin Python, Java gibi programlama dillerinde tanımladığınız bir model(entity) class olsun. Bu model(entity) class'ı diğer uygulamaya göndermek istediğiniz zaman serialization devreye girer ve onu binary formata çevirir.
  • REST ile HTTP üzerinden veri transferi yapmak istediğimizde veriyi binary değil de json formatında alır-dönüştürür kullanırız.
Kaynaklar: 
1) https://stackoverflow.com/questions/3042665/what-is-the-meaning-of-serialization-concept-in-programming-languages 

Şekil çizimi için: https://www.draw.io/ kullanıldı.

Yorumlar