Bagikan melalui


Pedoman Aplikasi Layanan Nama

Saat mengembangkan aplikasi terdistribusi, Anda perlu memberi pengguna aplikasi metode untuk menentukan nama tempat mereka dapat mendaftarkan aplikasi dalam database layanan nama. Metode ini dapat terdiri dari file data, input baris perintah, atau kotak dialog.

Meskipun arsitektur layanan nama RPC mendukung berbagai metode untuk mengatur entri server aplikasi, arsitektur ini dioptimalkan untuk pencarian. Akibatnya, pembaruan yang sering dapat menghambat performa layanan nama dan aplikasi. Untuk menghindari mengekspor informasi yang tidak perlu, pilih desain yang memungkinkan server menentukan apakah informasinya ada di database layanan nama. Selain itu, setiap instans server harus mengekspor ke nama entrinya sendiri. Jika tidak, akan sulit bagi instans untuk mengubah UUID objek atau urutan protokol yang didukung tanpa mengganggu informasi instans lain.

Metode berikut menghindari perangkap ini dan memberikan performa yang baik, apa pun layanan nama yang digunakan jaringan Anda.

Untuk memulainya, rancang aplikasi Anda sehingga pertama kali instans server tertentu dimulai, ia memilih nama entri server yang unik dan menyimpan nama ini di registri bersama dengan informasi konfigurasi aplikasi lainnya. Kemudian, mintalah untuk mengekspor handel pengikatannya dan UUID objek, jika ada, ke entri layanan namanya.

Pemanggilan instans server berikutnya harus memeriksa apakah entri layanan nama ada dan berisi sekumpulan UUID objek dan handel pengikatan yang benar. Entri yang hilang mungkin berarti bahwa administrator menghapusnya, atau bahwa pemadaman listrik menyebabkan informasi layanan nama hilang. Penting untuk memverifikasi bahwa handel pengikatan dalam entri sudah benar; jika administrator menambahkan dukungan TCP/IP ke komputer, misalnya, server RPC akan mendengarkan urutan protokol tersebut saat mereka memanggil RpcServerUseAllProtseqs. Namun, jika server tidak memperbarui entri layanan nama, klien tidak akan diberi tahu bahwa TCP didukung.

Ketika klien mengimpor, klien harus menentukan NULL sebagai nama entri. Menentukan NULL menyebabkan fungsi pustaka RPC Microsoft mencari antarmuka di semua entri layanan nama di domain atau grup kerja komputer klien, sehingga menemukan informasi untuk setiap instans.

Jika Anda menggunakan UUID objek untuk mewakili objek terkenal seperti printer, Anda dapat menggunakan variasi metode ini. Alih-alih mengekspor pengikatan ke satu entri, rancang aplikasi Anda sehingga setiap instans membuat entri untuk setiap objek yang didukung, seperti "/.:/printers/Laser1" dan "/.:/printers/Laser2." Kemudian, minta server mengekspor handel pengikatannya ke setiap entri server, bersama dengan UUID objek yang relevan dengan entri tersebut.

Dalam hal ini, klien dapat mencari sumber daya berdasarkan nama dengan mengimpor dari entri server yang relevan; tidak memerlukan UUID objek sumber daya. Jika memiliki UUID sumber daya tetapi bukan nama, UUID dapat mengimpor dari entri null.