Manfaat Menggunakan Ekstensi ADSI
Cara di mana metode ekstensi diimplementasikan tergantung pada penulis ekstensi. Penulis ekstensi bahkan dapat menerapkan metode sepenuhnya di luar lingkup direktori. Misalnya, pengembang perangkat lunak pencadangan dan pemulihan berencana untuk memperluas objek yang disebut komputer. Pengembang harus membuat dua metode: BackUp dan Restore. Metode ini beroperasi dari jarak jauh pada komputer fisik tempat objek komputer di direktori menunjuk. Dengan bertindak sebagai ekstensi, komponen mengakses infrastruktur ADSI dan dilihat oleh klien ADSI sebagai bagian integral dari objek.
Skenario berikut menjelaskan situasi saat membuat ekstensi ke ADSI akan menguntungkan:
Buat ekstensi untuk mengintegrasikan komponen dengan objek direktori. Karena ada objek pengguna di direktori, pengembang SDM mungkin ingin membuat ekstensi ADSI yang mengisi data lain di direktori saat pengguna dibuat.
Buat ekstensi jika komponen memerlukan pencarian direktori. Komponen mungkin memerlukan direktori sebagai titik awal untuk pencarian. Misalnya, saat membuat aplikasi baru. Objek aplikasi, ToolApp, dapat diterbitkan di direktori. Aplikasi Anda mungkin mendukung pemberitahuan status pada kumpulan server email. Anda memutuskan untuk menjadikan aplikasi ini sebagai ekstensi ADSI.
Sekarang, pengguna dapat mencari semua instans ToolApp di direktori. Untuk setiap objek yang dikembalikan, pengguna dapat mengeluarkan panggilan ke NotifyNow(). Aplikasi atau ekstensi dapat memperoleh lebih banyak data objek saat ini di direktori dan memberi tahu setiap server secara asinkron.
Buat ekstensi sebagai persimpangan antara namespace layanan dan model pemrograman. Misalnya, ISV menciptakan model objek baru untuk layanan cetak. Objek printQueue sudah ditentukan dalam direktori. ISV dapat membuat ekstensi ADSI dan mengaitkannya dengan objek printQueue . Pengguna ADSI dapat mengikat objek printQueue dan mulai menggunakan model objek untuk ISV. Dari perspektif klien ADSI, titik persimpangan ini transparan.
Buat ekstensi untuk menyederhanakan tugas. Banyak tugas dalam direktori dapat diselesaikan dengan mencari dan mengatur beberapa atribut dalam objek atau beberapa objek. Dengan membuat satu fungsi untuk memanipulasi beberapa atribut, fungsi ini menyederhanakan pengembangan untuk penulis aplikasi dan skrip.
Untuk klien ADSI, ekstensi memperkaya lingkungan pemrograman ADSI dalam beberapa cara:
- Pengembang yang membuat klien ADSI tidak perlu mempelajari model pemrograman baru. Ekstensi adalah bagian dari ADSI. Mereka akan menggunakan paradigma yang sama untuk mencari, memanipulasi data, dan mengamankan objek.
- Administrator dapat mengelola aplikasi terkait yang diaktifkan direktori menggunakan ekstensi.
- Konsumen ekstensi dapat melihat objek dan ekstensi ADSI sebagai satu objek terintegrasi.
- Komponen yang ada dapat diintegrasikan dengan ADSI, yang memungkinkan ekstensi untuk memanfaatkan investasi yang ada dan menciptakan sinergi antar komponen.
Ekstensi ADSI dirancang dengan tujuan berikut:
- Mudah diimplementasikan. Dengan teknologi Microsoft yang ada saat ini, sistem pengembangan Microsoft Visual C++, dan Pustaka Templat Aktif, ekstensi dapat dibuat dengan cepat.
- Klien melihat satu IDispatch. Dari perspektif penulis skrip dan Automation, metode ekstensi dan properti dicambuk secara transparan menjadi satu objek ADSI.
- Independen. Penulis ekstensi dapat memperluas ADSI secara independen tanpa mengetahui ekstensi yang ada sebelumnya.
Pertimbangkan skenario ini: Pengembang perusahaan atau ISV perlu mengembangkan program pencadangan. Aplikasi cadangan ini memungkinkan administrator untuk mencadangkan semua komputer di unit organisasi. Dengan ekstensi ADSI, skrip berikut dimungkinkan.
Dim ou
On Error Resume Next
Set ou = GetObject("LDAP://OU=Sales, DC=Fabrikam, DC=COM")
If Err.Number<>0 Then
MsgBox("An error has occurred.")
Err.Clear
Set ou = Nothing
Exit Sub
End If
ou.Filter = Array("computer")
For each comp in ou
Debug.Print comp.Get("networkAddress")
Debug.Print comp.LastBackUp
comp.BackUpNow
Next
LastBackUp adalah properti dan BackUpNow adalah metode yang disediakan penulis ekstensi. Kode menunjukkan manfaat untuk konsumen ekstensi dan penyedia. Penulis ekstensi tidak perlu membuat cara baru untuk memfilter, mencari, dan mengakses direktori. Konsumen ekstensi tidak perlu merilis kembali paradigma pemrograman baru. Metode dan properti baru yang disediakan penulis ekstensi dilihat sebagai bagian dari ADSI.