Layanan Serialisasi
Microsoft RPC mendukung dua metode untuk mengodekan dan mendekode data, yang secara kolektif disebut menserialisasikan data. Serialisasi berarti bahwa data di-marshalasi ke dan dilepas 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 terenkripsi dari buffer ke memori. Anda dapat menserialisasikan berdasarkan prosedur atau jenis.
Catatan
Istilah pickling umumnya digunakan di antara pengembang untuk menggambarkan serialisasi. Bahkan, sampel Windows SDK berisi direktori yang disebut acar 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 menserialisasikan 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 marshal data Anda ke buffer dan kemudian 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: