Skip to main content

Apa itu serialisasi?

Dalam pemrograman 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 status objek sehingga dapat dimuat ulang nanti dengan program yang sama. Penggunaan fungsi ini yang lebih kompleks adalah untuk meminta panggilan prosedur jarak jauh (RPC), secara efektif menjalankan prosedur pada komputer lain melalui jaringan. Mekanisme ini juga memungkinkan untuk distribusi objek data melalui sistem jaringan besar.

Hampir setiap bahasa komputer modern memiliki dukungan asli untuk serialisasi atau aPerpustakaan yang tersedia untuk menambahkan fungsi ini. Ketika suatu objek diserialisasi, semua bidang objek diratakan. Proses ini juga dikenal sebagai mengempis atau marshalling. Data diubah menjadiBaris byte satu dimensi yang dapat ditulis ke aliran output apa pun.Jenis aliran output tidak masalah dan bisa berupa file atau soket jaringan.

Setelah data telah diserialisasi dan dikirim ke lokasi terakhirnya, proses deserialisasi dimulai. Program yang dibacaAliran byte mengembalikan semua informasi dan menempatkannya dalam contoh baru dari objek asli, membuat salinan yang tepat. Penting untuk dipahami bahwa hanya data yang dimiliki objek yang dipegang;Objek dan metodenya dan data implementasi lainnya tidak. Ini berarti program yang deserialisasi data harus dapat membuat instance dari kelas yang awalnya diserialisasi.

Serialisasi struktur data dapat digunakanUntuk berbagai tujuan. Informasi objek dapat disimpan di 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 yangakan menyebabkan prosedur jarak jauh berjalan. Serialisasi bahkan dapat digunakan untuk secara efisien membandingkan perubahan keadaan dalam aplikasi waktu nyata.

Sebelum menggunakan serialisasi objek, penting untuk memahami beberapa batasan yang dikenakannya.Yang penting adalah bahwa, melalui proses mengubah objek menjadi aliran byte, bidang yang dinyatakan sebagai pribadi akan diekspos. Selama transmisi aliran, data ini dapat ditangkap dan didekodekan, menyajikan alubang keamanan. kebanyakan bahasaUsia memungkinkan untuk eksternalisasi format serialisasi data sehingga pengkodean eksklusif dimungkinkan untuk membantu mengurangi risiko ini.

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