Bagikan melalui


Layanan Serialisasi

Microsoft RPC mendukung dua metode untuk mengodekan dan mendekode data, yang secara kolektif disebut menserialisasikan data. Serialisasi berarti bahwa data di-marshal ke dan tidak direkayasa dari buffer yang Anda kontrol. Ini berbeda dari penggunaan tradisional RPC, di mana stub dan pustaka run-time RPC memiliki kontrol penuh atas buffer marshaling, dan prosesnya transparan. Anda dapat menggunakan buffer untuk penyimpanan pada media permanen, enkripsi, dan sebagainya. Saat Anda mengodekan data, RPC membagi data ke buffer dan meneruskan buffer kepada Anda. Saat Anda mendekode data, Anda menyediakan buffer marshaling dengan data di dalamnya, dan data tidak di-dekode dari buffer ke memori. Anda dapat membuat serialisasi berdasarkan prosedur atau jenis.

Nota

Istilah acar umumnya digunakan di antara pengembang untuk menggambarkan serialisasi. Bahkan, sampel Windows SDK berisi direktori yang disebut pickle yang mempertahankan program sampel serialisasi RPC.

 

Serialisasi memanfaatkan mekanisme RPC untuk marshaling dan unmarshaling data untuk tujuan lain. Misalnya, alih-alih menggunakan beberapa operasi I/O untuk membuat serialisasi sekelompok objek ke aliran, aplikasi dapat mengoptimalkan performa dengan menserialisasikan beberapa objek dari berbagai jenis ke dalam buffer dan kemudian menulis seluruh buffer dalam satu operasi. Fungsi yang memanipulasi handel serialisasi tidak bergantung pada jenis serialisasi yang Anda gunakan.

Sebagai contoh lain, jika Anda perlu menggunakan mekanisme transportasi jaringan selain RPC, seperti Microsoft Windows Sockets (Winsock). Dengan serialisasi RPC, program Anda dapat melakukan panggilan ke fungsi yang membuat marshal data Anda ke buffer lalu mengirimkan data ini menggunakan Winsock. Ketika aplikasi Anda menerima data, aplikasi dapat menggunakan mekanisme serialisasi RPC untuk membatalkan amarshal data dari buffer yang diisi oleh rutinitas Winsock. Ini memberi Anda banyak keuntungan dari aplikasi bergaya RPC, dan pada saat yang sama, memungkinkan Anda untuk menggunakan mekanisme transportasi non-RPC.

Anda juga dapat menggunakan serialisasi untuk tujuan yang tidak terkait dengan komunikasi jaringan. Misalnya, setelah Anda menggunakan fungsi pengodean RPC untuk marshal data ke buffer, Anda dapat menyimpannya dalam file untuk digunakan oleh aplikasi lain. Anda juga dapat mengenkripsinya. Anda bahkan dapat menggunakannya untuk menyimpan representasi data independen perangkat keras dan sistem operasi dalam database.

Topik berikut menyajikan diskusi tentang layanan serialisasi yang didukung Microsoft RPC: