Apa itu Serialisasi?

Dalampemrograman komputer, serialisasi adalah proses mengambil struktur data yang disimpan dalam memori lokal dan mengubahnya menjadi aliran byte yang dapat ditransmisikan melalui jaringan atau disimpan pada disk untuk dipasang kembali dan digunakan oleh program lain.Serialisasi juga dapat digunakan untuk menyimpan keadaan suatu objek sehingga dapat dimuat ulang nanti oleh program yang sama.Penggunaan yang lebih kompleks dari fungsi ini adalah untuk memanggil panggilan prosedur jarak jauh (RPC), secara efektif menjalankan prosedur di komputer lain melalui jaringan.Mekanisme ini juga memungkinkan untuk distribusi objek data melalui sistem jaringan yang besar.

Wanita melakukan handstand dengan komputer

Hampir setiapbahasa komputercararnmemiliki dukungan asli untuk serialisasi atau perpustakaan yang tersedia untuk menambahkan fungsi ini.Ketika sebuah objek diserialkan, semua bidang objek diratakan.Proses ini juga dikenal sebagai deflasi atau marshalling.Data diubah menjadi baris byte satu dimensi yang dapat ditulis ke aliran keluaran apa pun.Jenis aliran keluaran tidak masalah dan bisa berupa file atau soket jaringan.

Setelah data diserialisasi dan dikirim ke lokasi akhirnya, proses deserialisasi dimulai.Program yang membaca aliran byte mengembalikan semua informasi dan menempatkannya dalam contoh baru dari objek asli, membuat salinan yang sama persis.Penting untuk dipahami bahwa hanya data yang dipegang objek yang disusun;objek dan metode dan data implementasi lainnya tidak.Ini berarti program yang mendeserialisasi data harus dapat membuat turunan dari kelas yang awalnya diserialisasi.

Serialisasi struktur data dapat digunakan untuk berbagai tujuan.Informasi objek dapat disimpan pada media fisik sehingga keadaan yang tepat dari setiap objek dapat dikembalikan ke titik saat eksekusi program dihentikan.Ini dapat digunakan untuk mengirim pesan ke komputer lain yang akan menyebabkan prosedur jarak jauh berjalan.Serialisasi bahkan dapat digunakan untuk membandingkan perubahan status secara efisien dalam aplikasi waktu nyata.

Sebelum menggunakan serialisasi objek, penting untuk memahami beberapa batasan yang diberikannya.Yang paling penting adalah, melalui proses mengubah objek menjadi aliran byte, bidang yang dinyatakan sebagai pribadi akan diekspos.Selama transmisi aliran, data ini dapat ditangkap dan diterjemahkan, menghadirkan lubang keamanan.Sebagian besar bahasa memungkinkan eksternalisasi format serialisasi data sehingga pengkodean berpemilik dimungkinkan untuk membantu mengurangi risiko ini.

Faktor lain yang perlu diingat adalah bahwa serialisasi akan, secara umum, hanya bekerja dengan objek yang persis sama dengan objek serial.Jika bidang atau metode baru ditambahkan ke objek, maka tanda tangan objek akan berubah.Ini berarti objek yang disimpan akan menyebabkan pengecualian dan data akan menjadi tidak dapat dipulihkan sampai sebuah instance dari objek asli yang tidak dimodifikasi mencoba memulihkannya.

Related Posts